@rse/ase 2.0.3 → 2.0.4

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 (187) hide show
  1. package/dst/ase-hook.js +1 -1
  2. package/dst/ase-lib-version.js +14 -5
  3. package/dst/ase-man-catalog.js +229 -0
  4. package/dst/ase-man-render.js +278 -0
  5. package/dst/ase-man-tui.js +636 -0
  6. package/dst/ase-man.js +33 -27
  7. package/dst/ase-setup.js +2 -2
  8. package/dst/ase-spec.js +103 -20
  9. package/dst/ase-task-board-filter.js +5 -4
  10. package/dst/ase-task-board-web-client.js +26 -26
  11. package/dst/man/ase-agent-adhoc.md +1165 -0
  12. package/dst/man/ase-agent-condenser.md +383 -0
  13. package/dst/man/ase-agent-editor.md +441 -0
  14. package/dst/man/ase-agent-estimator.md +477 -0
  15. package/dst/man/ase-agent-fleet.md +358 -0
  16. package/dst/man/ase-agent-implementer.md +521 -0
  17. package/dst/man/ase-agent-integrator.md +449 -0
  18. package/dst/man/ase-agent-qualifier.md +426 -0
  19. package/dst/man/ase-agent-rebooter.md +384 -0
  20. package/dst/man/ase-agent-relay.md +262 -0
  21. package/dst/man/ase-agent-researcher.md +478 -0
  22. package/dst/man/ase-agent.md +628 -0
  23. package/dst/man/ase-artifact-list.md +57 -0
  24. package/dst/man/ase-artifact-name.md +56 -0
  25. package/dst/man/ase-artifact.md +92 -0
  26. package/dst/man/ase-config-delete.md +74 -0
  27. package/dst/man/ase-config-edit.md +83 -0
  28. package/dst/man/ase-config-get.md +70 -0
  29. package/dst/man/ase-config-init.md +110 -0
  30. package/dst/man/ase-config-list.md +68 -0
  31. package/dst/man/ase-config-set.md +92 -0
  32. package/dst/man/ase-config.md +426 -0
  33. package/dst/man/ase-hook-permission-request.md +61 -0
  34. package/dst/man/ase-hook-pre-tool-use.md +96 -0
  35. package/dst/man/ase-hook-session-end.md +71 -0
  36. package/dst/man/ase-hook-session-persona.md +65 -0
  37. package/dst/man/ase-hook-session-start.md +184 -0
  38. package/dst/man/ase-hook-stop.md +52 -0
  39. package/dst/man/ase-hook-user-prompt-submit.md +54 -0
  40. package/dst/man/ase-hook.md +93 -0
  41. package/dst/man/ase-man.md +195 -0
  42. package/dst/man/ase-mcp.md +102 -0
  43. package/dst/man/ase-service-log.md +59 -0
  44. package/dst/man/ase-service-send.md +60 -0
  45. package/dst/man/ase-service-start.md +93 -0
  46. package/dst/man/ase-service-status.md +58 -0
  47. package/dst/man/ase-service-stop.md +52 -0
  48. package/dst/man/ase-service.md +124 -0
  49. package/dst/man/ase-setup-disable.md +67 -0
  50. package/dst/man/ase-setup-enable.md +66 -0
  51. package/dst/man/ase-setup-install.md +116 -0
  52. package/dst/man/ase-setup-mcp.md +213 -0
  53. package/dst/man/ase-setup-status.md +101 -0
  54. package/dst/man/ase-setup-statusline.md +162 -0
  55. package/dst/man/ase-setup-telemetry.md +166 -0
  56. package/dst/man/ase-setup-uninstall.md +85 -0
  57. package/dst/man/ase-setup-update.md +117 -0
  58. package/dst/man/ase-setup.md +156 -0
  59. package/dst/man/ase-spec-export.md +99 -0
  60. package/dst/man/ase-spec-init.md +57 -0
  61. package/dst/man/ase-spec-lint.md +74 -0
  62. package/dst/man/ase-spec-preview.md +57 -0
  63. package/dst/man/ase-spec.md +85 -0
  64. package/dst/man/ase-statusline.md +330 -0
  65. package/dst/man/ase-task-assign.md +138 -0
  66. package/dst/man/ase-task-board.md +651 -0
  67. package/dst/man/ase-task-delete.md +46 -0
  68. package/dst/man/ase-task-edit.md +73 -0
  69. package/dst/man/ase-task-idscheme.md +92 -0
  70. package/dst/man/ase-task-lifecycle.md +92 -0
  71. package/dst/man/ase-task-list.md +86 -0
  72. package/dst/man/ase-task-load.md +48 -0
  73. package/dst/man/ase-task-newid.md +100 -0
  74. package/dst/man/ase-task-purge.md +49 -0
  75. package/dst/man/ase-task-rename.md +69 -0
  76. package/dst/man/ase-task-request.md +108 -0
  77. package/dst/man/ase-task-save.md +78 -0
  78. package/dst/man/ase-task-status.md +79 -0
  79. package/dst/man/ase-task-store.md +377 -0
  80. package/dst/man/ase-task-view.md +50 -0
  81. package/dst/man/ase-task.md +335 -0
  82. package/dst/man/ase-util-compat.md +38 -0
  83. package/dst/man/ase-util-diagram.md +140 -0
  84. package/dst/man/ase-util-meta.md +68 -0
  85. package/dst/man/ase-util-metric.md +74 -0
  86. package/dst/man/ase-util-mint.md +85 -0
  87. package/dst/man/ase-util-worktree.md +109 -0
  88. package/dst/man/ase-util.md +81 -0
  89. package/dst/man/ase.md +228 -0
  90. package/package.json +12 -17
  91. package/plugin/.claude-plugin/plugin.json +1 -1
  92. package/plugin/.codex-plugin/plugin.json +1 -1
  93. package/plugin/.github/plugin/plugin.json +1 -1
  94. package/plugin/agents/ase-code-lint.md +3 -3
  95. package/plugin/agents/ase-docs-proofread.md +3 -3
  96. package/plugin/agents/ase-docs-refine.md +3 -3
  97. package/plugin/agents/ase-spec-lint.md +338 -0
  98. package/plugin/mods/claude-code.d.ts +26 -3
  99. package/plugin/skills/ase-help-intent/data.md +180 -1
  100. package/plugin/skills/ase-help-skill/catalog.md +1 -0
  101. package/plugin/skills/ase-meta-workflow/workflow.txt +2 -0
  102. package/plugin/skills/ase-repo-commit/SKILL.md +1 -0
  103. package/plugin/skills/ase-repo-merge/SKILL.md +1 -0
  104. package/plugin/skills/ase-spec-edit/SKILL.md +3 -3
  105. package/plugin/skills/ase-spec-edit/help.md +1 -1
  106. package/plugin/skills/ase-spec-lint/SKILL.md +695 -0
  107. package/plugin/skills/ase-spec-lint/help.md +171 -0
  108. package/plugin/skills/ase-task-implement/SKILL.md +24 -6
  109. package/plugin/skills/ase-task-implement/help.md +11 -1
  110. package/dst/man/ase-agent-adhoc.1 +0 -515
  111. package/dst/man/ase-agent-condenser.1 +0 -193
  112. package/dst/man/ase-agent-editor.1 +0 -212
  113. package/dst/man/ase-agent-estimator.1 +0 -214
  114. package/dst/man/ase-agent-fleet.1 +0 -185
  115. package/dst/man/ase-agent-implementer.1 +0 -233
  116. package/dst/man/ase-agent-integrator.1 +0 -213
  117. package/dst/man/ase-agent-qualifier.1 +0 -214
  118. package/dst/man/ase-agent-rebooter.1 +0 -193
  119. package/dst/man/ase-agent-relay.1 +0 -128
  120. package/dst/man/ase-agent-researcher.1 +0 -217
  121. package/dst/man/ase-agent.1 +0 -264
  122. package/dst/man/ase-artifact-list.1 +0 -38
  123. package/dst/man/ase-artifact-name.1 +0 -39
  124. package/dst/man/ase-artifact.1 +0 -56
  125. package/dst/man/ase-config-delete.1 +0 -45
  126. package/dst/man/ase-config-edit.1 +0 -48
  127. package/dst/man/ase-config-get.1 +0 -46
  128. package/dst/man/ase-config-init.1 +0 -60
  129. package/dst/man/ase-config-list.1 +0 -42
  130. package/dst/man/ase-config-set.1 +0 -52
  131. package/dst/man/ase-config.1 +0 -231
  132. package/dst/man/ase-hook-permission-request.1 +0 -36
  133. package/dst/man/ase-hook-pre-tool-use.1 +0 -59
  134. package/dst/man/ase-hook-session-end.1 +0 -47
  135. package/dst/man/ase-hook-session-persona.1 +0 -37
  136. package/dst/man/ase-hook-session-start.1 +0 -81
  137. package/dst/man/ase-hook-stop.1 +0 -34
  138. package/dst/man/ase-hook-user-prompt-submit.1 +0 -34
  139. package/dst/man/ase-hook.1 +0 -51
  140. package/dst/man/ase-man.1 +0 -67
  141. package/dst/man/ase-mcp.1 +0 -61
  142. package/dst/man/ase-service-log.1 +0 -43
  143. package/dst/man/ase-service-send.1 +0 -47
  144. package/dst/man/ase-service-start.1 +0 -54
  145. package/dst/man/ase-service-status.1 +0 -46
  146. package/dst/man/ase-service-stop.1 +0 -37
  147. package/dst/man/ase-service.1 +0 -85
  148. package/dst/man/ase-setup-disable.1 +0 -44
  149. package/dst/man/ase-setup-enable.1 +0 -45
  150. package/dst/man/ase-setup-install.1 +0 -73
  151. package/dst/man/ase-setup-mcp.1 +0 -124
  152. package/dst/man/ase-setup-status.1 +0 -60
  153. package/dst/man/ase-setup-statusline.1 +0 -92
  154. package/dst/man/ase-setup-telemetry.1 +0 -92
  155. package/dst/man/ase-setup-uninstall.1 +0 -59
  156. package/dst/man/ase-setup-update.1 +0 -64
  157. package/dst/man/ase-setup.1 +0 -93
  158. package/dst/man/ase-spec-export.1 +0 -62
  159. package/dst/man/ase-spec-lint.1 +0 -40
  160. package/dst/man/ase-spec-preview.1 +0 -40
  161. package/dst/man/ase-spec.1 +0 -46
  162. package/dst/man/ase-statusline.1 +0 -189
  163. package/dst/man/ase-task-assign.1 +0 -71
  164. package/dst/man/ase-task-board.1 +0 -384
  165. package/dst/man/ase-task-delete.1 +0 -35
  166. package/dst/man/ase-task-edit.1 +0 -46
  167. package/dst/man/ase-task-idscheme.1 +0 -65
  168. package/dst/man/ase-task-lifecycle.1 +0 -57
  169. package/dst/man/ase-task-list.1 +0 -47
  170. package/dst/man/ase-task-load.1 +0 -36
  171. package/dst/man/ase-task-newid.1 +0 -61
  172. package/dst/man/ase-task-purge.1 +0 -37
  173. package/dst/man/ase-task-rename.1 +0 -44
  174. package/dst/man/ase-task-request.1 +0 -61
  175. package/dst/man/ase-task-save.1 +0 -48
  176. package/dst/man/ase-task-status.1 +0 -55
  177. package/dst/man/ase-task-store.1 +0 -194
  178. package/dst/man/ase-task-view.1 +0 -40
  179. package/dst/man/ase-task.1 +0 -160
  180. package/dst/man/ase-util-compat.1 +0 -25
  181. package/dst/man/ase-util-diagram.1 +0 -76
  182. package/dst/man/ase-util-meta.1 +0 -45
  183. package/dst/man/ase-util-metric.1 +0 -54
  184. package/dst/man/ase-util-mint.1 +0 -59
  185. package/dst/man/ase-util-worktree.1 +0 -72
  186. package/dst/man/ase-util.1 +0 -50
  187. package/dst/man/ase.1 +0 -124
