Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,4 @@ jobs:
cache: npm
- run: npm ci
- run: npm run build
- run: npm publish --access public --provenance
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- run: npm publish --provenance
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# otper-cli

[![npm version](https://img.shields.io/npm/v/@ssntpl/otper-cli.svg)](https://www.npmjs.com/package/@ssntpl/otper-cli)
[![License](https://img.shields.io/npm/l/@ssntpl/otper-cli.svg)](LICENSE)
[![npm version](https://img.shields.io/npm/v/otper-cli.svg)](https://www.npmjs.com/package/otper-cli)
[![License](https://img.shields.io/npm/l/otper-cli.svg)](LICENSE)

Command-line interface for [Otper](https://otper.com) — manage boards, lists, cards, labels, and comments from your terminal. Talks directly to the Otper GraphQL API and is also embeddable as a Node library.

```sh
npm install -g @ssntpl/otper-cli
npm install -g otper-cli
otper auth:login
otper board:search "taillog"
otper card:list --list 119
Expand All @@ -29,13 +29,13 @@ otper card:list --list 119
Requires **Node.js 18+**.

```sh
npm install -g @ssntpl/otper-cli
npm install -g otper-cli
```

To use it programmatically in another Node project (no global install needed):

```sh
npm install @ssntpl/otper-cli
npm install otper-cli
```

## Authentication
Expand Down Expand Up @@ -203,10 +203,10 @@ otper card:move 1234 --to-list 138 --format silent && echo moved

## Library usage

`@ssntpl/otper-cli` doubles as a typed library. Useful for openclaw plugins and other Node integrations:
`otper-cli` doubles as a typed library. Useful for openclaw plugins and other Node integrations:

```ts
import { OtperClient, boards, cards, lists } from '@ssntpl/otper-cli';
import { OtperClient, boards, cards, lists } from 'otper-cli';

const client = new OtperClient({
baseUrl: 'https://otper.com',
Expand All @@ -226,7 +226,7 @@ await cards.moveCard(client, '36905', '120'); // → Done
You can also load the user's saved config:

```ts
import { OtperClient, resolveConfig } from '@ssntpl/otper-cli';
import { OtperClient, resolveConfig } from 'otper-cli';

const cfg = resolveConfig(); // throws if not authenticated
const client = OtperClient.fromConfig(cfg);
Expand Down
15 changes: 6 additions & 9 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "@ssntpl/otper-cli",
"name": "otper-cli",
"version": "0.1.0",
"description": "Command-line interface for Otper boards (https://otper.com).",
"author": "SSNTPL <hello@ssntpl.com>",
Expand All @@ -25,21 +25,18 @@
"otper": "./bin/run.js"
},
"files": [
"/bin",
"/dist",
"/oclif.manifest.json",
"/README.md",
"/LICENSE"
"bin/run.js",
"dist",
"oclif.manifest.json"
],
"engines": {
"node": ">=18"
},
"scripts": {
"build": "shx rm -rf dist && tsc -b",
"build": "shx rm -rf dist && tsc",
"lint": "tsc --noEmit",
"prepack": "npm run build && oclif manifest && oclif readme",
"prepack": "npm run build && oclif manifest",
"postpack": "shx rm -f oclif.manifest.json",
"version": "oclif readme && git add README.md",
"dev": "tsx ./bin/dev.ts"
},
"dependencies": {
Expand Down
4 changes: 2 additions & 2 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/**
* Library entry point for embedding @ssntpl/otper-cli inside other Node apps
* Library entry point for embedding otper-cli inside other Node apps
* (for example, openclaw plugins).
*
* Example:
* import { OtperClient, boards } from '@ssntpl/otper-cli';
* import { OtperClient, boards } from 'otper-cli';
* const client = new OtperClient({ baseUrl: 'https://otper.com', token: '...' });
* const board = await boards.getBoard(client, '24');
*/
Expand Down
3 changes: 2 additions & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"incremental": true
"incremental": true,
"tsBuildInfoFile": "./dist/.tsbuildinfo"
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist", "test"]
Expand Down
Loading