@wirecat/cli-template 0.1.0 → 0.1.2

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.
Files changed (54) hide show
  1. package/.github/workflows/ci.yml +3 -3
  2. package/CHANGELOG.md +26 -0
  3. package/CLAUDE.md +3 -3
  4. package/README.md +14 -11
  5. package/SECURITY.md +4 -4
  6. package/config/wirecat/biome.base.json +17 -0
  7. package/config/wirecat/manifest.json +6 -3
  8. package/config/wirecat/no-sqlite-driver.grit +15 -0
  9. package/contracts/help.snap +5 -5
  10. package/contracts/mcp-tools.json +5 -5
  11. package/contracts/plan.json +1 -1
  12. package/cspell.json +1 -1
  13. package/dist/bin/clidev.d.ts +3 -0
  14. package/dist/bin/clidev.d.ts.map +1 -0
  15. package/dist/bin/{app.js → clidev.js} +1 -1
  16. package/dist/bin/clidev.js.map +1 -0
  17. package/dist/identity.d.ts +1 -1
  18. package/dist/identity.d.ts.map +1 -1
  19. package/dist/identity.js +6 -6
  20. package/dist/identity.js.map +1 -1
  21. package/dist/version.d.ts +1 -1
  22. package/dist/version.js +1 -1
  23. package/docs/commands.md +37 -37
  24. package/docs/configuration.md +5 -5
  25. package/docs/dev/skills/release/SKILL.md +2 -2
  26. package/docs/dev/test-matrix.md +1 -1
  27. package/docs/index.md +2 -2
  28. package/docs/installation.md +4 -4
  29. package/docs/meta.json +1 -1
  30. package/docs/security.md +3 -3
  31. package/docs/troubleshooting.md +4 -4
  32. package/docs/usage.md +4 -4
  33. package/{.gitignore → gitignore} +2 -0
  34. package/kit/README.md +18 -10
  35. package/kit/dist/manifest.js +2 -0
  36. package/kit/dist/new.js +14 -5
  37. package/kit/dist/rename.js +4 -3
  38. package/kit/dist/source.js +30 -6
  39. package/kit/dist/upgrade.js +8 -1
  40. package/package.json +7 -6
  41. package/scripts/smoke.ts +8 -8
  42. package/skills/clidev-cli/SKILL.md +21 -0
  43. package/src/identity.ts +6 -6
  44. package/src/mcp.test.ts +4 -4
  45. package/src/program.test.ts +2 -2
  46. package/src/roots.test.ts +2 -2
  47. package/src/testing/sandbox.ts +7 -7
  48. package/src/version.ts +1 -1
  49. package/template.json +6 -1
  50. package/dist/bin/app.d.ts +0 -3
  51. package/dist/bin/app.d.ts.map +0 -1
  52. package/dist/bin/app.js.map +0 -1
  53. package/skills/app-cli/SKILL.md +0 -21
  54. /package/src/bin/{app.ts → clidev.ts} +0 -0
@@ -24,11 +24,11 @@ jobs:
24
24
  pack: ${{ inputs.pack || false }}
25
25
  bun-run: pnpm build && pnpm smoke:bun
26
26
  cli: true
27
- bin: app
27
+ bin: clidev
28
28
  platforms: ${{ inputs.pack || inputs.platforms || github.event_name == 'workflow_dispatch' }}
29
29
  platform-run: |
30
- node dist/bin/app.js commands --json >/dev/null
31
- node dist/bin/app.js doctor --json >/dev/null
30
+ node dist/bin/clidev.js commands --json >/dev/null
31
+ node dist/bin/clidev.js doctor --json >/dev/null
32
32
  # No version is on npm before the first release, so there is no earlier package to upgrade from.
33
33
  skip: |
34
34
  contracts:upgrade
package/CHANGELOG.md CHANGED
@@ -3,6 +3,32 @@
3
3
  Notable changes to `@wirecat/cli-template`. One section per version, newest first; versions follow