@@ -0,0 +1,116 @@
1
+ # ase-setup-install(1) -- Install the ASE Plugin into an Agent Tool
2
+
3
+ ## SYNOPSIS
4
+
5
+ `ase setup install`
6
+ \[`-h`|`--help`\]
7
+ \[`-t`|`--tool` *tool*\]
8
+ \[`-s`|`--scope` *scope*\]
9
+ \[`-d`|`--dev`\]
10
+
11
+ ## DESCRIPTION
12
+
13
+ **ase setup install** installs the *ASE* plugin into the agent tool
14
+ selected by `--tool`. It requires `npm`(1) and the CLI of the agent
15
+ tool (`claude`, `copilot`, or `codex`) to be found in `$PATH`.
16
+
17
+ The installation is performed in two steps through the plugin
18
+ commands of the agent tool CLI: first, the *ASE* plugin marketplace is
19
+ registered from a local directory (`<cli> plugin marketplace add`
20
+ *dir*), and then the plugin `ase@ase` is installed from it (`<cli>
21
+ plugin install ase@ase`, resp. `codex plugin add ase@ase` for *OpenAI
22
+ Codex CLI*), retried up to three times with a delay of one second.
23
+
24
+ The marketplace directory is the installed `@rse/ase` package
25
+ itself, which bundles the plugin, or, with `--dev`, the local *ASE*
26
+ working copy.
27
+
28
+ For `--tool claude`, the plugin-shipped output style `ase:ase-terse`
29
+ is additionally selected by writing `"outputStyle": "ase:ase-terse"`
30
+ into the `settings.json` of the installation scope, unless an
31
+ `outputStyle` is already selected there: an *ASE* one is left as is,
32
+ and a foreign one is preserved with a warning. For `--tool copilot`
33
+ and `--tool codex`, which have no output style concept, the `ase hook
34
+ session-start` handler injects the identical style instructions into
35
+ the session context instead (see `ase-hook`(1)).
36
+
37
+ The *ASE* tool itself is not installed by this command, as it is
38
+ already installed when running it (e.g., via `npm install -g
39
+ @rse/ase`).
40
+
41
+ ## OPTIONS
42
+
43
+ - \[`-h`|`--help`\]:
44
+ Show usage information and exit.
45
+
46
+ - \[`-t`|`--tool` *tool*\]:
47
+ Select the target agent tool: `claude`, `copilot`, or `codex`
48
+ (default: `$ASE_TOOL`, else `claude`).
49
+
50
+ - \[`-s`|`--scope` *scope*\]:
51
+ Select the plugin installation scope: `user` (default; registered
52
+ globally for the current user in `~/.claude/settings.json`),
53
+ `project` (registered in `.claude/settings.json` of the current
54
+ project, meant to be shared via version control), or `local`
55
+ (registered in `.claude/settings.local.json` of the current
56
+ project, kept out of version control).
57
+
58
+ A non-`user` scope is passed as `--scope` *scope* to the agent tool
59
+ CLI. Only supported for `--tool claude`; a non-`user` scope for
60
+ `copilot` or `codex` fails with an error.
61
+
62
+ - \[`-d`|`--dev`\]:
63
+ Development mode: register the plugin marketplace from the local
64
+ *ASE* working copy (`$ASE_SETUP_DEV_BASEDIR`, else the parent
65
+ directory of the `@rse/ase` package directory) instead of the
66
+ bundled plugin of the installed package (default:
67
+ `$ASE_SETUP_DEV`).
68
+
69
+ ## ENVIRONMENT
70
+
71
+ - `ASE_TOOL`:
72
+ The default of `--tool`.
73
+
74
+ - `ASE_SETUP_DEV`:
75
+ The default of `--dev`: any non-empty value other than `0` and
76
+ `false` (case-insensitive) enables it.
77
+
78
+ - `ASE_SETUP_DEV_BASEDIR`:
79
+ The local *ASE* working copy used with `--dev`.
80
+
81
+ ## FILES
82
+
83
+ - `~/.claude/settings.json`, `.claude/settings.json`, `.claude/settings.local.json`:
84
+ The settings file of the `user`, `project`, resp. `local` scope,
85
+ receiving the `outputStyle` selection for `--tool claude`.
86
+
87
+ ## EXIT STATUS
88
+
89
+ `0` on success, `1` on any error (e.g., a missing `npm` or agent tool
90
+ CLI, an invalid option value, or a failing agent tool command, whose
91
+ output is then shown).
92
+
93
+ ## EXAMPLES
94
+
95
+ ```sh
96
+ # install for Anthropic Claude Code CLI, globally for the current user
97
+ $ ase setup install
98
+
99
+ # install for Anthropic Claude Code CLI, for the current project only
100
+ $ ase setup install --scope project
101
+
102
+ # install for GitHub Copilot CLI
103
+ $ ase setup install --tool copilot
104
+
105
+ # install from the local working copy
106
+ $ ase setup install --dev
107
+ ```
108
+
109
+ ## SEE ALSO
110
+
111
+ `ase`(1), `ase-setup`(1), `ase-setup-update`(1),
112
+ `ase-setup-uninstall`(1), `ase-setup-status`(1), `ase-hook`(1).
113
+
114
+ ## AUTHOR
115
+
116
+ Dr. Ralf S. Engelschall <rse@engelschall.com>
@@ -0,0 +1,213 @@
1
+ # ase-setup-mcp(1) -- Manage the Pre-Defined Foreign MCP Servers
2
+
3
+ ## SYNOPSIS
4
+
5
+ `ase setup mcp`
6
+ \[`-h`|`--help`\]
7
+
8
+ `ase setup mcp list`
9
+ \[`-h`|`--help`\]
10
+
11
+ `ase setup mcp activate`
12
+ \[`-h`|`--help`\]
13
+ \[`-t`|`--tool` *tool*\]
14
+ \[`-s`|`--scope` *scope*\]
15
+ \[*servers*\]
16
+
17
+ `ase setup mcp deactivate`
18
+ \[`-h`|`--help`\]
19
+ \[`-t`|`--tool` *tool*\]
20
+ \[`-s`|`--scope` *scope*\]
21
+ \[*servers*\]
22
+
23
+ ## DESCRIPTION
24
+
25
+ **ase setup mcp** manages the pre-defined *foreign MCP servers* which
26
+ *ASE* skills can *optionally* leverage for improved quality: the
27
+ *chat* servers (leveraged by the skills `ase-meta-chat` and
28
+ `ase-meta-quorum`) and the *search* servers (leveraged by the skills
29
+ `ase-meta-search`, `ase-meta-evaluate`, and `ase-arch-discover`).
30
+ Without a sub-command, the usage information is shown and the command
31
+ exits with status `1`.
32
+
33
+ The currently pre-defined servers are (by their *id*, followed by the
34
+ registered MCP server name):
35
+
36
+ - `openai-chatgpt` (`chat-openai-chatgpt`):
37
+ *OpenAI ChatGPT*, key `ASE_MCP_KEY_OPENAI_CHATGPT` or
38
+ `ASE_MCP_KEY_OPENROUTER`.
39
+
40
+ - `google-gemini` (`chat-google-gemini`):
41
+ *Google Gemini*, key `ASE_MCP_KEY_GOOGLE_GEMINI` or
42
+ `ASE_MCP_KEY_OPENROUTER`.
43
+
44
+ - `deepseek` (`chat-deepseek`):
45
+ *DeepSeek*, key `ASE_MCP_KEY_DEEPSEEK` or `ASE_MCP_KEY_OPENROUTER`.
46
+
47
+ - `xai-grok` (`chat-xai-grok`):
48
+ *xAI Grok*, key `ASE_MCP_KEY_XAI_GROK` or `ASE_MCP_KEY_OPENROUTER`.
49
+
50
+ - `alibaba-qwen` (`chat-alibaba-qwen`):
51
+ *Alibaba Qwen*, key `ASE_MCP_KEY_ALIBABA_QWEN` or
52
+ `ASE_MCP_KEY_OPENROUTER`.
53
+
54
+ - `zai-glm` (`chat-zai-glm`):
55
+ *Z.AI GLM*, key `ASE_MCP_KEY_ZAI_GLM` or `ASE_MCP_KEY_OPENROUTER`.
56
+
57
+ - `anthropic-claude` (`chat-anthropic-claude`):
58
+ *Anthropic Claude* via the locally installed *Anthropic Claude Code
59
+ CLI*, variable `ASE_MCP_KEY_ANTHROPIC_CLAUDE`.
60
+
61
+ - `openai-codex` (`chat-openai-codex`):
62
+ *OpenAI Codex* via the locally installed *OpenAI Codex CLI*,
63
+ variable `ASE_MCP_KEY_OPENAI_CODEX`.
64
+
65
+ - `github-copilot` (`chat-github-copilot`):
66
+ *GitHub Copilot* via the locally installed *GitHub Copilot CLI*,
67
+ variable `ASE_MCP_KEY_GITHUB_COPILOT`.
68
+
69
+ - `brave` (`search-brave`):
70
+ *Brave* search, key `ASE_MCP_KEY_BRAVE`.
71
+
72
+ - `perplexity` (`search-perplexity`):
73
+ *Perplexity* search, key `ASE_MCP_KEY_PERPLEXITY`.
74
+
75
+ - `exa` (`search-exa`):
76
+ *Exa* search, key `ASE_MCP_KEY_EXA`.
77
+
78
+ The API-based *chat* servers are registered as stdio servers running
79
+ `npx -y mcp-to-openai`, which bridges to the OpenAI-compatible API of
80
+ the LLM vendor, or, with the key `ASE_MCP_KEY_OPENROUTER` of an
81
+ *OpenRouter* account as a common alternative, to the *OpenRouter*
82
+ proxy API.
83
+
84
+ The harness-based *chat* servers (`anthropic-claude`, `openai-codex`,
85
+ and `github-copilot`) are registered as stdio servers running
86
+ `npx -y mcp-to-harness`, which bridges to the locally installed agent
87
+ tool CLI, authenticating via its own configured credentials: their
88
+ variable carries no API key at all, but the model identifier of the
89
+ harness, with the special value `default` selecting the default model
90
+ of the harness.
91
+
92
+ The *search* servers are registered as stdio servers running
93
+ `npx -y @brave/brave-search-mcp-server` resp.
94
+ `npx -y @perplexity-ai/mcp-server`, resp. as an HTTP server on
95
+ `https://mcp.exa.ai/mcp` for `exa`.
96
+
97
+ ## COMMANDS
98
+
99
+ - `ase setup mcp list`:
100
+ List all pre-defined MCP servers known to *ASE*, rendered as a
101
+ table with the columns `ID` (the server id), `NAME` (the service
102
+ name), `VERS` (the pinned model version, or `latest`), `MCP` (the
103
+ registered MCP server name), `KEY` (the accepted suffixes *KEY* of
104
+ the environment variables `ASE_MCP_KEY_`*KEY*, in order of
105
+ preference), and `SKILLS` (the *ASE* skills leveraging the server).
106
+
107
+ It accepts no options besides `-h`|`--help` and does not require any
108
+ agent tool.
109
+
110
+ - `ase setup mcp activate` \[`-t`|`--tool` *tool*\] \[`-s`|`--scope` *scope*\] \[*servers*\]:
111
+ Register one or more pre-defined MCP servers with the agent tool
112
+ (via `<cli> mcp add`). The environment variables `ASE_MCP_KEY_`*KEY*
113
+ are first additionally sourced from a `.env` file in the current
114
+ directory (if existing). Each selected server takes its key from the
115
+ first of its variables (see `KEY` of `ase setup mcp list`) which is
116
+ set and non-empty.
117
+
118
+ A server none of whose variables is set is silently skipped when it
119
+ was selected implicitly (via an empty *servers* or `all`), but causes
120
+ a hard error when it was given explicitly. A prior registration of
121
+ the same server is removed first, so it is re-created cleanly.
122
+
123
+ - `ase setup mcp deactivate` \[`-t`|`--tool` *tool*\] \[`-s`|`--scope` *scope*\] \[*servers*\]:
124
+ Unregister one or more pre-defined MCP servers from the agent tool
125
+ (via `<cli> mcp remove`). A server which is not currently
126
+ registered is skipped. No API keys are required.
127
+
128
+ ## OPTIONS
129
+
130
+ - \[`-h`|`--help`\]:
131
+ Show usage information and exit.
132
+
133
+ - \[`-t`|`--tool` *tool*\] (`activate` and `deactivate` only):
134
+ Select the target agent tool: `claude`, `copilot`, or `codex`
135
+ (default: `$ASE_TOOL`, else `claude`). Its CLI has to be found in
136
+ `$PATH`.
137
+
138
+ - \[`-s`|`--scope` *scope*\] (`activate` and `deactivate` only):
139
+ Select the MCP server registration scope: `user` (default;
140
+ registered globally for the current user), `project` (registered in
141
+ the project and meant to be shared via version control), or `local`
142
+ (registered in the project, but kept out of version control).
143
+
144
+ The scope is always passed explicitly to *Anthropic Claude Code CLI*,
145
+ as it would otherwise default to `local`. Only supported for
146
+ `--tool claude`; a non-`user` scope for `copilot` or `codex` fails
147
+ with an error.
148
+
149
+ ## ARGUMENTS
150
+
151
+ - \[*servers*\] (`activate` and `deactivate` only):
152
+ A comma-separated list of server ids (see above). When omitted,
153
+ empty, or given as the literal `all`, every pre-defined server is
154
+ selected. An unknown server id fails with an error listing all
155
+ known ids.
156
+
157
+ ## ENVIRONMENT
158
+
159
+ - `ASE_MCP_KEY_`*KEY*:
160
+ The API key (resp., for the harness-based servers, the harness model
161
+ identifier or `default`) of the pre-defined MCP servers, where *KEY*
162
+ is one of the suffixes shown in the `KEY` column of `ase setup mcp
163
+ list`, e.g., `ASE_MCP_KEY_OPENAI_CHATGPT` for `openai-chatgpt`. The
164
+ key is passed to the registered server (e.g., as its environment
165
+ variable `OPENAI_KEY`, `BRAVE_API_KEY`, or `PERPLEXITY_API_KEY`) and
166
+ masked in the logged commands.
167
+
168
+ - `ASE_MCP_KEY_OPENROUTER`:
169
+ The *OpenRouter* API key, accepted by all API-based *chat* servers
170
+ as an alternative to the native API key of the LLM vendor.
171
+
172
+ - `ASE_TOOL`:
173
+ The default of `--tool`.
174
+
175
+ ## FILES
176
+
177
+ - `.env`:
178
+ An optional file in the current directory, from which the
179
+ `ASE_MCP_KEY_`*KEY* variables are additionally sourced on `ase setup
180
+ mcp activate`.
181
+
182
+ ## EXIT STATUS
183
+
184
+ `0` on success, `1` on any error (and when invoked without a
185
+ sub-command).
186
+
187
+ ## EXAMPLES
188
+
189
+ ```sh
190
+ # list all pre-defined MCP servers
191
+ $ ase setup mcp list
192
+
193
+ # activate all servers whose keys are available
194
+ $ ase setup mcp activate
195
+
196
+ # activate two search servers for the current project only
197
+ $ ASE_MCP_KEY_BRAVE=... ASE_MCP_KEY_EXA=... \
198
+ ase setup mcp activate --scope project brave,exa
199
+
200
+ # activate the harness-based Anthropic Claude server with its default model
201
+ $ ASE_MCP_KEY_ANTHROPIC_CLAUDE=default ase setup mcp activate anthropic-claude
202
+
203
+ # deactivate all servers in GitHub Copilot CLI
204
+ $ ase setup mcp deactivate --tool copilot all
205
+ ```
206
+
207
+ ## SEE ALSO
208
+
209
+ `ase`(1), `ase-setup`(1), `ase-setup-status`(1), `npx`(1).
210
+
211
+ ## AUTHOR
212
+
213
+ Dr. Ralf S. Engelschall <rse@engelschall.com>
@@ -0,0 +1,101 @@
1
+ # ase-setup-status(1) -- Report the ASE Registrations of an Agent Tool
2
+
3
+ ## SYNOPSIS
4
+
5
+ `ase setup status`
6
+ \[`-h`|`--help`\]
7
+ \[`-t`|`--tool` *tool*\]
8
+
9
+ ## DESCRIPTION
10
+
11
+ **ase setup status** reports where *ASE* is currently registered with
12
+ the agent tool selected by `--tool`, rendered as a table with the
13
+ columns `KIND`, `ID`, `SCOPE`, and `STATUS`. It requires the CLI of
14
+ the agent tool to be found in `$PATH`. The rows are:
15
+
16
+ - `PLUGIN`:
17
+ One row per registration of the plugin `ase@ase` (as scraped from
18
+ the output of `<cli> plugin list`), with its registration scope and
19
+ its state (e.g., `enabled` or `disabled` for *Anthropic Claude Code
20
+ CLI*, `installed` for *GitHub Copilot CLI*, and the installation
21
+ status of *OpenAI Codex CLI*), or a single row with the status `not
22
+ installed`.
23
+
24
+ - `MCP`:
25
+ One row per *currently registered* server of the pre-defined MCP
26
+ servers (see `ase-setup-mcp`(1)), with its MCP server name and its
27
+ registration scope (as reported by `<cli> mcp get`), and the status
28
+ `registered`. Unregistered servers are omitted entirely.
29
+
30
+ - `OUTPUTSTYLE` (`--tool claude` only):
31
+ One row per settings file (of the scopes `user`, `project`, and
32
+ `local`) carrying an `outputStyle` entry, with the status `selected`
33
+ (the *ASE* output style `ase:ase-terse`) or `foreign`
34
+ (hand-selected).
35
+
36
+ - `STATUSLINE` (`--tool claude` and `--tool copilot` only):
37
+ One row per settings file carrying a `statusLine` entry, with the
38
+ status `activated` (its command starts with `ase statusline`, i.e.,
39
+ it is owned by *ASE*) or `foreign` (hand-crafted).
40
+
41
+ - `TELEMETRY`:
42
+ One row per configuration file carrying a telemetry export, with the
43
+ status `activated` (towards the *ASE* OTLP ingress) or `foreign`:
44
+ for `claude`, the `env` of `~/.claude/settings.json`; for `codex`,
45
+ `$CODEX_HOME/config.toml`; for `copilot`, the shell profiles
46
+ `~/.zshrc` and `~/.bashrc` (plus the profile of the login shell), and
47
+ an `$OTEL_EXPORTER_OTLP_ENDPOINT` of the environment not pointing to
48
+ the *ASE* ingress.
49
+
50
+ Files below the home directory are shown abbreviated with `~`, and an
51
+ unparsable settings file is silently skipped. The command is purely
52
+ read-only and always exits with status `0`, so a missing registration
53
+ is reported rather than signalled through the exit code.
54
+
55
+ It takes no `--scope`, since it deliberately reports *all* scopes at
56
+ once -- that is exactly what makes an unintentionally leaked
57
+ registration visible. Scope information is only available for
58
+ `--tool claude` (and, for MCP servers, `--tool copilot`); everywhere
59
+ else the scope is reported as `(n/a)`.
60
+
61
+ ## OPTIONS
62
+
63
+ - \[`-h`|`--help`\]:
64
+ Show usage information and exit.
65
+
66
+ - \[`-t`|`--tool` *tool*\]:
67
+ Select the target agent tool: `claude`, `copilot`, or `codex`
68
+ (default: `$ASE_TOOL`, else `claude`).
69
+
70
+ ## ENVIRONMENT
71
+
72
+ - `ASE_TOOL`:
73
+ The default of `--tool`.
74
+
75
+ - `COPILOT_HOME`, `CODEX_HOME`:
76
+ The configuration directories of *GitHub Copilot CLI* (default:
77
+ `~/.copilot`) and *OpenAI Codex CLI* (default: `~/.codex`).
78
+
79
+ ## EXIT STATUS
80
+
81
+ `0` in all regular cases, `1` only on an error like an invalid option
82
+ value or a missing agent tool CLI.
83
+
84
+ ## EXAMPLES
85
+
86
+ ```sh
87
+ # report the ASE registrations for Anthropic Claude Code CLI
88
+ $ ase setup status
89
+
90
+ # report the ASE registrations for OpenAI Codex CLI
91
+ $ ase setup status --tool codex
92
+ ```
93
+
94
+ ## SEE ALSO
95
+
96
+ `ase`(1), `ase-setup`(1), `ase-setup-install`(1), `ase-setup-mcp`(1),
97
+ `ase-setup-statusline`(1), `ase-setup-telemetry`(1).
98
+
99
+ ## AUTHOR
100
+
101
+ Dr. Ralf S. Engelschall <rse@engelschall.com>
@@ -0,0 +1,162 @@
1
+ # ase-setup-statusline(1) -- Activate or Deactivate the ASE Statusline
2
+
3
+ ## SYNOPSIS
4
+
5
+ `ase setup statusline`
6
+ \[`-h`|`--help`\]
7
+
8
+ `ase setup statusline activate`
9
+ \[`-h`|`--help`\]
10
+ \[`-t`|`--tool` *tool*\]
11
+ \[`-s`|`--scope` *scope*\]
12
+ \[`-w`|`--width` *n*\]
13
+ \[`-m`|`--margin` *n*\]
14
+ \[`-p`|`--padding` *n*\]
15
+ \[`--no-icons`\]
16
+ \[`--no-labels`\]
17
+ \[*format* \[...\]\]
18
+
19
+ `ase setup statusline deactivate`
20
+ \[`-h`|`--help`\]
21
+ \[`-t`|`--tool` *tool*\]
22
+ \[`-s`|`--scope` *scope*\]
23
+
24
+ ## DESCRIPTION
25
+
26
+ **ase setup statusline** activates or deactivates the *ASE*
27
+ statusline, i.e., the `ase statusline` renderer (see
28
+ `ase-statusline`(1)) configured as the `statusLine` command in the
29
+ settings file of the agent tool. Without a sub-command, the usage
30
+ information is shown and the command exits with status `1`.
31
+
32
+ The statusline is supported for *Anthropic Claude Code CLI* (`claude`)
33
+ and *GitHub Copilot CLI* (`copilot`) only, while *OpenAI Codex CLI*
34
+ (`codex`) has no scriptable statusline mechanism, so `--tool codex`
35
+ fails with an error.
36
+
37
+ The settings file is, for `claude`, `~/.claude/settings.json` (scope
38
+ `user`), `.claude/settings.json` (scope `project`), resp.
39
+ `.claude/settings.local.json` (scope `local`) relative to the current
40
+ working directory, and, for `copilot`, the single per-user
41
+ `$COPILOT_HOME/settings.json` (default: `~/.copilot/settings.json`).
42
+ The settings file is edited in place (preserving its formatting and
43
+ all other entries) and written atomically, and a missing settings file
44
+ (and its directory) is created.
45
+
46
+ A `statusLine` entry counts as owned by *ASE* if its `command` starts
47
+ with `ase statusline`. A foreign, hand-crafted `statusLine` entry is
48
+ never touched by either sub-command: it is preserved with a warning,
49
+ and the command still exits with status `0`.
50
+
51
+ ## COMMANDS
52
+
53
+ - `ase setup statusline activate` \[*options*\] \[*format* \[...\]\]:
54
+ Add the `statusLine` entry of *ASE* to the settings file, or update
55
+ an existing one of *ASE* in place.
56
+
57
+ The entry is the object
58
+ `{ "type": "command", "command": "ase statusline ...", "padding": 0 }`,
59
+ whose command is `ase statusline --tool` *tool* `-w` *width* `-m`
60
+ *margin* `-p` *padding*, followed by `--no-icons` and `--no-labels`
61
+ if given, and the *format* lines, each one single-quoted for the
62
+ shell (resp. double-quoted for `copilot` on Windows, which spawns
63
+ the command via `cmd.exe`).
64
+
65
+ - `ase setup statusline deactivate` \[*options*\]:
66
+ Remove the `statusLine` entry of *ASE* from the settings file. A
67
+ missing settings file or a missing `statusLine` entry is skipped
68
+ with an informational message.
69
+
70
+ ## OPTIONS
71
+
72
+ - \[`-h`|`--help`\]:
73
+ Show usage information and exit.
74
+
75
+ - \[`-t`|`--tool` *tool*\]:
76
+ Select the target agent tool: `claude` or `copilot` (default:
77
+ `$ASE_TOOL`, else `claude`). `codex` is rejected with an error.
78
+
79
+ - \[`-s`|`--scope` *scope*\]:
80
+ Select the settings file of the scope `user` (default), `project`,
81
+ or `local` (see above). Only supported for `--tool claude`; a
82
+ non-`user` scope for `copilot`, which has a single per-user settings
83
+ file, fails with an error.
84
+
85
+ - \[`-w`|`--width` *n*\] (`activate` only):
86
+ Force the terminal width of the statusline rendering to *n*
87
+ characters, where `0` (default) auto-detects it via `/dev/tty`.
88
+ Has to be a non-negative integer.
89
+
90
+ - \[`-m`|`--margin` *n*\] (`activate` only):
91
+ Reduce the maximum used terminal width by *n* characters on each
92
+ side (default: `2`). Has to be a non-negative integer.
93
+
94
+ - \[`-p`|`--padding` *n*\] (`activate` only):
95
+ Pad each rendered line with *n* spaces on the left and right side
96
+ (default: `0`). Has to be a non-negative integer.
97
+
98
+ - \[`--no-icons`\] (`activate` only):
99
+ Disable the leading icon glyph in front of each placeholder
100
+ rendering.
101
+
102
+ - \[`--no-labels`\] (`activate` only):
103
+ Disable the textual label in front of the bold value of each
104
+ placeholder rendering.
105
+
106
+ ## ARGUMENTS
107
+
108
+ - \[*format* \[...\]\] (`activate` only):
109
+ One or more statusline template lines of literal text,
110
+ `%`-prefixed placeholders, and `<`*color*`>`...`</`*color*`>`
111
+ markup (see `ase-statusline`(1) for all placeholders and colors).
112
+ Without any *format*, the following three default lines are used:
113
+ `<blue>%u</blue> <red>%p</red> <black>%T</black> %s` (user, project,
114
+ task, and session), `%m %e %t` (model, effort, and thinking), and
115
+ `%P %h %B %c` (persona, guidance level, boxing, and context usage).
116
+
117
+ ## ENVIRONMENT
118
+
119
+ - `ASE_TOOL`:
120
+ The default of `--tool`.
121
+
122
+ - `COPILOT_HOME`:
123
+ The configuration directory of *GitHub Copilot CLI* (default:
124
+ `~/.copilot`).
125
+
126
+ ## FILES
127
+
128
+ - `~/.claude/settings.json`, `.claude/settings.json`, `.claude/settings.local.json`:
129
+ The settings files of *Anthropic Claude Code CLI* of the scopes
130
+ `user`, `project`, and `local`.
131
+
132
+ - `$COPILOT_HOME/settings.json` (default: `~/.copilot/settings.json`):
133
+ The settings file of *GitHub Copilot CLI*.
134
+
135
+ ## EXIT STATUS
136
+
137
+ `0` on success (including a preserved foreign `statusLine` entry),
138
+ `1` on any error (and when invoked without a sub-command).
139
+
140
+ ## EXAMPLES
141
+
142
+ ```sh
143
+ # activate the ASE statusline with its default lines
144
+ $ ase setup statusline activate
145
+
146
+ # activate a single custom line for the current project only
147
+ $ ase setup statusline activate --scope project "%p %T %m %c"
148
+
149
+ # activate the ASE statusline in GitHub Copilot CLI without icons
150
+ $ ase setup statusline activate --tool copilot --no-icons
151
+
152
+ # deactivate the ASE statusline again
153
+ $ ase setup statusline deactivate
154
+ ```
155
+
156
+ ## SEE ALSO
157
+
158
+ `ase`(1), `ase-setup`(1), `ase-statusline`(1), `ase-setup-status`(1).
159
+
160
+ ## AUTHOR
161
+
162
+ Dr. Ralf S. Engelschall <rse@engelschall.com>