@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.
- package/dst/ase-hook.js +1 -1
- package/dst/ase-lib-version.js +14 -5
- package/dst/ase-man-catalog.js +229 -0
- package/dst/ase-man-render.js +278 -0
- package/dst/ase-man-tui.js +636 -0
- package/dst/ase-man.js +33 -27
- package/dst/ase-setup.js +2 -2
- package/dst/ase-spec.js +103 -20
- package/dst/ase-task-board-filter.js +5 -4
- package/dst/ase-task-board-web-client.js +26 -26
- package/dst/man/ase-agent-adhoc.md +1165 -0
- package/dst/man/ase-agent-condenser.md +383 -0
- package/dst/man/ase-agent-editor.md +441 -0
- package/dst/man/ase-agent-estimator.md +477 -0
- package/dst/man/ase-agent-fleet.md +358 -0
- package/dst/man/ase-agent-implementer.md +521 -0
- package/dst/man/ase-agent-integrator.md +449 -0
- package/dst/man/ase-agent-qualifier.md +426 -0
- package/dst/man/ase-agent-rebooter.md +384 -0
- package/dst/man/ase-agent-relay.md +262 -0
- package/dst/man/ase-agent-researcher.md +478 -0
- package/dst/man/ase-agent.md +628 -0
- package/dst/man/ase-artifact-list.md +57 -0
- package/dst/man/ase-artifact-name.md +56 -0
- package/dst/man/ase-artifact.md +92 -0
- package/dst/man/ase-config-delete.md +74 -0
- package/dst/man/ase-config-edit.md +83 -0
- package/dst/man/ase-config-get.md +70 -0
- package/dst/man/ase-config-init.md +110 -0
- package/dst/man/ase-config-list.md +68 -0
- package/dst/man/ase-config-set.md +92 -0
- package/dst/man/ase-config.md +426 -0
- package/dst/man/ase-hook-permission-request.md +61 -0
- package/dst/man/ase-hook-pre-tool-use.md +96 -0
- package/dst/man/ase-hook-session-end.md +71 -0
- package/dst/man/ase-hook-session-persona.md +65 -0
- package/dst/man/ase-hook-session-start.md +184 -0
- package/dst/man/ase-hook-stop.md +52 -0
- package/dst/man/ase-hook-user-prompt-submit.md +54 -0
- package/dst/man/ase-hook.md +93 -0
- package/dst/man/ase-man.md +195 -0
- package/dst/man/ase-mcp.md +102 -0
- package/dst/man/ase-service-log.md +59 -0
- package/dst/man/ase-service-send.md +60 -0
- package/dst/man/ase-service-start.md +93 -0
- package/dst/man/ase-service-status.md +58 -0
- package/dst/man/ase-service-stop.md +52 -0
- package/dst/man/ase-service.md +124 -0
- package/dst/man/ase-setup-disable.md +67 -0
- package/dst/man/ase-setup-enable.md +66 -0
- package/dst/man/ase-setup-install.md +116 -0
- package/dst/man/ase-setup-mcp.md +213 -0
- package/dst/man/ase-setup-status.md +101 -0
- package/dst/man/ase-setup-statusline.md +162 -0
- package/dst/man/ase-setup-telemetry.md +166 -0
- package/dst/man/ase-setup-uninstall.md +85 -0
- package/dst/man/ase-setup-update.md +117 -0
- package/dst/man/ase-setup.md +156 -0
- package/dst/man/ase-spec-export.md +99 -0
- package/dst/man/ase-spec-init.md +57 -0
- package/dst/man/ase-spec-lint.md +74 -0
- package/dst/man/ase-spec-preview.md +57 -0
- package/dst/man/ase-spec.md +85 -0
- package/dst/man/ase-statusline.md +330 -0
- package/dst/man/ase-task-assign.md +138 -0
- package/dst/man/ase-task-board.md +651 -0
- package/dst/man/ase-task-delete.md +46 -0
- package/dst/man/ase-task-edit.md +73 -0
- package/dst/man/ase-task-idscheme.md +92 -0
- package/dst/man/ase-task-lifecycle.md +92 -0
- package/dst/man/ase-task-list.md +86 -0
- package/dst/man/ase-task-load.md +48 -0
- package/dst/man/ase-task-newid.md +100 -0
- package/dst/man/ase-task-purge.md +49 -0
- package/dst/man/ase-task-rename.md +69 -0
- package/dst/man/ase-task-request.md +108 -0
- package/dst/man/ase-task-save.md +78 -0
- package/dst/man/ase-task-status.md +79 -0
- package/dst/man/ase-task-store.md +377 -0
- package/dst/man/ase-task-view.md +50 -0
- package/dst/man/ase-task.md +335 -0
- package/dst/man/ase-util-compat.md +38 -0
- package/dst/man/ase-util-diagram.md +140 -0
- package/dst/man/ase-util-meta.md +68 -0
- package/dst/man/ase-util-metric.md +74 -0
- package/dst/man/ase-util-mint.md +85 -0
- package/dst/man/ase-util-worktree.md +109 -0
- package/dst/man/ase-util.md +81 -0
- package/dst/man/ase.md +228 -0
- package/package.json +12 -17
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/.github/plugin/plugin.json +1 -1
- package/plugin/agents/ase-code-lint.md +3 -3
- package/plugin/agents/ase-docs-proofread.md +3 -3
- package/plugin/agents/ase-docs-refine.md +3 -3
- package/plugin/agents/ase-spec-lint.md +338 -0
- package/plugin/mods/claude-code.d.ts +26 -3
- package/plugin/skills/ase-help-intent/data.md +180 -1
- package/plugin/skills/ase-help-skill/catalog.md +1 -0
- package/plugin/skills/ase-meta-workflow/workflow.txt +2 -0
- package/plugin/skills/ase-repo-commit/SKILL.md +1 -0
- package/plugin/skills/ase-repo-merge/SKILL.md +1 -0
- package/plugin/skills/ase-spec-edit/SKILL.md +3 -3
- package/plugin/skills/ase-spec-edit/help.md +1 -1
- package/plugin/skills/ase-spec-lint/SKILL.md +695 -0
- package/plugin/skills/ase-spec-lint/help.md +171 -0
- package/plugin/skills/ase-task-implement/SKILL.md +24 -6
- package/plugin/skills/ase-task-implement/help.md +11 -1
- package/dst/man/ase-agent-adhoc.1 +0 -515
- package/dst/man/ase-agent-condenser.1 +0 -193
- package/dst/man/ase-agent-editor.1 +0 -212
- package/dst/man/ase-agent-estimator.1 +0 -214
- package/dst/man/ase-agent-fleet.1 +0 -185
- package/dst/man/ase-agent-implementer.1 +0 -233
- package/dst/man/ase-agent-integrator.1 +0 -213
- package/dst/man/ase-agent-qualifier.1 +0 -214
- package/dst/man/ase-agent-rebooter.1 +0 -193
- package/dst/man/ase-agent-relay.1 +0 -128
- package/dst/man/ase-agent-researcher.1 +0 -217
- package/dst/man/ase-agent.1 +0 -264
- package/dst/man/ase-artifact-list.1 +0 -38
- package/dst/man/ase-artifact-name.1 +0 -39
- package/dst/man/ase-artifact.1 +0 -56
- package/dst/man/ase-config-delete.1 +0 -45
- package/dst/man/ase-config-edit.1 +0 -48
- package/dst/man/ase-config-get.1 +0 -46
- package/dst/man/ase-config-init.1 +0 -60
- package/dst/man/ase-config-list.1 +0 -42
- package/dst/man/ase-config-set.1 +0 -52
- package/dst/man/ase-config.1 +0 -231
- package/dst/man/ase-hook-permission-request.1 +0 -36
- package/dst/man/ase-hook-pre-tool-use.1 +0 -59
- package/dst/man/ase-hook-session-end.1 +0 -47
- package/dst/man/ase-hook-session-persona.1 +0 -37
- package/dst/man/ase-hook-session-start.1 +0 -81
- package/dst/man/ase-hook-stop.1 +0 -34
- package/dst/man/ase-hook-user-prompt-submit.1 +0 -34
- package/dst/man/ase-hook.1 +0 -51
- package/dst/man/ase-man.1 +0 -67
- package/dst/man/ase-mcp.1 +0 -61
- package/dst/man/ase-service-log.1 +0 -43
- package/dst/man/ase-service-send.1 +0 -47
- package/dst/man/ase-service-start.1 +0 -54
- package/dst/man/ase-service-status.1 +0 -46
- package/dst/man/ase-service-stop.1 +0 -37
- package/dst/man/ase-service.1 +0 -85
- package/dst/man/ase-setup-disable.1 +0 -44
- package/dst/man/ase-setup-enable.1 +0 -45
- package/dst/man/ase-setup-install.1 +0 -73
- package/dst/man/ase-setup-mcp.1 +0 -124
- package/dst/man/ase-setup-status.1 +0 -60
- package/dst/man/ase-setup-statusline.1 +0 -92
- package/dst/man/ase-setup-telemetry.1 +0 -92
- package/dst/man/ase-setup-uninstall.1 +0 -59
- package/dst/man/ase-setup-update.1 +0 -64
- package/dst/man/ase-setup.1 +0 -93
- package/dst/man/ase-spec-export.1 +0 -62
- package/dst/man/ase-spec-lint.1 +0 -40
- package/dst/man/ase-spec-preview.1 +0 -40
- package/dst/man/ase-spec.1 +0 -46
- package/dst/man/ase-statusline.1 +0 -189
- package/dst/man/ase-task-assign.1 +0 -71
- package/dst/man/ase-task-board.1 +0 -384
- package/dst/man/ase-task-delete.1 +0 -35
- package/dst/man/ase-task-edit.1 +0 -46
- package/dst/man/ase-task-idscheme.1 +0 -65
- package/dst/man/ase-task-lifecycle.1 +0 -57
- package/dst/man/ase-task-list.1 +0 -47
- package/dst/man/ase-task-load.1 +0 -36
- package/dst/man/ase-task-newid.1 +0 -61
- package/dst/man/ase-task-purge.1 +0 -37
- package/dst/man/ase-task-rename.1 +0 -44
- package/dst/man/ase-task-request.1 +0 -61
- package/dst/man/ase-task-save.1 +0 -48
- package/dst/man/ase-task-status.1 +0 -55
- package/dst/man/ase-task-store.1 +0 -194
- package/dst/man/ase-task-view.1 +0 -40
- package/dst/man/ase-task.1 +0 -160
- package/dst/man/ase-util-compat.1 +0 -25
- package/dst/man/ase-util-diagram.1 +0 -76
- package/dst/man/ase-util-meta.1 +0 -45
- package/dst/man/ase-util-metric.1 +0 -54
- package/dst/man/ase-util-mint.1 +0 -59
- package/dst/man/ase-util-worktree.1 +0 -72
- package/dst/man/ase-util.1 +0 -50
- package/dst/man/ase.1 +0 -124
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# ase-setup-telemetry(1) -- Activate or Deactivate the ASE Telemetry Export
|
|
2
|
+
|
|
3
|
+
## SYNOPSIS
|
|
4
|
+
|
|
5
|
+
`ase setup telemetry`
|
|
6
|
+
\[`-h`|`--help`\]
|
|
7
|
+
|
|
8
|
+
`ase setup telemetry activate`
|
|
9
|
+
\[`-h`|`--help`\]
|
|
10
|
+
\[`-t`|`--tool` *tool*\]
|
|
11
|
+
|
|
12
|
+
`ase setup telemetry deactivate`
|
|
13
|
+
\[`-h`|`--help`\]
|
|
14
|
+
\[`-t`|`--tool` *tool*\]
|
|
15
|
+
|
|
16
|
+
## DESCRIPTION
|
|
17
|
+
|
|
18
|
+
**ase setup telemetry** activates or deactivates the *OpenTelemetry*
|
|
19
|
+
(OTLP/HTTP) export of the agent tool towards the per-user *ASE* OTLP
|
|
20
|
+
ingress `http://127.0.0.1:`*port* (with *port* from the configuration
|
|
21
|
+
`telemetry.service.port`, default `44318`), which feeds the AI usage
|
|
22
|
+
accounting of the task assignments (see `ase-task-assign`(1)).
|
|
23
|
+
Without a sub-command, the usage information is shown and the command
|
|
24
|
+
exits with status `1`.
|
|
25
|
+
|
|
26
|
+
The export is always user-level, as the agent tools ignore these
|
|
27
|
+
settings on repository level, so a single ingress serves the sessions
|
|
28
|
+
of all projects: every running `ase service` tries to hold its port,
|
|
29
|
+
and the holder routes the records by their session to the service of
|
|
30
|
+
the owning project. Hence, there is no `--scope` option.
|
|
31
|
+
|
|
32
|
+
Telemetry configured by the user for other receivers is never touched:
|
|
33
|
+
it is preserved with a warning (and the command still exits with
|
|
34
|
+
status `0`), and reported as `foreign` by `ase setup status`.
|
|
35
|
+
|
|
36
|
+
## COMMANDS
|
|
37
|
+
|
|
38
|
+
- `ase setup telemetry activate` \[`-t`|`--tool` *tool*\]:
|
|
39
|
+
Configure the telemetry export of the agent tool. As the AI usage
|
|
40
|
+
accounting is opt-in, this requires the configuration
|
|
41
|
+
`telemetry.enabled` to be `true` (e.g., via `ase config set
|
|
42
|
+
telemetry.enabled true` on scope `user` or `project`), else the
|
|
43
|
+
command fails with an error. A missing bearer token
|
|
44
|
+
`telemetry.service.token` is generated (48 hexadecimal digits) and
|
|
45
|
+
persisted on scope `user`. Per agent tool:
|
|
46
|
+
|
|
47
|
+
- `claude`:
|
|
48
|
+
The variables `CLAUDE_CODE_ENABLE_TELEMETRY=1`,
|
|
49
|
+
`OTEL_LOGS_EXPORTER=otlp`,
|
|
50
|
+
`OTEL_EXPORTER_OTLP_PROTOCOL=http/json`,
|
|
51
|
+
`OTEL_EXPORTER_OTLP_ENDPOINT=`*url*,
|
|
52
|
+
`OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer `*token*, and
|
|
53
|
+
`OTEL_LOGS_EXPORT_INTERVAL=5000` are added to (resp. updated in)
|
|
54
|
+
the `env` object of `~/.claude/settings.json`.
|
|
55
|
+
|
|
56
|
+
If any of these variables is already set there, but points
|
|
57
|
+
neither to the URL nor carries the token of the *ASE* ingress, the
|
|
58
|
+
configuration is foreign and preserved; a non-object `env` is
|
|
59
|
+
preserved, too.
|
|
60
|
+
- `codex`:
|
|
61
|
+
A marked block (between the lines `# BEGIN ASE telemetry
|
|
62
|
+
(generated)` and `# END ASE telemetry (generated)`) with an
|
|
63
|
+
`[otel]` table, exporting via `otlp-http` with protocol `json` to
|
|
64
|
+
*url*`/v1/logs` with the `authorization` header `Bearer`
|
|
65
|
+
*token*, is added to (resp. replaced in)
|
|
66
|
+
`$CODEX_HOME/config.toml` (default: `~/.codex/config.toml`). An
|
|
67
|
+
`[otel]` table outside of the block is foreign and preserved.
|
|
68
|
+
- `copilot`:
|
|
69
|
+
As *GitHub Copilot CLI* is configurable via environment
|
|
70
|
+
variables only, a marked block with a shell function `copilot`
|
|
71
|
+
is added to (resp. replaced in) the shell profile of the login
|
|
72
|
+
shell of `$SHELL` (`$ZDOTDIR/.zshrc`, default `~/.zshrc`, for
|
|
73
|
+
`zsh`, and `~/.bashrc` for `bash`), which passes the variables
|
|
74
|
+
`COPILOT_OTEL_ENABLED=true`,
|
|
75
|
+
`COPILOT_OTEL_EXPORTER_TYPE=otlp-http`,
|
|
76
|
+
`OTEL_EXPORTER_OTLP_ENDPOINT=`*url*,
|
|
77
|
+
`OTEL_EXPORTER_OTLP_PROTOCOL=http/json`, and
|
|
78
|
+
`OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer `*token* to the
|
|
79
|
+
`copilot` command only, instead of exporting them to every other
|
|
80
|
+
program. A new shell session is required for it to take effect.
|
|
81
|
+
|
|
82
|
+
For any other shell, the command fails with an error showing the
|
|
83
|
+
shell function to define manually. An `$OTEL_EXPORTER_OTLP_ENDPOINT`
|
|
84
|
+
of the environment other than the *ASE* ingress URL, and an
|
|
85
|
+
assignment of `COPILOT_OTEL_ENABLED` or `OTEL_EXPORTER_OTLP_ENDPOINT`
|
|
86
|
+
in the profile outside of the block, are foreign and preserved.
|
|
87
|
+
|
|
88
|
+
- `ase setup telemetry deactivate` \[`-t`|`--tool` *tool*\]:
|
|
89
|
+
Remove the telemetry export configured by `ase setup telemetry
|
|
90
|
+
activate` again, preserving any foreign telemetry configuration. It
|
|
91
|
+
does not require `telemetry.enabled`.
|
|
92
|
+
|
|
93
|
+
Per agent tool: for `claude`, the above variables are removed from the
|
|
94
|
+
`env` of `~/.claude/settings.json` (and the `env` itself, if it became
|
|
95
|
+
empty); for `codex`, the marked block is removed from
|
|
96
|
+
`$CODEX_HOME/config.toml`; and for `copilot`, the marked block is
|
|
97
|
+
removed from all candidate shell profiles (`~/.zshrc`, `~/.bashrc`,
|
|
98
|
+
and the profile of the login shell). A missing file or configuration
|
|
99
|
+
is skipped with an informational message.
|
|
100
|
+
|
|
101
|
+
## OPTIONS
|
|
102
|
+
|
|
103
|
+
- \[`-h`|`--help`\]:
|
|
104
|
+
Show usage information and exit.
|
|
105
|
+
|
|
106
|
+
- \[`-t`|`--tool` *tool*\]:
|
|
107
|
+
Select the target agent tool: `claude`, `copilot`, or `codex`
|
|
108
|
+
(default: `$ASE_TOOL`, else `claude`).
|
|
109
|
+
|
|
110
|
+
## ENVIRONMENT
|
|
111
|
+
|
|
112
|
+
- `ASE_TOOL`:
|
|
113
|
+
The default of `--tool`.
|
|
114
|
+
|
|
115
|
+
- `CODEX_HOME`:
|
|
116
|
+
The configuration directory of *OpenAI Codex CLI* (default:
|
|
117
|
+
`~/.codex`).
|
|
118
|
+
|
|
119
|
+
- `SHELL`, `ZDOTDIR`:
|
|
120
|
+
The login shell, determining the shell profile for `--tool copilot`,
|
|
121
|
+
and the configuration directory of `zsh`.
|
|
122
|
+
|
|
123
|
+
- `OTEL_EXPORTER_OTLP_ENDPOINT`:
|
|
124
|
+
An existing OTLP endpoint for `--tool copilot`, which, if not the
|
|
125
|
+
*ASE* ingress, is considered a foreign telemetry configuration.
|
|
126
|
+
|
|
127
|
+
## FILES
|
|
128
|
+
|
|
129
|
+
- `~/.claude/settings.json`:
|
|
130
|
+
The user-level settings file of *Anthropic Claude Code CLI*.
|
|
131
|
+
|
|
132
|
+
- `$CODEX_HOME/config.toml` (default: `~/.codex/config.toml`):
|
|
133
|
+
The configuration file of *OpenAI Codex CLI*.
|
|
134
|
+
|
|
135
|
+
- `~/.zshrc`, `~/.bashrc`:
|
|
136
|
+
The shell profiles receiving the `copilot` shell function.
|
|
137
|
+
|
|
138
|
+
## EXIT STATUS
|
|
139
|
+
|
|
140
|
+
`0` on success (including a preserved foreign configuration), `1` on
|
|
141
|
+
any error (e.g., a disabled AI usage accounting on `activate`, an
|
|
142
|
+
unsupported shell for `--tool copilot`, an unterminated marked block,
|
|
143
|
+
and when invoked without a sub-command).
|
|
144
|
+
|
|
145
|
+
## EXAMPLES
|
|
146
|
+
|
|
147
|
+
```sh
|
|
148
|
+
# enable the AI usage accounting and activate the export of Claude Code
|
|
149
|
+
$ ase config --scope user set telemetry.enabled true
|
|
150
|
+
$ ase setup telemetry activate
|
|
151
|
+
|
|
152
|
+
# activate the export of OpenAI Codex CLI
|
|
153
|
+
$ ase setup telemetry activate --tool codex
|
|
154
|
+
|
|
155
|
+
# deactivate the export of GitHub Copilot CLI
|
|
156
|
+
$ ase setup telemetry deactivate --tool copilot
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## SEE ALSO
|
|
160
|
+
|
|
161
|
+
`ase`(1), `ase-setup`(1), `ase-setup-status`(1), `ase-config`(1),
|
|
162
|
+
`ase-service`(1), `ase-task-assign`(1).
|
|
163
|
+
|
|
164
|
+
## AUTHOR
|
|
165
|
+
|
|
166
|
+
Dr. Ralf S. Engelschall <rse@engelschall.com>
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# ase-setup-uninstall(1) -- Uninstall the ASE Plugin and Tool
|
|
2
|
+
|
|
3
|
+
## SYNOPSIS
|
|
4
|
+
|
|
5
|
+
`ase setup uninstall`
|
|
6
|
+
\[`-h`|`--help`\]
|
|
7
|
+
\[`-t`|`--tool` *tool*\]
|
|
8
|
+
\[`-s`|`--scope` *scope*\]
|
|
9
|
+
\[`-d`|`--dev`\]
|
|
10
|
+
|
|
11
|
+
## DESCRIPTION
|
|
12
|
+
|
|
13
|
+
**ase setup uninstall** uninstalls the *ASE* plugin from the agent
|
|
14
|
+
tool selected by `--tool` and the *ASE* tool itself. It requires
|
|
15
|
+
`npm`(1) and the CLI of the agent tool to be found in `$PATH`. The
|
|
16
|
+
steps are:
|
|
17
|
+
|
|
18
|
+
1. A potentially running `ase service` of the current project is
|
|
19
|
+
stopped (on a best-effort basis).
|
|
20
|
+
2. For `--tool claude`, the selection of the output style
|
|
21
|
+
`ase:ase-terse` is removed from the `settings.json` of the
|
|
22
|
+
installation scope, while a foreign `outputStyle` is preserved with
|
|
23
|
+
a warning.
|
|
24
|
+
3. The plugin `ase@ase` is uninstalled (`<cli> plugin uninstall
|
|
25
|
+
ase@ase`, resp. `codex plugin remove ase@ase`) and the plugin
|
|
26
|
+
marketplace `ase` is removed (`<cli> plugin marketplace remove
|
|
27
|
+
ase`), where an already absent plugin or marketplace is skipped.
|
|
28
|
+
4. Unless in development mode (`--dev`), the tool is uninstalled via
|
|
29
|
+
`npm uninstall -g @rse/ase` (prefixed with `sudo`(8) if the global
|
|
30
|
+
`npm` installation root is not writable by the current user and
|
|
31
|
+
`sudo` is available).
|
|
32
|
+
|
|
33
|
+
## OPTIONS
|
|
34
|
+
|
|
35
|
+
- \[`-h`|`--help`\]:
|
|
36
|
+
Show usage information and exit.
|
|
37
|
+
|
|
38
|
+
- \[`-t`|`--tool` *tool*\]:
|
|
39
|
+
Select the target agent tool: `claude`, `copilot`, or `codex`
|
|
40
|
+
(default: `$ASE_TOOL`, else `claude`).
|
|
41
|
+
|
|
42
|
+
- \[`-s`|`--scope` *scope*\]:
|
|
43
|
+
Select the plugin installation scope: `user`, `project`, or
|
|
44
|
+
`local`. The default is auto-detected from the existing
|
|
45
|
+
installation: the scopes `local`, `project`, and `user` are probed
|
|
46
|
+
in this order, and the first one whose settings file registers the
|
|
47
|
+
plugin `ase@ase` under `enabledPlugins` is taken, falling back to
|
|
48
|
+
`user`. Only supported for `--tool claude`; a non-`user` scope for
|
|
49
|
+
`copilot` or `codex` fails with an error.
|
|
50
|
+
|
|
51
|
+
- \[`-d`|`--dev`\]:
|
|
52
|
+
Development mode: uninstall the plugin only, but keep the *ASE*
|
|
53
|
+
tool, as it is the local working copy (default: `$ASE_SETUP_DEV`).
|
|
54
|
+
|
|
55
|
+
## ENVIRONMENT
|
|
56
|
+
|
|
57
|
+
- `ASE_TOOL`:
|
|
58
|
+
The default of `--tool`.
|
|
59
|
+
|
|
60
|
+
- `ASE_SETUP_DEV`:
|
|
61
|
+
The default of `--dev`: any non-empty value other than `0` and
|
|
62
|
+
`false` (case-insensitive) enables it.
|
|
63
|
+
|
|
64
|
+
## EXIT STATUS
|
|
65
|
+
|
|
66
|
+
`0` on success, `1` on any error.
|
|
67
|
+
|
|
68
|
+
## EXAMPLES
|
|
69
|
+
|
|
70
|
+
```sh
|
|
71
|
+
# uninstall ASE from Anthropic Claude Code CLI
|
|
72
|
+
$ ase setup uninstall
|
|
73
|
+
|
|
74
|
+
# uninstall the plugin from GitHub Copilot CLI
|
|
75
|
+
$ ase setup uninstall --tool copilot
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## SEE ALSO
|
|
79
|
+
|
|
80
|
+
`ase`(1), `ase-setup`(1), `ase-setup-install`(1),
|
|
81
|
+
`ase-setup-disable`(1), `npm`(1).
|
|
82
|
+
|
|
83
|
+
## AUTHOR
|
|
84
|
+
|
|
85
|
+
Dr. Ralf S. Engelschall <rse@engelschall.com>
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# ase-setup-update(1) -- Update the ASE Tool and Plugin
|
|
2
|
+
|
|
3
|
+
## SYNOPSIS
|
|
4
|
+
|
|
5
|
+
`ase setup update`
|
|
6
|
+
\[`-h`|`--help`\]
|
|
7
|
+
\[`-t`|`--tool` *tool*\]
|
|
8
|
+
\[`-s`|`--scope` *scope*\]
|
|
9
|
+
\[`-f`|`--force`\]
|
|
10
|
+
\[`-d`|`--dev`\]
|
|
11
|
+
|
|
12
|
+
## DESCRIPTION
|
|
13
|
+
|
|
14
|
+
**ase setup update** updates the *ASE* tool and the *ASE* plugin of
|
|
15
|
+
the agent tool selected by `--tool` to their latest versions. It
|
|
16
|
+
requires `npm`(1) and the CLI of the agent tool to be found in
|
|
17
|
+
`$PATH`. First, a potentially running `ase service` of the current
|
|
18
|
+
project is stopped (on a best-effort basis), as it would otherwise
|
|
19
|
+
keep running the old code.
|
|
20
|
+
|
|
21
|
+
In the regular mode, the current version of the tool is compared with
|
|
22
|
+
the latest version of `@rse/ase` known from the NPM registry (as
|
|
23
|
+
determined by a cached background check, refreshed at most once per
|
|
24
|
+
hour). If both are equal, the command reports that *ASE* is already at
|
|
25
|
+
the latest version and exits without any further action (unless
|
|
26
|
+
`--force` is given).
|
|
27
|
+
|
|
28
|
+
Otherwise, the tool is updated via `npm update -g @rse/ase` (prefixed
|
|
29
|
+
with `sudo`(8) if the global `npm` installation root is not writable by
|
|
30
|
+
the current user and `sudo` is available), the plugin marketplace
|
|
31
|
+
snapshot is refreshed (`<cli> plugin marketplace update ase`, resp.
|
|
32
|
+
`codex plugin marketplace upgrade ase`), and the plugin is updated
|
|
33
|
+
(`<cli> plugin update ase@ase`, resp. removed and re-added for *OpenAI
|
|
34
|
+
Codex CLI*, which has no plugin update command).
|
|
35
|
+
|
|
36
|
+
In the development mode (`--dev`), the local *ASE* working copy is
|
|
37
|
+
re-built instead (`npm install` and `npm start build` in its `tool/`
|
|
38
|
+
directory), and the plugin is re-installed (uninstalled and
|
|
39
|
+
installed again), as the local plugin files are already current, but
|
|
40
|
+
carry no version change in the plugin manifest.
|
|
41
|
+
|
|
42
|
+
Like `ase setup install`, for `--tool claude`, the output style
|
|
43
|
+
`ase:ase-terse` is finally selected in the `settings.json` of the
|
|
44
|
+
installation scope, unless a foreign `outputStyle` is already selected
|
|
45
|
+
there, which is preserved with a warning.
|
|
46
|
+
|
|
47
|
+
## OPTIONS
|
|
48
|
+
|
|
49
|
+
- \[`-h`|`--help`\]:
|
|
50
|
+
Show usage information and exit.
|
|
51
|
+
|
|
52
|
+
- \[`-t`|`--tool` *tool*\]:
|
|
53
|
+
Select the target agent tool: `claude`, `copilot`, or `codex`
|
|
54
|
+
(default: `$ASE_TOOL`, else `claude`).
|
|
55
|
+
|
|
56
|
+
- \[`-s`|`--scope` *scope*\]:
|
|
57
|
+
Select the plugin installation scope: `user`, `project`, or
|
|
58
|
+
`local`. The default is auto-detected from the existing
|
|
59
|
+
installation: the scopes `local`, `project`, and `user` are probed
|
|
60
|
+
in this order (strongest first), and the first one whose settings
|
|
61
|
+
file registers the plugin `ase@ase` under `enabledPlugins` (enabled
|
|
62
|
+
or disabled) is taken, falling back to `user` when no installation
|
|
63
|
+
is found.
|
|
64
|
+
|
|
65
|
+
For tools other than `claude`, the scope is always `user`, and an
|
|
66
|
+
explicitly given non-`user` scope fails with an error.
|
|
67
|
+
|
|
68
|
+
- \[`-f`|`--force`\]:
|
|
69
|
+
Always perform the update, even if the tool is already at the
|
|
70
|
+
latest version (default: off). Without effect in combination with
|
|
71
|
+
`--dev`, which always re-builds.
|
|
72
|
+
|
|
73
|
+
- \[`-d`|`--dev`\]:
|
|
74
|
+
Development mode: re-build the local *ASE* working copy
|
|
75
|
+
(`$ASE_SETUP_DEV_BASEDIR`, else the parent directory of the
|
|
76
|
+
`@rse/ase` package directory) and re-install the plugin from it,
|
|
77
|
+
instead of updating from the NPM registry (default:
|
|
78
|
+
`$ASE_SETUP_DEV`).
|
|
79
|
+
|
|
80
|
+
## ENVIRONMENT
|
|
81
|
+
|
|
82
|
+
- `ASE_TOOL`:
|
|
83
|
+
The default of `--tool`.
|
|
84
|
+
|
|
85
|
+
- `ASE_SETUP_DEV`:
|
|
86
|
+
The default of `--dev`: any non-empty value other than `0` and
|
|
87
|
+
`false` (case-insensitive) enables it.
|
|
88
|
+
|
|
89
|
+
- `ASE_SETUP_DEV_BASEDIR`:
|
|
90
|
+
The local *ASE* working copy used with `--dev`.
|
|
91
|
+
|
|
92
|
+
## EXIT STATUS
|
|
93
|
+
|
|
94
|
+
`0` on success (including an already current version), `1` on any
|
|
95
|
+
error.
|
|
96
|
+
|
|
97
|
+
## EXAMPLES
|
|
98
|
+
|
|
99
|
+
```sh
|
|
100
|
+
# update ASE for Anthropic Claude Code CLI
|
|
101
|
+
$ ase setup update
|
|
102
|
+
|
|
103
|
+
# force the update for OpenAI Codex CLI
|
|
104
|
+
$ ase setup update --tool codex --force
|
|
105
|
+
|
|
106
|
+
# re-build and re-install from the local working copy
|
|
107
|
+
$ ase setup update --dev
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## SEE ALSO
|
|
111
|
+
|
|
112
|
+
`ase`(1), `ase-setup`(1), `ase-setup-install`(1),
|
|
113
|
+
`ase-setup-uninstall`(1), `ase-service`(1), `npm`(1).
|
|
114
|
+
|
|
115
|
+
## AUTHOR
|
|
116
|
+
|
|
117
|
+
Dr. Ralf S. Engelschall <rse@engelschall.com>
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# ase-setup(1) -- Install, Update, and Uninstall the ASE Tool and Plugin
|
|
2
|
+
|
|
3
|
+
## SYNOPSIS
|
|
4
|
+
|
|
5
|
+
`ase setup`
|
|
6
|
+
\[`-h`|`--help`\]
|
|
7
|
+
*command*
|
|
8
|
+
\[*options* \[...\]\]
|
|
9
|
+
\[*args* \[...\]\]
|
|
10
|
+
|
|
11
|
+
## DESCRIPTION
|
|
12
|
+
|
|
13
|
+
**ase setup** is the entry point group for installing, updating,
|
|
14
|
+
uninstalling, enabling, disabling, and reporting the *ASE* tool and its
|
|
15
|
+
companion agent tool plugin, and for activating or deactivating the
|
|
16
|
+
pre-defined foreign MCP servers, the *ASE* statusline, and the *ASE*
|
|
17
|
+
telemetry export towards the AI usage accounting. Without a
|
|
18
|
+
*command*, the usage information is shown and the command exits with
|
|
19
|
+
status `1`.
|
|
20
|
+
|
|
21
|
+
The target agent tool is either *Anthropic Claude Code CLI*
|
|
22
|
+
(`claude`), *GitHub Copilot CLI* (`copilot`), or *OpenAI Codex CLI*
|
|
23
|
+
(`codex`). All operations are performed through the plugin and MCP
|
|
24
|
+
commands of the respective agent tool CLI (e.g., `claude plugin
|
|
25
|
+
install`), which hence has to be found in `$PATH`, and through direct
|
|
26
|
+
edits of its settings files (for the output style, the statusline,
|
|
27
|
+
and the telemetry). Every sub-process command is logged (with API keys
|
|
28
|
+
masked) and its output is shown only on failure.
|
|
29
|
+
|
|
30
|
+
## OPTIONS
|
|
31
|
+
|
|
32
|
+
- \[`-h`|`--help`\]:
|
|
33
|
+
Show usage information of the command group and exit.
|
|
34
|
+
|
|
35
|
+
The following options are shared by most sub-commands (see their
|
|
36
|
+
individual manual pages for the exact applicability):
|
|
37
|
+
|
|
38
|
+
- \[`-t`|`--tool` *tool*\]:
|
|
39
|
+
Select the target agent tool: `claude` (*Anthropic Claude Code
|
|
40
|
+
CLI*), `copilot` (*GitHub Copilot CLI*), or `codex` (*OpenAI Codex
|
|
41
|
+
CLI*). The default is the value of the environment variable
|
|
42
|
+
`ASE_TOOL`, if set and non-empty, else `claude`. An invalid value
|
|
43
|
+
is rejected with an error. Accepted by all sub-commands except `ase
|
|
44
|
+
setup mcp list`.
|
|
45
|
+
|
|
46
|
+
- \[`-s`|`--scope` *scope*\]:
|
|
47
|
+
Select the installation scope of the plugin, MCP server, or
|
|
48
|
+
statusline registration: `user` (registered globally for the
|
|
49
|
+
current user), `project` (registered in the project and meant to be
|
|
50
|
+
shared via version control), or `local` (registered in the project,
|
|
51
|
+
but kept out of version control).
|
|
52
|
+
|
|
53
|
+
Only supported for `--tool claude` (and, for the statusline, a `user`
|
|
54
|
+
scope for `--tool copilot`); a non-`user` scope for any other tool
|
|
55
|
+
fails with an error, as those agent tools have no scope concept. Not
|
|
56
|
+
accepted by `ase setup status` (which reports all scopes at once) and
|
|
57
|
+
`ase setup telemetry` (which is always user-level).
|
|
58
|
+
|
|
59
|
+
## COMMANDS
|
|
60
|
+
|
|
61
|
+
- `ase setup install` \[`-t`|`--tool` *tool*\] \[`-s`|`--scope` *scope*\] \[`-d`|`--dev`\]:
|
|
62
|
+
Install the *ASE* plugin into the agent tool. See
|
|
63
|
+
`ase-setup-install`(1).
|
|
64
|
+
|
|
65
|
+
- `ase setup update` \[`-t`|`--tool` *tool*\] \[`-s`|`--scope` *scope*\] \[`-f`|`--force`\] \[`-d`|`--dev`\]:
|
|
66
|
+
Update the *ASE* tool and the *ASE* plugin to their latest
|
|
67
|
+
versions. See `ase-setup-update`(1).
|
|
68
|
+
|
|
69
|
+
- `ase setup uninstall` \[`-t`|`--tool` *tool*\] \[`-s`|`--scope` *scope*\] \[`-d`|`--dev`\]:
|
|
70
|
+
Uninstall the *ASE* plugin and the *ASE* tool. See
|
|
71
|
+
`ase-setup-uninstall`(1).
|
|
72
|
+
|
|
73
|
+
- `ase setup enable` \[`-t`|`--tool` *tool*\] \[`-s`|`--scope` *scope*\]:
|
|
74
|
+
Enable the already installed *ASE* plugin. See
|
|
75
|
+
`ase-setup-enable`(1).
|
|
76
|
+
|
|
77
|
+
- `ase setup disable` \[`-t`|`--tool` *tool*\] \[`-s`|`--scope` *scope*\]:
|
|
78
|
+
Disable the *ASE* plugin without uninstalling it. See
|
|
79
|
+
`ase-setup-disable`(1).
|
|
80
|
+
|
|
81
|
+
- `ase setup status` \[`-t`|`--tool` *tool*\]:
|
|
82
|
+
Report the plugin, MCP server, output style, statusline, and
|
|
83
|
+
telemetry registrations of all scopes. See `ase-setup-status`(1).
|
|
84
|
+
|
|
85
|
+
- `ase setup mcp` `list`|`activate`|`deactivate` \[...\]:
|
|
86
|
+
List, activate, or deactivate the pre-defined foreign MCP servers.
|
|
87
|
+
See `ase-setup-mcp`(1).
|
|
88
|
+
|
|
89
|
+
- `ase setup statusline` `activate`|`deactivate` \[...\]:
|
|
90
|
+
Activate or deactivate the *ASE* statusline. See
|
|
91
|
+
`ase-setup-statusline`(1).
|
|
92
|
+
|
|
93
|
+
- `ase setup telemetry` `activate`|`deactivate` \[...\]:
|
|
94
|
+
Activate or deactivate the *OpenTelemetry* export of the agent tool
|
|
95
|
+
towards the *ASE* OTLP ingress. See `ase-setup-telemetry`(1).
|
|
96
|
+
|
|
97
|
+
## ENVIRONMENT
|
|
98
|
+
|
|
99
|
+
- `ASE_TOOL`:
|
|
100
|
+
The default of the `--tool` option (default: `claude`).
|
|
101
|
+
|
|
102
|
+
- `ASE_SETUP_DEV`:
|
|
103
|
+
The default of the `--dev` option of `ase setup install`, `ase setup
|
|
104
|
+
update`, and `ase setup uninstall`: any non-empty value other than
|
|
105
|
+
`0` and `false` (case-insensitive) enables it.
|
|
106
|
+
|
|
107
|
+
- `ASE_SETUP_DEV_BASEDIR`:
|
|
108
|
+
The base directory of the local *ASE* working copy used with
|
|
109
|
+
`--dev` (default: the parent directory of the installed `@rse/ase`
|
|
110
|
+
package directory).
|
|
111
|
+
|
|
112
|
+
- `ASE_MCP_KEY_`*KEY*:
|
|
113
|
+
The API keys of the pre-defined MCP servers (see `ase-setup-mcp`(1)).
|
|
114
|
+
|
|
115
|
+
## FILES
|
|
116
|
+
|
|
117
|
+
- `~/.claude/settings.json`, `.claude/settings.json`, `.claude/settings.local.json`:
|
|
118
|
+
The settings files of *Anthropic Claude Code CLI* of the scopes
|
|
119
|
+
`user`, `project`, and `local` (the latter two relative to the
|
|
120
|
+
current working directory).
|
|
121
|
+
|
|
122
|
+
- `$COPILOT_HOME/settings.json` (default: `~/.copilot/settings.json`):
|
|
123
|
+
The single per-user settings file of *GitHub Copilot CLI*.
|
|
124
|
+
|
|
125
|
+
- `$CODEX_HOME/config.toml` (default: `~/.codex/config.toml`):
|
|
126
|
+
The per-user configuration file of *OpenAI Codex CLI*.
|
|
127
|
+
|
|
128
|
+
## EXIT STATUS
|
|
129
|
+
|
|
130
|
+
`0` on success, `1` on any error, and `1` when invoked without a
|
|
131
|
+
*command*.
|
|
132
|
+
|
|
133
|
+
## EXAMPLES
|
|
134
|
+
|
|
135
|
+
```sh
|
|
136
|
+
# install ASE for Anthropic Claude Code CLI globally
|
|
137
|
+
$ ase setup install
|
|
138
|
+
|
|
139
|
+
# install ASE for OpenAI Codex CLI
|
|
140
|
+
$ ase setup install --tool codex
|
|
141
|
+
|
|
142
|
+
# report all ASE registrations
|
|
143
|
+
$ ase setup status
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## SEE ALSO
|
|
147
|
+
|
|
148
|
+
`ase`(1), `ase-setup-install`(1), `ase-setup-update`(1),
|
|
149
|
+
`ase-setup-uninstall`(1), `ase-setup-enable`(1),
|
|
150
|
+
`ase-setup-disable`(1), `ase-setup-status`(1), `ase-setup-mcp`(1),
|
|
151
|
+
`ase-setup-statusline`(1), `ase-setup-telemetry`(1),
|
|
152
|
+
`claude`(1), `copilot`(1), `codex`(1), `npm`(1).
|
|
153
|
+
|
|
154
|
+
## AUTHOR
|
|
155
|
+
|
|
156
|
+
Dr. Ralf S. Engelschall <rse@engelschall.com>
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# ase-spec-export(1) -- Export the Project Specification
|
|
2
|
+
|
|
3
|
+
## SYNOPSIS
|
|
4
|
+
|
|
5
|
+
`ase spec export`
|
|
6
|
+
\[`-h`|`--help`\]
|
|
7
|
+
\[`-o`|`--output` \[*format*`:`\]*file*\] \[...\]
|
|
8
|
+
\[`-w`|`--watch`\]
|
|
9
|
+
|
|
10
|
+
## DESCRIPTION
|
|
11
|
+
|
|
12
|
+
**ase spec export** exports the *SpecBook*-based specification Markdown
|
|
13
|
+
files below `project.artifact.spec.basedir` (see `ase-spec`(1)) into one
|
|
14
|
+
or more output files. The supported formats are:
|
|
15
|
+
|
|
16
|
+
- `json`, `json5`, `yaml`, `toon`:
|
|
17
|
+
The specification object model in the respective serialization.
|
|
18
|
+
- `html`:
|
|
19
|
+
A self-contained single HTML document.
|
|
20
|
+
- `pdf`:
|
|
21
|
+
A paginated print document.
|
|
22
|
+
- `md`:
|
|
23
|
+
A normalized single Markdown document.
|
|
24
|
+
|
|
25
|
+
The specification is parsed once, and each distinct format is exported
|
|
26
|
+
once, even if requested for multiple outputs. Each written file is
|
|
27
|
+
logged at the `info` level. The export fails on any lint diagnostic
|
|
28
|
+
of `error` severity (see `ase-spec-lint`(1)), while warnings are only
|
|
29
|
+
logged, so a partial or invalid specification is never emitted.
|
|
30
|
+
|
|
31
|
+
The `pdf` format additionally requires a Chromium-class browser, which
|
|
32
|
+
neither `npm install -g @rse/ase` nor `ase setup install` provides:
|
|
33
|
+
unless a *Google Chrome* is installed system-wide, fetch the
|
|
34
|
+
*Playwright* Chromium once via `npx playwright install chromium`.
|
|
35
|
+
Without any such browser, the export fails before the specification is
|
|
36
|
+
even parsed and reports that very command.
|
|
37
|
+
|
|
38
|
+
The MCP tool `ase_specbook_export` provides the same to the skills.
|
|
39
|
+
|
|
40
|
+
## OPTIONS
|
|
41
|
+
|
|
42
|
+
- \[`-h`|`--help`\]:
|
|
43
|
+
Show usage information and exit.
|
|
44
|
+
|
|
45
|
+
- \[`-o`|`--output` \[*format*`:`\]*file*\]:
|
|
46
|
+
Write the export into *file*, or to standard output for `-`. The
|
|
47
|
+
option is repeatable, so multiple outputs (of the same or different
|
|
48
|
+
formats) are written in a single run. The *format* is inferred from
|
|
49
|
+
the filename extension (`json`, `json5`, `yaml` or `yml`, `toon`,
|
|
50
|
+
`html` or `htm`, `pdf`, and `md` or `markdown`, case-insensitive)
|
|
51
|
+
unless explicitly given as a prefix of at least two characters (out
|
|
52
|
+
of the same names), where a plain `-` defaults to `json`.
|
|
53
|
+
|
|
54
|
+
The log is written to standard error (see `ase`(1)), so it never
|
|
55
|
+
mixes into the export on standard output. An unknown format prefix and
|
|
56
|
+
a not inferable format are errors. A relative *file* is relative to the
|
|
57
|
+
current working directory. Default: the HTML rendering into
|
|
58
|
+
`index.html` inside the specification base directory (e.g.,
|
|
59
|
+
`docs/specbook/index.html`).
|
|
60
|
+
|
|
61
|
+
- \[`-w`|`--watch`\]:
|
|
62
|
+
Do not terminate after the initial export, but keep the outputs in
|
|
63
|
+
sync by re-exporting on every change of a configuration file, an
|
|
64
|
+
artifact file, or one of its embedded assets (bursts of changes are
|
|
65
|
+
coalesced). A transiently failing re-export leaves the watch intact.
|
|
66
|
+
As a re-export has to land somewhere it can be picked up again,
|
|
67
|
+
`--watch` rejects the `-` standard output. The command then runs
|
|
68
|
+
until it is interrupted (e.g., via `CTRL+C`).
|
|
69
|
+
|
|
70
|
+
## EXIT STATUS
|
|
71
|
+
|
|
72
|
+
Exits with status `0` on success, and with status `1` on any lint
|
|
73
|
+
diagnostic of `error` severity, an invalid output specification, a
|
|
74
|
+
missing browser for `pdf`, an unwritable output file, or `--watch`
|
|
75
|
+
combined with `-`.
|
|
76
|
+
|
|
77
|
+
## EXAMPLES
|
|
78
|
+
|
|
79
|
+
```sh
|
|
80
|
+
# export the specification as HTML into its default location
|
|
81
|
+
$ ase spec export
|
|
82
|
+
|
|
83
|
+
# export the specification as PDF and as JSON in a single run
|
|
84
|
+
$ ase spec export -o spec.pdf -o spec.json
|
|
85
|
+
|
|
86
|
+
# export the normalized Markdown to standard output
|
|
87
|
+
$ ase spec export -o md:-
|
|
88
|
+
|
|
89
|
+
# keep an HTML export in sync with the sources
|
|
90
|
+
$ ase spec export -o /tmp/spec.html -w
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## SEE ALSO
|
|
94
|
+
|
|
95
|
+
`ase`(1), `ase-spec`(1), `ase-spec-lint`(1), `ase-spec-preview`(1).
|
|
96
|
+
|
|
97
|
+
## AUTHOR
|
|
98
|
+
|
|
99
|
+
Dr. Ralf S. Engelschall <rse@engelschall.com>
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# ase-spec-init(1) -- Initialize the Project Specification
|
|
2
|
+
|
|
3
|
+
## SYNOPSIS
|
|
4
|
+
|
|
5
|
+
`ase spec init`
|
|
6
|
+
\[`-h`|`--help`\]
|
|
7
|
+
|
|
8
|
+
## DESCRIPTION
|
|
9
|
+
|
|
10
|
+
**ase spec init** initializes the *SpecBook*-based specification below
|
|
11
|
+
`project.artifact.spec.basedir` (see `ase-spec`(1)): it creates every
|
|
12
|
+
specification Markdown file which the *SpecBook* schema configuration
|
|
13
|
+
`project.artifact.spec.schema` assigns artifacts onto and which does
|
|
14
|
+
not exist yet, creating the base directory on demand. Each created file
|
|
15
|
+
carries a frontmatter with the `Created` and `Modified` timestamps and
|
|
16
|
+
the level 1 headings of all artifacts assigned onto it, in the order of
|
|
17
|
+
the schema configuration. An already existing file is never touched.
|
|
18
|
+
|
|
19
|
+
The created files are printed to standard output as a single line
|
|
20
|
+
`initialized artifact file(s): `*file*\[`, `*file*\] \[...\], where each
|
|
21
|
+
*file* is relative to the project root, or as the line `no artifact
|
|
22
|
+
files were created` if all files already exist.
|
|
23
|
+
|
|
24
|
+
Unlike `specbook init`, no *SpecBook* project configuration file
|
|
25
|
+
`.specbook.yaml` is created, as the base directory and the schema
|
|
26
|
+
configuration are taken from the *ASE* configuration (see
|
|
27
|
+
`ase-config`(1)).
|
|
28
|
+
|
|
29
|
+
## OPTIONS
|
|
30
|
+
|
|
31
|
+
- \[`-h`|`--help`\]:
|
|
32
|
+
Show usage information and exit.
|
|
33
|
+
|
|
34
|
+
## EXIT STATUS
|
|
35
|
+
|
|
36
|
+
Exits with status `0` on success, and with status `1` if the
|
|
37
|
+
initialization failed (e.g., an invalid schema configuration).
|
|
38
|
+
|
|
39
|
+
## EXAMPLES
|
|
40
|
+
|
|
41
|
+
```sh
|
|
42
|
+
# initialize the specification
|
|
43
|
+
$ ase spec init
|
|
44
|
+
|
|
45
|
+
# initialize and then lint the specification
|
|
46
|
+
$ ase spec init && ase spec lint
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## SEE ALSO
|
|
50
|
+
|
|
51
|
+
`ase`(1), `ase-spec`(1), `ase-spec-lint`(1), `ase-spec-export`(1),
|
|
52
|
+
`ase-spec-preview`(1), `ase-config`(1).
|
|
53
|
+
|
|
54
|
+
## AUTHOR
|
|
55
|
+
|
|
56
|
+
Dr. Ralf S. Engelschall <rse@engelschall.com>
|
|
57
|
+
|