@doist/twist-cli 2.17.1 → 2.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +36 -2
- package/dist/lib/skills/create-installer.js +1 -1
- package/dist/lib/skills/create-installer.js.map +1 -1
- package/dist/lib/skills/index.d.ts.map +1 -1
- package/dist/lib/skills/index.js +10 -0
- package/dist/lib/skills/index.js.map +1 -1
- package/package.json +3 -2
- package/scripts/postinstall.js +12 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [2.18.1](https://github.com/Doist/twist-cli/compare/v2.18.0...v2.18.1) (2026-03-25)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* use cross-platform postinstall script ([#102](https://github.com/Doist/twist-cli/issues/102)) ([dabe906](https://github.com/Doist/twist-cli/commit/dabe9069eb106349488ae79b1b0e92f21fae979b))
|
|
7
|
+
|
|
8
|
+
# [2.18.0](https://github.com/Doist/twist-cli/compare/v2.17.1...v2.18.0) (2026-03-25)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* add new agent skills ([#101](https://github.com/Doist/twist-cli/issues/101)) ([37fa53f](https://github.com/Doist/twist-cli/commit/37fa53f899a9031c957a81d6266ad4073023440e))
|
|
14
|
+
|
|
1
15
|
## [2.17.1](https://github.com/Doist/twist-cli/compare/v2.17.0...v2.17.1) (2026-03-23)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -12,7 +12,41 @@ A command-line interface for Twist.
|
|
|
12
12
|
> npm install -g @doist/twist-cli
|
|
13
13
|
> ```
|
|
14
14
|
|
|
15
|
-
###
|
|
15
|
+
### Agent Skills
|
|
16
|
+
|
|
17
|
+
Install skills for your coding agent:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
tw skill install claude-code
|
|
21
|
+
tw skill install codex
|
|
22
|
+
tw skill install cursor
|
|
23
|
+
tw skill install gemini
|
|
24
|
+
tw skill install pi
|
|
25
|
+
tw skill install universal
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Skills are installed to `~/<agent-dir>/skills/twist-cli/SKILL.md` (e.g. `~/.claude/` for claude-code, `~/.agents/` for universal, etc.). When updating the CLI, installed skills are updated automatically. The `universal` agent is compatible with Amp, OpenCode, and other agents that read from `~/.agents/`.
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
tw skill list
|
|
32
|
+
tw skill uninstall <agent>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Uninstallation
|
|
36
|
+
|
|
37
|
+
First, remove any installed agent skills:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
tw skill uninstall <agent>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Then uninstall the CLI:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npm uninstall -g @doist/twist-cli
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Local Setup
|
|
16
50
|
|
|
17
51
|
```bash
|
|
18
52
|
git clone https://github.com/Doist/twist-cli.git
|
|
@@ -98,7 +132,7 @@ Restart your shell or source your config file to activate. To remove:
|
|
|
98
132
|
tw completion uninstall
|
|
99
133
|
```
|
|
100
134
|
|
|
101
|
-
|
|
135
|
+
## Machine-readable output
|
|
102
136
|
|
|
103
137
|
All list/view commands support `--json` and `--ndjson` flags for scripting:
|
|
104
138
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-installer.js","sourceRoot":"","sources":["../../../src/lib/skills/create-installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAS7D,MAAM,UAAU,eAAe,CAAC,MAAuB;IACnD,SAAS,cAAc,CAAC,OAA4B;QAChD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;QACtD,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;IACvE,CAAC;IAED,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAE/B,cAAc;QAEd,KAAK,CAAC,WAAW,CAAC,OAA4B;YAC1C,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;gBACnC,OAAO,IAAI,CAAA;YACf,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,KAAK,CAAA;YAChB,CAAC;QACL,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,OAAuB;YACjC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"create-installer.js","sourceRoot":"","sources":["../../../src/lib/skills/create-installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/skills/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/skills/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA+B1D,CAAA;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAEhE;AAED,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAerE;AAED,YAAY,EACR,SAAS,EACT,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,aAAa,GAChB,MAAM,YAAY,CAAA"}
|
package/dist/lib/skills/index.js
CHANGED
|
@@ -20,6 +20,16 @@ export const skillInstallers = {
|
|
|
20
20
|
description: 'Gemini CLI skill for Twist CLI',
|
|
21
21
|
dirName: '.gemini',
|
|
22
22
|
}),
|
|
23
|
+
pi: createInstaller({
|
|
24
|
+
name: 'pi',
|
|
25
|
+
description: 'Pi skill for Twist CLI',
|
|
26
|
+
dirName: '.pi',
|
|
27
|
+
}),
|
|
28
|
+
universal: createInstaller({
|
|
29
|
+
name: 'universal',
|
|
30
|
+
description: 'Universal agent skill for Twist CLI',
|
|
31
|
+
dirName: '.agents',
|
|
32
|
+
}),
|
|
23
33
|
};
|
|
24
34
|
export function getInstaller(name) {
|
|
25
35
|
return skillInstallers[name] ?? null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/skills/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGvD,MAAM,CAAC,MAAM,eAAe,GAAmC;IAC3D,aAAa,EAAE,eAAe,CAAC;QAC3B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,SAAS;KACrB,CAAC;IACF,KAAK,EAAE,eAAe,CAAC;QACnB,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,QAAQ;KACpB,CAAC;IACF,MAAM,EAAE,eAAe,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,SAAS;KACrB,CAAC;IACF,MAAM,EAAE,eAAe,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,SAAS;KACrB,CAAC;CACL,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACrC,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,cAAc;IAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAc;IAC3C,MAAM,MAAM,GAAgB,EAAE,CAAA;IAE9B,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACxD,MAAM,CAAC,IAAI,CAAC;YACR,IAAI;YACJ,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,SAAS;YACT,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;SAC/D,CAAC,CAAA;IACN,CAAC;IAED,OAAO,MAAM,CAAA;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/skills/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGvD,MAAM,CAAC,MAAM,eAAe,GAAmC;IAC3D,aAAa,EAAE,eAAe,CAAC;QAC3B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,SAAS;KACrB,CAAC;IACF,KAAK,EAAE,eAAe,CAAC;QACnB,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,QAAQ;KACpB,CAAC;IACF,MAAM,EAAE,eAAe,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,SAAS;KACrB,CAAC;IACF,MAAM,EAAE,eAAe,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,SAAS;KACrB,CAAC;IACF,EAAE,EAAE,eAAe,CAAC;QAChB,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,KAAK;KACjB,CAAC;IACF,SAAS,EAAE,eAAe,CAAC;QACvB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,SAAS;KACrB,CAAC;CACL,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACrC,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,cAAc;IAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAc;IAC3C,MAAM,MAAM,GAAgB,EAAE,CAAA;IAE9B,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACxD,MAAM,CAAC,IAAI,CAAC;YACR,IAAI;YACJ,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,SAAS;YACT,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;SAC/D,CAAC,CAAA;IACN,CAAC;IAED,OAAO,MAAM,CAAA;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@doist/twist-cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.18.1",
|
|
4
4
|
"description": "TypeScript CLI for Twist",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"lint:check": "biome check .",
|
|
17
17
|
"format": "biome format --write . && prettier --write '**/*.{md,yml,yaml,css}'",
|
|
18
18
|
"format:check": "biome check --formatter-enabled=true . && prettier --check '**/*.{md,yml,yaml,css}'",
|
|
19
|
-
"postinstall": "node
|
|
19
|
+
"postinstall": "node scripts/postinstall.js",
|
|
20
20
|
"test": "vitest run",
|
|
21
21
|
"test:watch": "vitest"
|
|
22
22
|
},
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
},
|
|
46
46
|
"files": [
|
|
47
47
|
"dist",
|
|
48
|
+
"scripts",
|
|
48
49
|
"CHANGELOG.md"
|
|
49
50
|
],
|
|
50
51
|
"dependencies": {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Postinstall script that updates installed skills after package installation.
|
|
5
|
+
* Silently succeeds when dist/ hasn't been built yet (e.g., during local development).
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import('../dist/postinstall.js').catch((err) => {
|
|
9
|
+
if (err.code !== 'ERR_MODULE_NOT_FOUND') {
|
|
10
|
+
console.error(err)
|
|
11
|
+
}
|
|
12
|
+
})
|