4
4
  [semantic versioning](https://semver.org), so before `1.0.0` the skeleton may still change.
5
5
 
6
+ ## 0.1.2 — 25.10.2026
7
+
8
+ ### Changed — may break callers
9
+
10
+ - **The template's placeholder is `clidev`, not `app`.** Readers took `app` for a real command. The template's files
11
+ now say `clidev`, `clidev-cli`, `@wirecat/clidev-cli` and `WireCatLabs/clidev-cli`, and `new` replaces them with
12
+ your CLI's names as before. `clidev` is not cli-base's `cli-dev` tool, which `new` leaves alone. A CLI made from
13
+ 0.1.0 or 0.1.1 upgrades cleanly: `upgrade` renames each template version with its own placeholders.
14
+
15
+ ### Fixed
16
+
17
+ - **A CLI made by `new` has its command.** Its `package.json` had `"bin": {}`, so `npm install -g` installed nothing to
18
+ run. `new` now writes `"bin": { "<command>": "dist/bin/<command>.js" }`.
19
+
20
+ ## 0.1.1 — 25.10.2026
21
+
22
+ ### Fixed
23
+
24
+ - **`npx @wirecat/cli-template new` works.** It stopped with `template.json lists ".gitignore", but the package has
25
+ no such file`, because npm renames `.gitignore` when it installs a package. The package now ships the file under
26
+ another name, and `new` and `upgrade` write it as `.gitignore`.
27
+ - **`new` and `upgrade` work on Windows.** `new` now marks `bin/release` and the other scripts as executable in
28
+ git, so a CLI made on Windows can still run them on Linux and macOS. `upgrade` no longer reads every file as
29
+ edited when git checked it out with Windows line endings, and it downloads the earlier template version without
30
+ needing a shell for `npm`.
31
+
6
32
  ## 0.1.0 — 25.10.2026
7
33
 
8
34
  ### Added
package/CLAUDE.md CHANGED
@@ -1,14 +1,14 @@
1
- # app — working rules
1
+ # clidev — working rules
2
2
 
3
3
  The [WireCat CLI standards](node_modules/@wirecat/cli-base/docs/standards/README.md) apply here and win over this
4
- file; it keeps only the rules of `app` itself. Start with [AGENTS.md](AGENTS.md).
4
+ file; it keeps only the rules of `clidev` itself. Start with [AGENTS.md](AGENTS.md).
5
5
 
6
6
  **What cli-core already does, this repository does not do again** — commands, the store, search, MCP and the
7
7
  permissions. A gap in cli-core is fixed in cli-core.
8
8
 
9
9
  ## Local rules
10
10
 
11
- None yet. Add a rule here only when it holds for `app` alone, and link the handbook rule it narrows.
11
+ None yet. Add a rule here only when it holds for `clidev` alone, and link the handbook rule it narrows.
12
12
 
13
13
  ## Private working folder
14
14
 
package/README.md CHANGED
@@ -1,6 +1,9 @@
1
- # app
1
+ # clidev
2
2
 
3
- `app` is a command-line tool started from [cli-template](https://github.com/WireCatLabs/cli-template), the kit for
3
+ `clidev` is a placeholder. `npx @wirecat/cli-template new` replaces it with your CLI's command word, and
4
+ `clidev-cli` with your CLI's name. It is not `cli-dev`, the developer tool in cli-base.
5
+
6
+ `clidev` is a command-line tool started from [cli-template](https://github.com/WireCatLabs/cli-template), the kit for
4
7
  new WireCat CLIs. It is a working skeleton: the shared root commands, the settings, the agent skill and the MCP
5
8
  server run, and every check of the WireCat standards passes. It does not connect to a service yet. Replace this page
6
9
  with the tool's own introduction once it does.
@@ -16,26 +19,26 @@ npx @wirecat/cli-template new cal-cli --command cal --package @wirecat/cal-cli -
16
19
  ```sh
17
20
  pnpm install
18
21
  pnpm build
19
- node dist/bin/app.js personal doctor
22
+ node dist/bin/clidev.js personal doctor
20
23
  ```
21
24
 
22
25
  `personal` is the profile: a name you choose for one account. Every command that uses an account starts with it, and
23
- none is ever assumed. `APP_PROFILE=personal` does the same for a whole shell session.
26
+ none is ever assumed. `CLIDEV_PROFILE=personal` does the same for a whole shell session.
24
27
 
25
28
  ## What you can do
26
29
 
27
30
  | Command | What it does |
28
31
  | --- | --- |
29
- | `app personal doctor` | Checks this installation: version, paths, settings and profiles, without the network |
30
- | `app commands --json` | Prints every command as JSON, for agents and scripts |
31
- | `app personal config show` | Shows each setting and where it came from |
32
- | `app skill install` | Installs the agent skill for Claude Code, Codex and Gemini CLI |
33
- | `app personal mcp` | Serves the profile's commands to an AI agent over MCP |
34
- | `app upgrade --check` | Says whether a newer version is on npm |
32
+ | `clidev personal doctor` | Checks this installation: version, paths, settings and profiles, without the network |
33
+ | `clidev commands --json` | Prints every command as JSON, for agents and scripts |
34
+ | `clidev personal config show` | Shows each setting and where it came from |
35
+ | `clidev skill install` | Installs the agent skill for Claude Code, Codex and Gemini CLI |
36
+ | `clidev personal mcp` | Serves the profile's commands to an AI agent over MCP |
37
+ | `clidev upgrade --check` | Says whether a newer version is on npm |
35
38
 
36
39
  ## For AI agents
37
40
 
38
- `app skill show` prints the rules an agent follows with this tool. `app personal mcp` serves every command to an
41
+ `clidev skill show` prints the rules an agent follows with this tool. `clidev personal mcp` serves every command to an
39
42
  agent, writes included: the profile's permissions decide what runs. See [MCP and permissions](docs/usage.md#agents).
40
43
 
41
44
  ## Documentation
package/SECURITY.md CHANGED
@@ -3,13 +3,13 @@
3
3
  Please report a security problem privately — never in a public issue:
4
4
 
5
5
  - by email: [hello@wirecat.dev](mailto:hello@wirecat.dev);
6
- - or through [GitHub's private vulnerability reporting](https://github.com/WireCatLabs/app-cli/security/advisories/new).
6
+ - or through [GitHub's private vulnerability reporting](https://github.com/WireCatLabs/clidev-cli/security/advisories/new).
7
7
 
8
- Say what you saw, how to repeat it, and the version (`app --version`). Never send a token, a password or anyone's
8
+ Say what you saw, how to repeat it, and the version (`clidev --version`). Never send a token, a password or anyone's
9
9
  private content.
10
10
 
11
- What `app` keeps on your computer: the [shared security page](https://wirecat.dev/en/docs/security) and
11
+ What `clidev` keeps on your computer: the [shared security page](https://wirecat.dev/en/docs/security) and
12
12
  [docs/security.md](docs/security.md).
13
13
 
14
- Security audits of `app` follow the shared
14
+ Security audits of `clidev` follow the shared
15
15
  [security method](https://github.com/WireCatLabs/cli-testing/tree/main/docs/security) in cli-testing.
@@ -120,6 +120,23 @@
120
120
  "!**/fixtures/**"
121
121
  ]
122
122
  },
123
+ {
124
+ "path": "./config/wirecat/no-sqlite-driver.grit",
125
+ "includes": [
126
+ "**",
127
+ "!**/*.test.*",
128
+ "!**/*.spec.*",
129
+ "!**/test/**",
130
+ "!**/tests/**",
131
+ "!**/__tests__/**",
132
+ "!**/fixtures/**",
133
+ "!**/testing/**",
134
+ "!**/scripts/**",
135
+ "!**/bench/**",
136
+ "!**/performance/**",
137
+ "!**/contracts/**"
138
+ ]
139
+ },
123
140
  {
124
141
  "path": "./config/wirecat/no-unbounded-spread.grit",
125
142
  "includes": [
@@ -2,7 +2,7 @@
2
2
  "source": "https://github.com/WireCatLabs/community",
3
3
  "revision": "2b0f124f6375939bba10c28a7f091923323e9a13",
4
4
  "files": {
5
- "biome.base.json": "5d265b71896cdb0454260fa8d897bd517f61de512f16831e5d5273f29775f9f3",
5
+ "biome.base.json": "63760337a2e68522ad75e0ba163635785a01ec34dbd3cf338a09a4145932cf2a",
6
6
  "cspell.json": "8241122ed4d461976a838099b265ef8f2689a066608257b6fdc250d9b49b58aa",
7
7
  "lefthook.yml": "2f65a2e3103006d43f6d6f0a07ab333c132286157763222a59a5a22676acd391",
8
8
  "markdownlint.json": "5ed7d6980054c539f3f3c0e47a090f1a725b15be2c486a769a836bc6cd48ad2d",
@@ -14,7 +14,8 @@
14
14
  "release-lock-info.mjs": "4abab1f01ceee7d4c709222e923c9a6fc634bcf7b8b64d745a9ac495993310e0",
15
15
  "release-lock.sh": "bef364092c4ab595f3b9b4130e23570c8306223228cdfa3e9384230f3b7f4a49",
16
16
  "rumdl.toml": "048b929176f13234324f5825d1e811397f1491b9cb6684a1953e268e2c2ed863",
17
- "check.mjs": "34b266411eaab7707030915f645308e86784b1574b21fa44ca974861a90c9ce1"
17
+ "check.mjs": "34b266411eaab7707030915f645308e86784b1574b21fa44ca974861a90c9ce1",
18
+ "no-sqlite-driver.grit": "19e1f510a88ddd9df44d6db43c1c9b603c3e5bbec03a3f65305b72eac7f09389"
18
19
  },
19
20
  "packageManager": "pnpm@11.20.0",
20
21
  "node": ">=22",
@@ -29,6 +30,8 @@
29
30
  },
30
31
  "fileRevisions": {
31
32
  "release-lock.sh": "49e630a99d758e3e113749bef2049b258c7262e3",
32
- "release-lock-info.mjs": "49e630a99d758e3e113749bef2049b258c7262e3"
33
+ "release-lock-info.mjs": "49e630a99d758e3e113749bef2049b258c7262e3",
34
+ "biome.base.json": "06c612c609d870f0ba00010612e0413f65340408",
35
+ "no-sqlite-driver.grit": "06c612c609d870f0ba00010612e0413f65340408"
33
36
  }
34
37
  }
@@ -0,0 +1,15 @@
1
+ language js
2
+
3
+ or {
4
+ `import $_ from $source`,
5
+ `import $source`,
6
+ `export { $_ } from $source`,
7
+ `export * from $source`,
8
+ `export * as $_ from $source`,
9
+ `export type { $_ } from $source`,
10
+ `import($source)`,
11
+ `require($source)`
12
+ } where {
13
+ $source <: r"^[\"'`](?:node:sqlite|bun:sqlite|better-sqlite3|drizzle-orm)(?:/.*)?[\"'`]$",
14
+ register_diagnostic(span=$source, message="The shared store belongs to cli-core (WC-STORE-5): a CLI opens no SQLite driver and writes no SQL against it. Ask cli-core for a store method.", severity="error")
15
+ }
@@ -1,6 +1,6 @@
1
- app — a new WireCat CLI, started from cli-template
1
+ clidev — a new WireCat CLI, started from cli-template
2
2
 
3
- Usage: app <profile> <command> [options]
3
+ Usage: clidev <profile> <command> [options]
4
4
  Account commands start with your profile, a name you choose; none is ever assumed.
5
5
 
6
6
  Works with:
@@ -11,6 +11,6 @@ Works with:
11
11
  drive Google Drive and Docs as local text, searchable with your messages
12
12
  memo context <person> one person across messengers, mail, notes and meetings
13
13
 
14
- Next: app commands every command, by section
15
- app help options output, offline, timeouts, dry run
16
- For agents: app skill show rules and the discovery loop
14
+ Next: clidev commands every command, by section
15
+ clidev help options output, offline, timeouts, dry run
16
+ For agents: clidev skill show rules and the discovery loop
@@ -18,7 +18,7 @@
18
18
  "type": "object"
19
19
  },
20
20
  "command": {
21
- "description": "a command app_tools_search returned: \"messages list\"",
21
+ "description": "a command clidev_tools_search returned: \"messages list\"",
22
22
  "minLength": 1,
23
23
  "type": "string"
24
24
  }
@@ -26,7 +26,7 @@
26
26
  "required": ["command"],
27
27
  "type": "object"
28
28
  },
29
- "name": "app_read",
29
+ "name": "clidev_read",
30
30
  "outputSchema": {
31
31
  "$schema": "https://json-schema.org/draft/2020-12/schema",
32
32
  "anyOf": [
@@ -464,7 +464,7 @@
464
464
  "required": [],
465
465
  "type": "object"
466
466
  },
467
- "name": "app_tools_search",
467
+ "name": "clidev_tools_search",
468
468
  "outputSchema": {
469
469
  "$schema": "https://json-schema.org/draft/2020-12/schema",
470
470
  "properties": {},
@@ -492,7 +492,7 @@
492
492
  "type": "object"
493
493
  },
494
494
  "command": {
495
- "description": "a command app_tools_search returned: \"messages list\"",
495
+ "description": "a command clidev_tools_search returned: \"messages list\"",
496
496
  "minLength": 1,
497
497
  "type": "string"
498
498
  }
@@ -500,7 +500,7 @@
500
500
  "required": ["command"],
501
501
  "type": "object"
502
502
  },
503
- "name": "app_write",
503
+ "name": "clidev_write",
504
504
  "outputSchema": {
505
505
  "$schema": "https://json-schema.org/draft/2020-12/schema",
506
506
  "anyOf": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "command": "node",
3
- "args": ["../dist/bin/app.js"],
3
+ "args": ["../dist/bin/clidev.js"],
4
4
  "cases": [
5
5
  {
6
6
  "id": "help",
package/cspell.json CHANGED
@@ -6,5 +6,5 @@
6
6
  "@cspell/dict-ru_ru/cspell-ext.json"
7
7
  ],
8
8
  "ignorePaths": ["docs/dev/**", "CHANGELOG.md"],
9
- "words": ["cyrillic", "latin", "wirecat"]
9
+ "words": ["clidev", "cyrillic", "latin", "wirecat"]
10
10
  }
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=clidev.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clidev.d.ts","sourceRoot":"","sources":["../../src/bin/clidev.ts"],"names":[],"mappings":""}
@@ -11,4 +11,4 @@ try {
11
11
  finally {
12
12
  stopCatching();
13
13
  }
14
- //# sourceMappingURL=app.js.map
14
+ //# sourceMappingURL=clidev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clidev.js","sourceRoot":"","sources":["../../src/bin/clidev.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,kBAAkB,EAAE,CAAA;AACpB,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAA;AACxG,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;AAC7C,IAAI,CAAC;IACH,OAAO,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACrD,CAAC;QAAS,CAAC;IACT,YAAY,EAAE,CAAA;AAChB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { AppIdentity } from "@wirecat/cli-core/cli";
2
- export declare const PACKAGE = "@wirecat/app-cli";
2
+ export declare const PACKAGE = "@wirecat/clidev-cli";
3
3
  export declare const IDENTITY: AppIdentity;
4
4
  export declare const SKILL: import("url").URL;
5
5
  //# sourceMappingURL=identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGxD,eAAO,MAAM,OAAO,qBAAqB,CAAA;AAEzC,eAAO,MAAM,QAAQ,EAAE,WAOtB,CAAA;AAED,eAAO,MAAM,KAAK,mBAAyD,CAAA"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGxD,eAAO,MAAM,OAAO,wBAAwB,CAAA;AAE5C,eAAO,MAAM,QAAQ,EAAE,WAOtB,CAAA;AAED,eAAO,MAAM,KAAK,mBAA4D,CAAA"}
package/dist/identity.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import { VERSION } from "./version.js";
2
- export const PACKAGE = "@wirecat/app-cli";
2
+ export const PACKAGE = "@wirecat/clidev-cli";
3
3
  export const IDENTITY = {
4
- command: "app",
5
- appName: "app-cli",
6
- envPrefix: "APP",
4
+ command: "clidev",
5
+ appName: "clidev-cli",
6
+ envPrefix: "CLIDEV",
7
7
  description: "a new WireCat CLI, started from cli-template",
8
8
  version: VERSION,
9
- issues: "https://github.com/WireCatLabs/app-cli/issues/new",
9
+ issues: "https://github.com/WireCatLabs/clidev-cli/issues/new",
10
10
  };
11
- export const SKILL = new URL("../skills/app-cli/SKILL.md", import.meta.url);
11
+ export const SKILL = new URL("../skills/clidev-cli/SKILL.md", import.meta.url);
12
12
  //# sourceMappingURL=identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,OAAO,GAAG,kBAAkB,CAAA;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAgB;IACnC,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,KAAK;IAChB,WAAW,EAAE,8CAA8C;IAC3D,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,mDAAmD;CAC5D,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,4BAA4B,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,OAAO,GAAG,qBAAqB,CAAA;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAgB;IACnC,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,YAAY;IACrB,SAAS,EAAE,QAAQ;IACnB,WAAW,EAAE,8CAA8C;IAC3D,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,sDAAsD;CAC/D,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,+BAA+B,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.1.0";
1
+ export declare const VERSION = "0.1.2";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.1.0";
1
+ export const VERSION = "0.1.2";
2
2
  //# sourceMappingURL=version.js.map
package/docs/commands.md CHANGED
@@ -3,9 +3,9 @@
3
3
  # Commands
4
4
 
5
5
  Every command, option and exit code, generated from the program itself. For the same list as JSON, run
6
- `app commands --json`.
6
+ `clidev commands --json`.
7
7
 
8
- **The first word is the profile**, a name you choose: `app personal doctor`. `APP_PROFILE`
8
+ **The first word is the profile**, a name you choose: `clidev personal doctor`. `CLIDEV_PROFILE`
9
9
  does the same for a whole shell session. No profile is assumed: a command that uses an account stops without one and
10
10
  lists the profiles on this computer.
11
11
 
@@ -32,16 +32,16 @@ lists the profiles on this computer.
32
32
  | `--record` | keep this run — ids and timings, never message content. |
33
33
  | `--no-record` | do not keep it, whatever the configuration says. |
34
34
 
35
- ## `app commands`
35
+ ## `clidev commands`
36
36
 
37
37
  every command by section; --json prints its contract, one path per call
38
38
 
39
- ### `app commands info`
39
+ ### `clidev commands info`
40
40
 
41
41
  one command contract, or all schemas, error reasons and explicit overrides
42
42
 
43
43
  ```sh
44
- app commands info [path]
44
+ clidev commands info [path]
45
45
  ```
46
46
 
47
47
  | Argument | | What it is |
@@ -50,30 +50,30 @@ app commands info [path]
50
50
 
51
51
  **Returns:** one command contract, or all schemas, error reasons and explicit overrides
52
52
 
53
- **Example:** `app commands info messages list`
53
+ **Example:** `clidev commands info messages list`
54
54
 
55
- ## `app doctor`
55
+ ## `clidev doctor`
56
56
 
57
57
  check this installation: version, paths, config, profiles; no keyring or network
58
58
 
59
59
  ```sh
60
- app doctor
60
+ clidev doctor
61
61
  ```
62
62
 
63
63
  **Returns:** check this installation: version, paths, config, profiles; no keyring or network
64
64
 
65
- **Example:** `app personal doctor`, `app personal doctor --json`
65
+ **Example:** `clidev personal doctor`, `clidev personal doctor --json`
66
66
 
67
- ## `app skill`
67
+ ## `clidev skill`
68
68
 
69
69
  the instructions an agent is given for this tool
70
70
 
71
- ### `app skill show`
71
+ ### `clidev skill show`
72
72
 
73
- print SKILL.md — `app skill install` puts it where Claude Code, Codex and Gemini CLI look for it
73
+ print SKILL.md — `clidev skill install` puts it where Claude Code, Codex and Gemini CLI look for it
74
74
 
75
75
  ```sh
76
- app skill show [name]
76
+ clidev skill show [name]
77
77
  ```
78
78
 
79
79
  | Argument | | What it is |
@@ -82,16 +82,16 @@ app skill show [name]
82
82
 
83
83
  **Returns:** print the tool's instructions for AI agents
84
84
 
85
- **Example:** `app skill show`, `app skill show follow-ups`
85
+ **Example:** `clidev skill show`, `clidev skill show follow-ups`
86
86
 
87
- ### `app skill install`
87
+ ### `clidev skill install`
88
88
 
89
- write SKILL.md to \~/.claude/skills/app-cli/ (Claude Code) and \~/.agents/skills/app-cli/ (Codex, Gemini CLI)
89
+ write SKILL.md to \~/.claude/skills/clidev-cli/ (Claude Code) and \~/.agents/skills/clidev-cli/ (Codex, Gemini CLI)
90
90
 
91
91
  **Changes something on this computer only.**
92
92
 
93
93
  ```sh
94
- app skill install [options]
94
+ clidev skill install [options]
95
95
  ```
96
96
 
97
97
  | Option | What it does |
@@ -100,50 +100,50 @@ app skill install [options]
100
100
 
101
101
  **Returns:** install the tool's instructions for AI agents
102
102
 
103
- **Example:** `app skill install --for agents`
103
+ **Example:** `clidev skill install --for agents`
104
104
 
105
- ## `app mcp`
105
+ ## `clidev mcp`
106
106
 
107
- serve this profile's commands to an agent over MCP, on stdin and stdout, writes included; the profile's permissions decide — `claude mcp add app -- app personal mcp`
107
+ serve this profile's commands to an agent over MCP, on stdin and stdout, writes included; the profile's permissions decide — `claude mcp add clidev -- clidev personal mcp`
108
108
 
109
109
  **Changes something in the service.**
110
110
 
111
111
  ```sh
112
- app mcp
112
+ clidev mcp
113
113
  ```
114
114
 
115
115
  **Returns:** serve this profile's commands to an AI agent
116
116
 
117
- **Example:** `app personal mcp`
117
+ **Example:** `clidev personal mcp`
118
118
 
119
- ## `app upgrade`
119
+ ## `clidev upgrade`
120
120
 
121
- upgrade app with the package manager that installed it; --check only looks
121
+ upgrade clidev with the package manager that installed it; --check only looks
122
122
 
123
123
  **Changes something on this computer only.**
124
124
 
125
125
  ```sh
126
- app upgrade [options]
126
+ clidev upgrade [options]
127
127
  ```
128
128
 
129
129
  | Option | What it does |
130
130
  |---|---|
131
131
  | `--check` | say whether a newer version exists, and install nothing. |
132
132
 
133
- **Returns:** upgrade app with the package manager that installed it; --check only looks
133
+ **Returns:** upgrade clidev with the package manager that installed it; --check only looks
134
134
 
135
- **Example:** `app upgrade --check`, `app upgrade`
135
+ **Example:** `clidev upgrade --check`, `clidev upgrade`
136
136
 
137
- ## `app config`
137
+ ## `clidev config`
138
138
 
139
139
  the settings in force, and where each one came from
140
140
 
141
- ### `app config show`
141
+ ### `clidev config show`
142
142
 
143
143
  the profile, the profiles that exist, and each setting with where it came from
144
144
 
145
145
  ```sh
146
- app config show [options]
146
+ clidev config show [options]
147
147
  ```
148
148
 
149
149
  | Option | What it does |
@@ -152,16 +152,16 @@ app config show [options]
152
152
 
153
153
  **Returns:** the profile, the profiles that exist, and each setting with where it came from
154
154
 
155
- **Example:** `app personal config show`
155
+ **Example:** `clidev personal config show`
156
156
 
157
- ### `app config set`
157
+ ### `clidev config set`
158
158
 
159
159
  save a setting to the configuration file
160
160
 
161
161
  **Changes something on this computer only.**
162
162
 
163
163
  ```sh
164
- app config set <setting> <value> [options]
164
+ clidev config set <setting> <value> [options]
165
165
  ```
166
166
 
167
167
  | Argument | | What it is |
@@ -177,16 +177,16 @@ app config set <setting> <value> [options]
177
177
 
178
178
  **Returns:** save a setting to the configuration file
179
179
 
180
- **Example:** `app personal config set limit 20`
180
+ **Example:** `clidev personal config set limit 20`
181
181
 
182
- ### `app config unset`
182
+ ### `clidev config unset`
183
183
 
184
184
  remove a setting from the configuration file
185
185
 
186
186
  **Changes something on this computer only.**
187
187
 
188
188
  ```sh
189
- app config unset <setting> [options]
189
+ clidev config unset <setting> [options]
190
190
  ```
191
191
 
192
192
  | Argument | | What it is |
@@ -201,7 +201,7 @@ app config unset <setting> [options]
201
201
 
202
202
  **Returns:** remove a setting from the configuration file
203
203
 
204
- **Example:** `app personal config unset limit`
204
+ **Example:** `clidev personal config unset limit`
205
205
 
206
206
  ## Exit codes
207
207
 
@@ -1,12 +1,12 @@
1
1
  # Settings
2
2
 
3
- Settings live in one file, `config.json`, in the folder `app personal doctor` shows. Each profile has its own part,
3
+ Settings live in one file, `config.json`, in the folder `clidev personal doctor` shows. Each profile has its own part,
4
4
  and `defaults` apply to every profile. This page lists how to see and change them.
5
5
 
6
6
  ```sh
7
- app personal config show
8
- app personal config set limit 50
9
- app personal config unset limit
7
+ clidev personal config show
8
+ clidev personal config set limit 50
9
+ clidev personal config unset limit
10
10
  ```
11
11
 
12
12
  `config show` lists each setting and where it came from: the file, a variable or the default.
@@ -14,5 +14,5 @@ app personal config unset limit
14
14
  ## Permissions
15
15
 
16
16
  `permissions` decides what a command may do for this profile: `allow`, `ask`, `readonly` or `deny`, per permission
17
- key. Over MCP there is no one to ask, so `ask` lets the command run. `APP_READ_ONLY=1` refuses every write, whatever
17
+ key. Over MCP there is no one to ask, so `ask` lets the command run. `CLIDEV_READ_ONLY=1` refuses every write, whatever
18
18
  the permissions say.
@@ -15,9 +15,9 @@ and runs `bin/release`.
15
15
  left; report anything else and fix it in the release pull request.
16
16
  3. **The changelog.** Write `## Unreleased` under the handbook's headings, each at most once: `Added`,
17
17
  `Changed — may break callers`, `Fixed`, `Security`, `Removed` (`WC-DOC-14` to `WC-DOC-18`). No internal ids.
18
- 4. **The docs.** `README.md`, `docs/*.md` and `skills/app-cli/SKILL.md` state what the code does now (`WC-DOC-3`).
18
+ 4. **The docs.** `README.md`, `docs/*.md` and `skills/clidev-cli/SKILL.md` state what the code does now (`WC-DOC-3`).
19
19
  `pnpm generate` and `pnpm test:matrix` rewrite the generated pages (`WC-DOC-4`).
20
- 5. **The version.** `npm view @wirecat/app-cli version` is what is published. Set the next version in
20
+ 5. **The version.** `npm view @wirecat/clidev-cli version` is what is published. Set the next version in
21
21
  `package.json`, run `pnpm version:sync`, date the section as `## <version> — DD.MM.YYYY`, run
22
22
  `pnpm release:check` again, and open the pull request `chore(release): <version>`.
23
23
  6. **The owner** merges it and runs `bin/release` on a clean `main`. `bin/release --local` publishes from this
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Test matrix
4
4
 
5
- Every command and option of `app`, and whether an offline test drives it through the CLI. ✅ a test
5
+ Every command and option of `clidev`, and whether an offline test drives it through the CLI. ✅ a test
6
6
  ran it · ⛔ not tested offline, with the reason and where it is checked instead · ❌ nothing.
7
7
  Measured from the test run (`coverage/argv.jsonl`), not searched for — see
8
8
  [TESTING.md](TESTING.md) for how, and for the states and failures that cut across commands.
package/docs/index.md CHANGED
@@ -1,6 +1,6 @@
1
- # app
1
+ # clidev
2
2
 
3
- `app` brings a service to the terminal, to scripts and to AI agents. This page is where a reader starts: say what
3
+ `clidev` brings a service to the terminal, to scripts and to AI agents. This page is where a reader starts: say what
4
4
  the tool does, who it is for, and the first command to run. It will say that once the tool connects to its service.
5
5
 
6
6
  Today it has the commands every WireCat CLI shares: `doctor`, `commands`, `config`, `skill`, `mcp` and `upgrade`.
@@ -1,16 +1,16 @@
1
1
  # Install
2
2
 
3
- Install `app` once on each computer where you or an agent use it. You need Node.js 22.16 or later, or 24.
3
+ Install `clidev` once on each computer where you or an agent use it. You need Node.js 22.16 or later, or 24.
4
4
 
5
5
  ```sh
6
- npm install -g @wirecat/app-cli
7
- app --version
6
+ npm install -g @wirecat/clidev-cli
7
+ clidev --version
8
8
  ```
9
9
 
10
10
  Check the installation, then pick a profile name for your account, such as `personal`:
11
11
 
12
12
  ```sh
13
- app personal doctor
13
+ clidev personal doctor
14
14
  ```
15
15
 
16
16
  `doctor` needs no network and opens no keyring. It shows the version, where settings live and the profiles that