@rse/ase 2.0.3 → 2.0.5
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 +13 -4
- 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 +16 -21
- 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/ase-mods-common.ts +444 -0
- package/plugin/mods/ase-mods-grill.ts +312 -0
- package/plugin/mods/ase-mods-help-browse.ts +405 -0
- package/plugin/mods/ase-mods-help-compose.ts +561 -0
- package/plugin/mods/ase-mods-help-find.ts +426 -0
- package/plugin/mods/ase-mods-help-hint.ts +134 -0
- package/plugin/mods/ase-mods-help-show.ts +142 -0
- package/plugin/mods/ase-mods.ts +214 -381
- package/plugin/mods/claude-code.d.ts +26 -3
- package/plugin/skills/ase-code-lint/SKILL.md +15 -15
- package/plugin/skills/ase-code-lint/help.md +21 -8
- package/plugin/skills/ase-help-intent/SKILL.md +2 -1
- package/plugin/skills/ase-help-intent/data.md +214 -9
- 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 +184 -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,65 @@
|
|
|
1
|
+
# ase-hook-session-persona(1) -- Handle the SessionStart Hook Event for the Persona
|
|
2
|
+
|
|
3
|
+
## SYNOPSIS
|
|
4
|
+
|
|
5
|
+
`ase hook session-persona`
|
|
6
|
+
\[`-h`|`--help`\]
|
|
7
|
+
\[`-t`|`--tool` *tool*\]
|
|
8
|
+
|
|
9
|
+
## DESCRIPTION
|
|
10
|
+
|
|
11
|
+
**ase hook session-persona** handles the `SessionStart` hook event of
|
|
12
|
+
*Anthropic Claude Code CLI* and *OpenAI Codex CLI*, resp. the
|
|
13
|
+
`sessionStart` hook event of *GitHub Copilot CLI*, in addition to
|
|
14
|
+
`ase hook session-start`.
|
|
15
|
+
It is intended to be invoked by the agent tool internally as a
|
|
16
|
+
configured hook handler only, and not directly by end users.
|
|
17
|
+
|
|
18
|
+
The handler determines the plugin root directory (see
|
|
19
|
+
`ase-hook-session-start`(1)), reads the persona rules
|
|
20
|
+
`meta/ase-persona.md` from it, and writes them as the hook output
|
|
21
|
+
payload to standard output, as `hookSpecificOutput.additionalContext`
|
|
22
|
+
(`claude` and `codex`), resp. as the top-level field
|
|
23
|
+
`additionalContext` (`copilot`).
|
|
24
|
+
|
|
25
|
+
The persona rules are injected by this separate handler, as agent tools
|
|
26
|
+
like *Anthropic Claude Code CLI* show only a preview of a hook output
|
|
27
|
+
beyond 10,000 characters, which otherwise would cut off the persona
|
|
28
|
+
rules from the output of `ase hook session-start`. The rules refer to
|
|
29
|
+
the persona style `<ase-persona-style>` injected by `ase hook
|
|
30
|
+
session-start`, but only by name, so both handlers are independent of
|
|
31
|
+
each other and their execution order does not matter.
|
|
32
|
+
|
|
33
|
+
## OPTIONS
|
|
34
|
+
|
|
35
|
+
- \[`-h`|`--help`\]:
|
|
36
|
+
Show usage information and exit.
|
|
37
|
+
|
|
38
|
+
- \[`-t`|`--tool` *tool*\]:
|
|
39
|
+
The agent tool whose hook output format is written: `claude`
|
|
40
|
+
(*Anthropic Claude Code CLI*), `copilot` (*GitHub Copilot CLI*), or
|
|
41
|
+
`codex` (*OpenAI Codex CLI*). Default: `$ASE_TOOL`, else `claude`.
|
|
42
|
+
|
|
43
|
+
## ENVIRONMENT
|
|
44
|
+
|
|
45
|
+
- `CLAUDE_PLUGIN_ROOT`, `COPILOT_PLUGIN_ROOT`, `PLUGIN_ROOT`:
|
|
46
|
+
The plugin root directory, provided by the agent tool. The handler
|
|
47
|
+
fails if the variable of the selected tool is unset or empty.
|
|
48
|
+
|
|
49
|
+
- `ASE_TOOL`:
|
|
50
|
+
The default of `--tool`.
|
|
51
|
+
|
|
52
|
+
## EXIT STATUS
|
|
53
|
+
|
|
54
|
+
Exits with status `0` on success, and with status `1` if the plugin
|
|
55
|
+
root directory cannot be determined, the persona file cannot be read,
|
|
56
|
+
or `--tool` is invalid.
|
|
57
|
+
|
|
58
|
+
## SEE ALSO
|
|
59
|
+
|
|
60
|
+
`ase`(1), `ase-hook`(1), `ase-hook-session-start`(1), `ase-config`(1).
|
|
61
|
+
|
|
62
|
+
## AUTHOR
|
|
63
|
+
|
|
64
|
+
Dr. Ralf S. Engelschall <rse@engelschall.com>
|
|
65
|
+
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# ase-hook-session-start(1) -- Handle the SessionStart Hook Event
|
|
2
|
+
|
|
3
|
+
## SYNOPSIS
|
|
4
|
+
|
|
5
|
+
`ase hook session-start`
|
|
6
|
+
\[`-h`|`--help`\]
|
|
7
|
+
\[`-t`|`--tool` *tool*\]
|
|
8
|
+
|
|
9
|
+
## DESCRIPTION
|
|
10
|
+
|
|
11
|
+
**ase hook session-start** handles the `SessionStart` hook event of
|
|
12
|
+
*Anthropic Claude Code CLI* and *OpenAI Codex CLI*, resp. the
|
|
13
|
+
`sessionStart` hook event of *GitHub Copilot CLI*. It is intended to be
|
|
14
|
+
invoked by the agent tool internally as a configured hook handler only,
|
|
15
|
+
and not directly by end users.
|
|
16
|
+
|
|
17
|
+
The handler reads the event payload from standard input, a JSON object
|
|
18
|
+
with the session id (field `session_id`, resp. `sessionId` for *GitHub
|
|
19
|
+
Copilot CLI*) and the working directory (field `cwd`), and performs the
|
|
20
|
+
following steps:
|
|
21
|
+
|
|
22
|
+
1. It determines the plugin root directory from the environment
|
|
23
|
+
variable `CLAUDE_PLUGIN_ROOT` (`claude`), `COPILOT_PLUGIN_ROOT`
|
|
24
|
+
(`copilot`), resp. `PLUGIN_ROOT` or `CLAUDE_PLUGIN_ROOT` (`codex`),
|
|
25
|
+
and reads the plugin manifest `.claude-plugin/plugin.json` (for the
|
|
26
|
+
plugin version), the constitution `meta/ase-constitution.md`, and the
|
|
27
|
+
output style `output-styles/ase-terse.md` from it.
|
|
28
|
+
|
|
29
|
+
2. It determines a version hint: a warning on a version mismatch
|
|
30
|
+
between the tool and the plugin, a notice on a newer tool version
|
|
31
|
+
available in the NPM registry (checked in the background at most
|
|
32
|
+
once per hour), and a notice on a development setup (environment
|
|
33
|
+
variable `ASE_SETUP_DEV` set).
|
|
34
|
+
|
|
35
|
+
3. For `--tool copilot` only, it changes into the project directory
|
|
36
|
+
`cwd` of the payload, as *GitHub Copilot CLI* runs its hooks in the
|
|
37
|
+
plugin installation directory.
|
|
38
|
+
|
|
39
|
+
4. It removes all session state directories below the *per-user state
|
|
40
|
+
directory*`/session/` (except the one of the current session) which
|
|
41
|
+
were not modified for more than 7 days, i.e., the leftovers of agent
|
|
42
|
+
tool sessions which ended without running `ase hook session-end`.
|
|
43
|
+
|
|
44
|
+
5. It determines the project directory (the Git top-level directory of
|
|
45
|
+
`cwd`, else `cwd` itself) and, for a valid session id (matching
|
|
46
|
+
`[A-Za-z0-9._-]+`), persists the active task id (`$ASE_TASK_ID`,
|
|
47
|
+
else `default`) and the project directory into the internal session
|
|
48
|
+
state *per-user state directory*`/session/`*id*`/state.yaml`.
|
|
49
|
+
|
|
50
|
+
6. Inside a *tmux* pane, it sets the per-pane user option
|
|
51
|
+
`@ase_agent_status` to `⏸` (ready).
|
|
52
|
+
|
|
53
|
+
7. It resolves the session information from the configuration
|
|
54
|
+
cascade (with the scope `session:`*id* for a valid session id):
|
|
55
|
+
the project id (a valid configured `project.id`, else derived from
|
|
56
|
+
the project directory), the user id (`$USER`, else `$LOGNAME`, else
|
|
57
|
+
`unknown`), the persona style `agent.persona`, the guidance level
|
|
58
|
+
`agent.guidance`, the boxing transparency `project.boxing`, the task
|
|
59
|
+
lifecycle model `project.task.lifecycle`, the defaults
|
|
60
|
+
`project.task.default.source`, `project.task.default.changeset`, and
|
|
61
|
+
`project.task.default.target`, the specification base directory
|
|
62
|
+
`project.artifact.spec.basedir`, and the schema configuration
|
|
63
|
+
`project.artifact.spec.schema`.
|
|
64
|
+
|
|
65
|
+
A setting not explicitly configured in any scope falls back to the
|
|
66
|
+
environment variables `ASE_PERSONA_STYLE`, `ASE_GUIDANCE_LEVEL`,
|
|
67
|
+
`ASE_PROJECT_BOXING`, `ASE_PROJECT_TASK_LIFECYCLE`,
|
|
68
|
+
`ASE_PROJECT_TASK_DEFAULT_SOURCE`,
|
|
69
|
+
`ASE_PROJECT_TASK_DEFAULT_CHANGESET`, and
|
|
70
|
+
`ASE_PROJECT_TASK_DEFAULT_TARGET`, and finally to the defaults
|
|
71
|
+
`engineer`, `normal`, `white`, `solo`, `worktree`, `worktree`, and
|
|
72
|
+
`source`.
|
|
73
|
+
|
|
74
|
+
8. For `--tool claude` only, it appends `export` statements of the
|
|
75
|
+
variables `ASE_VERSION`, `ASE_PLUGIN_ROOT`, `ASE_USER_ID`,
|
|
76
|
+
`ASE_PROJECT_ID`, `ASE_PROJECT_BOXING`, `ASE_PROJECT_TASK_LIFECYCLE`,
|
|
77
|
+
`ASE_PROJECT_TASK_DEFAULT_SOURCE`,
|
|
78
|
+
`ASE_PROJECT_TASK_DEFAULT_CHANGESET`,
|
|
79
|
+
`ASE_PROJECT_TASK_DEFAULT_TARGET`, `ASE_SPEC_BASEDIR`,
|
|
80
|
+
`ASE_SPEC_SCHEMA`, `ASE_TASK_ID`, `ASE_SESSION_ID`, `ASE_HEADLESS`,
|
|
81
|
+
and `ASE_AGENT_TOOL` to the file of the environment variable
|
|
82
|
+
`CLAUDE_ENV_FILE` (if set), so they are available to all shell
|
|
83
|
+
commands of the session.
|
|
84
|
+
|
|
85
|
+
9. It writes the hook output payload to standard output: the session
|
|
86
|
+
information as XML-style tags (`<ase-version>`, `<ase-version-hint>`,
|
|
87
|
+
`<ase-plugin-root>`, `<ase-persona-style>`, `<ase-guidance-level>`,
|
|
88
|
+
`<ase-user-id>`, `<ase-project-id>`, `<ase-project-boxing>`,
|
|
89
|
+
`<ase-project-task-lifecycle>`,
|
|
90
|
+
`<ase-project-task-default-source>`,
|
|
91
|
+
`<ase-project-task-default-changeset>`,
|
|
92
|
+
`<ase-project-task-default-target>`, `<ase-spec-basedir>`,
|
|
93
|
+
`<ase-spec-schema>`, `<ase-task-id>`, `<ase-session-id>`,
|
|
94
|
+
`<ase-headless>`, and `<ase-agent-tool>`), followed by the
|
|
95
|
+
constitution, with all `@`*file* references expanded recursively
|
|
96
|
+
(relative to the referencing file, `~/` denoting the home
|
|
97
|
+
directory).
|
|
98
|
+
|
|
99
|
+
The persona rules are not part of this output, but are injected
|
|
100
|
+
separately by `ase hook session-persona`, as agent tools like
|
|
101
|
+
*Anthropic Claude Code CLI* show only a preview of a hook output
|
|
102
|
+
beyond 10,000 characters.
|
|
103
|
+
|
|
104
|
+
For `--tool copilot` and `--tool codex` only, the instructions of the
|
|
105
|
+
output style `ase-terse` (with its YAML frontmatter stripped) are
|
|
106
|
+
appended, as these agent tools have no output style concept, whereas
|
|
107
|
+
*Anthropic Claude Code CLI* applies the plugin output style natively.
|
|
108
|
+
The context is emitted as `hookSpecificOutput.additionalContext`
|
|
109
|
+
(`claude` and `codex`), resp. as the top-level field
|
|
110
|
+
`additionalContext` (`copilot`).
|
|
111
|
+
|
|
112
|
+
Additionally, for `claude` and `codex`, unless running headless
|
|
113
|
+
(`ASE_HEADLESS` is `true`) or with guidance level `none`, a
|
|
114
|
+
deterministic *ASE* banner (version, user, project, task, session,
|
|
115
|
+
persona, guidance, and boxing, plus usage hints for guidance level
|
|
116
|
+
`normal` and `verbose`) is emitted as the top-level field
|
|
117
|
+
`systemMessage`.
|
|
118
|
+
|
|
119
|
+
## OPTIONS
|
|
120
|
+
|
|
121
|
+
- \[`-h`|`--help`\]:
|
|
122
|
+
Show usage information and exit.
|
|
123
|
+
|
|
124
|
+
- \[`-t`|`--tool` *tool*\]:
|
|
125
|
+
The agent tool whose event payload is read and whose hook output
|
|
126
|
+
format is written: `claude` (*Anthropic Claude Code CLI*), `copilot`
|
|
127
|
+
(*GitHub Copilot CLI*), or `codex` (*OpenAI Codex CLI*). Default:
|
|
128
|
+
`$ASE_TOOL`, else `claude`.
|
|
129
|
+
|
|
130
|
+
## ENVIRONMENT
|
|
131
|
+
|
|
132
|
+
- `CLAUDE_PLUGIN_ROOT`, `COPILOT_PLUGIN_ROOT`, `PLUGIN_ROOT`:
|
|
133
|
+
The plugin root directory, provided by the agent tool. The handler
|
|
134
|
+
fails if the variable of the selected tool is unset or empty.
|
|
135
|
+
|
|
136
|
+
- `CLAUDE_ENV_FILE`:
|
|
137
|
+
The environment file of *Anthropic Claude Code CLI*, receiving the
|
|
138
|
+
exported session information.
|
|
139
|
+
|
|
140
|
+
- `ASE_TOOL`:
|
|
141
|
+
The default of `--tool`.
|
|
142
|
+
|
|
143
|
+
- `ASE_TASK_ID`:
|
|
144
|
+
The active task id of the session (default: `default`).
|
|
145
|
+
|
|
146
|
+
- `ASE_HEADLESS`:
|
|
147
|
+
If `true`, the session runs headless, and no banner is emitted.
|
|
148
|
+
|
|
149
|
+
- `ASE_SETUP_DEV`:
|
|
150
|
+
If set, the version hint notes a development setup.
|
|
151
|
+
|
|
152
|
+
- `ASE_PERSONA_STYLE`, `ASE_GUIDANCE_LEVEL`, `ASE_PROJECT_BOXING`,
|
|
153
|
+
`ASE_PROJECT_TASK_LIFECYCLE`, `ASE_PROJECT_TASK_DEFAULT_SOURCE`,
|
|
154
|
+
`ASE_PROJECT_TASK_DEFAULT_CHANGESET`,
|
|
155
|
+
`ASE_PROJECT_TASK_DEFAULT_TARGET`:
|
|
156
|
+
The fallbacks of the settings not explicitly configured.
|
|
157
|
+
|
|
158
|
+
- `USER`, `LOGNAME`:
|
|
159
|
+
The user id.
|
|
160
|
+
|
|
161
|
+
- `TMUX`, `TMUX_PANE`:
|
|
162
|
+
The *tmux* pane whose user option `@ase_agent_status` is set.
|
|
163
|
+
|
|
164
|
+
## FILES
|
|
165
|
+
|
|
166
|
+
- *per-user state directory*`/session/`*id*`/state.yaml`:
|
|
167
|
+
The internal session state, holding the active task id and the
|
|
168
|
+
project directory of the session.
|
|
169
|
+
|
|
170
|
+
## EXIT STATUS
|
|
171
|
+
|
|
172
|
+
Exits with status `0` on success, and with status `1` if the plugin
|
|
173
|
+
root directory cannot be determined, a plugin file cannot be read, or
|
|
174
|
+
`--tool` is invalid.
|
|
175
|
+
|
|
176
|
+
## SEE ALSO
|
|
177
|
+
|
|
178
|
+
`ase`(1), `ase-hook`(1), `ase-hook-session-persona`(1),
|
|
179
|
+
`ase-hook-session-end`(1), `ase-config`(1),
|
|
180
|
+
`ase-statusline`(1).
|
|
181
|
+
|
|
182
|
+
## AUTHOR
|
|
183
|
+
|
|
184
|
+
Dr. Ralf S. Engelschall <rse@engelschall.com>
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# ase-hook-stop(1) -- Handle the Stop Hook Event
|
|
2
|
+
|
|
3
|
+
## SYNOPSIS
|
|
4
|
+
|
|
5
|
+
`ase hook stop`
|
|
6
|
+
\[`-h`|`--help`\]
|
|
7
|
+
\[`-t`|`--tool` *tool*\]
|
|
8
|
+
|
|
9
|
+
## DESCRIPTION
|
|
10
|
+
|
|
11
|
+
**ase hook stop** handles the `Stop` hook event of *Anthropic Claude
|
|
12
|
+
Code CLI* and *OpenAI Codex CLI*, resp. the `agentStop` hook event of
|
|
13
|
+
*GitHub Copilot CLI*, which the agent tool fires when the agent
|
|
14
|
+
finished responding. It is intended to be invoked by the agent tool
|
|
15
|
+
internally as a configured hook handler only, and not directly by end
|
|
16
|
+
users.
|
|
17
|
+
|
|
18
|
+
The handler reads and discards the event payload on standard input
|
|
19
|
+
and, when running inside a *tmux* pane, sets the per-pane user option
|
|
20
|
+
`@ase_agent_status` to `⏸` (ready), so a *tmux* status line can render
|
|
21
|
+
the live activity of the agent via `#{@ase_agent_status}`. It writes
|
|
22
|
+
nothing to standard output.
|
|
23
|
+
|
|
24
|
+
## OPTIONS
|
|
25
|
+
|
|
26
|
+
- \[`-h`|`--help`\]:
|
|
27
|
+
Show usage information and exit.
|
|
28
|
+
|
|
29
|
+
- \[`-t`|`--tool` *tool*\]:
|
|
30
|
+
The agent tool which fires the event: `claude`, `copilot`, or
|
|
31
|
+
`codex`. Default: `$ASE_TOOL`, else `claude`.
|
|
32
|
+
|
|
33
|
+
## ENVIRONMENT
|
|
34
|
+
|
|
35
|
+
- `TMUX`, `TMUX_PANE`:
|
|
36
|
+
The *tmux* pane whose user option `@ase_agent_status` is set (only if
|
|
37
|
+
both are set and non-empty).
|
|
38
|
+
|
|
39
|
+
- `ASE_TOOL`:
|
|
40
|
+
The default of `--tool`.
|
|
41
|
+
|
|
42
|
+
## EXIT STATUS
|
|
43
|
+
|
|
44
|
+
Exits with status `0`, unless `--tool` is invalid (status `1`).
|
|
45
|
+
|
|
46
|
+
## SEE ALSO
|
|
47
|
+
|
|
48
|
+
`ase`(1), `ase-hook`(1), `ase-hook-user-prompt-submit`(1), `tmux`(1).
|
|
49
|
+
|
|
50
|
+
## AUTHOR
|
|
51
|
+
|
|
52
|
+
Dr. Ralf S. Engelschall <rse@engelschall.com>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# ase-hook-user-prompt-submit(1) -- Handle the UserPromptSubmit Hook Event
|
|
2
|
+
|
|
3
|
+
## SYNOPSIS
|
|
4
|
+
|
|
5
|
+
`ase hook user-prompt-submit`
|
|
6
|
+
\[`-h`|`--help`\]
|
|
7
|
+
\[`-t`|`--tool` *tool*\]
|
|
8
|
+
|
|
9
|
+
## DESCRIPTION
|
|
10
|
+
|
|
11
|
+
**ase hook user-prompt-submit** handles the `UserPromptSubmit` hook
|
|
12
|
+
event of *Anthropic Claude Code CLI* and *OpenAI Codex CLI*, resp. the
|
|
13
|
+
`userPromptSubmitted` hook event of *GitHub Copilot CLI*, which the
|
|
14
|
+
agent tool fires when the user submits a prompt. It is intended to be
|
|
15
|
+
invoked by the agent tool internally as a configured hook handler only,
|
|
16
|
+
and not directly by end users.
|
|
17
|
+
|
|
18
|
+
The handler reads and discards the event payload on standard input
|
|
19
|
+
and, when running inside a *tmux* pane, sets the per-pane user option
|
|
20
|
+
`@ase_agent_status` to `▶` (busy), so a *tmux* status line can render
|
|
21
|
+
the live activity of the agent via `#{@ase_agent_status}`
|
|
22
|
+
(independent of the statusline of the agent tool, which is not
|
|
23
|
+
repainted during the agent processing). It writes nothing to standard
|
|
24
|
+
output.
|
|
25
|
+
|
|
26
|
+
## OPTIONS
|
|
27
|
+
|
|
28
|
+
- \[`-h`|`--help`\]:
|
|
29
|
+
Show usage information and exit.
|
|
30
|
+
|
|
31
|
+
- \[`-t`|`--tool` *tool*\]:
|
|
32
|
+
The agent tool which fires the event: `claude`, `copilot`, or
|
|
33
|
+
`codex`. Default: `$ASE_TOOL`, else `claude`.
|
|
34
|
+
|
|
35
|
+
## ENVIRONMENT
|
|
36
|
+
|
|
37
|
+
- `TMUX`, `TMUX_PANE`:
|
|
38
|
+
The *tmux* pane whose user option `@ase_agent_status` is set (only if
|
|
39
|
+
both are set and non-empty).
|
|
40
|
+
|
|
41
|
+
- `ASE_TOOL`:
|
|
42
|
+
The default of `--tool`.
|
|
43
|
+
|
|
44
|
+
## EXIT STATUS
|
|
45
|
+
|
|
46
|
+
Exits with status `0`, unless `--tool` is invalid (status `1`).
|
|
47
|
+
|
|
48
|
+
## SEE ALSO
|
|
49
|
+
|
|
50
|
+
`ase`(1), `ase-hook`(1), `ase-hook-stop`(1), `tmux`(1).
|
|
51
|
+
|
|
52
|
+
## AUTHOR
|
|
53
|
+
|
|
54
|
+
Dr. Ralf S. Engelschall <rse@engelschall.com>
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# ase-hook(1) -- Handle the Hook Events of the Agent Tool
|
|
2
|
+
|
|
3
|
+
## SYNOPSIS
|
|
4
|
+
|
|
5
|
+
`ase hook`
|
|
6
|
+
\[`-h`|`--help`\]
|
|
7
|
+
|
|
8
|
+
`ase hook`
|
|
9
|
+
*event*
|
|
10
|
+
\[`-t`|`--tool` *tool*\]
|
|
11
|
+
|
|
12
|
+
## DESCRIPTION
|
|
13
|
+
|
|
14
|
+
**ase hook** is the entry point group of the hook handlers which the
|
|
15
|
+
*ASE* plugin configures in the agent tool: in `hooks/hooks.json` for
|
|
16
|
+
*Anthropic Claude Code CLI*, in `hooks/hooks-copilot.json` for *GitHub
|
|
17
|
+
Copilot CLI* (with `--tool copilot`), and in `hooks/hooks-codex.json`
|
|
18
|
+
for *OpenAI Codex CLI* (with `--tool codex`). The agent tool invokes a
|
|
19
|
+
handler on the corresponding event, passes the event payload as a JSON
|
|
20
|
+
object on standard input, and interprets the JSON object a handler
|
|
21
|
+
optionally writes to standard output.
|
|
22
|
+
|
|
23
|
+
The handlers are intended to be invoked by the agent tool internally
|
|
24
|
+
only, and not directly by end users. Without a sub-command, the usage
|
|
25
|
+
information is shown and the command exits with status `1`.
|
|
26
|
+
|
|
27
|
+
## OPTIONS
|
|
28
|
+
|
|
29
|
+
- \[`-h`|`--help`\]:
|
|
30
|
+
Show usage information, including the list of all event handlers,
|
|
31
|
+
and exit.
|
|
32
|
+
|
|
33
|
+
## COMMANDS
|
|
34
|
+
|
|
35
|
+
The following event handlers exist, each accepting the option
|
|
36
|
+
\[`-t`|`--tool` *tool*\] (`claude`, `copilot`, or `codex`, default:
|
|
37
|
+
`$ASE_TOOL`, else `claude`) to select the agent tool whose payload
|
|
38
|
+
format is read and written:
|
|
39
|
+
|
|
40
|
+
- `ase hook session-start`:
|
|
41
|
+
Handle the `SessionStart` (resp. `sessionStart`) event: inject the
|
|
42
|
+
*ASE* constitution and session information into the session context.
|
|
43
|
+
See `ase-hook-session-start`(1).
|
|
44
|
+
|
|
45
|
+
- `ase hook session-persona`:
|
|
46
|
+
Handle the `SessionStart` (resp. `sessionStart`) event a second time:
|
|
47
|
+
inject the *ASE* persona rules into the session context.
|
|
48
|
+
See `ase-hook-session-persona`(1).
|
|
49
|
+
|
|
50
|
+
- `ase hook session-end`:
|
|
51
|
+
Handle the `SessionEnd` (resp. `sessionEnd`) event: remove the
|
|
52
|
+
session state and detach the session from its AI usage window. See
|
|
53
|
+
`ase-hook-session-end`(1).
|
|
54
|
+
|
|
55
|
+
- `ase hook pre-tool-use`:
|
|
56
|
+
Handle the `PreToolUse` (resp. `preToolUse`) event: auto-approve the
|
|
57
|
+
invocations of *ASE* tools. See `ase-hook-pre-tool-use`(1).
|
|
58
|
+
|
|
59
|
+
- `ase hook permission-request`:
|
|
60
|
+
Handle the `PermissionRequest` event of *OpenAI Codex CLI*:
|
|
61
|
+
auto-approve the invocations of *ASE* tools. See
|
|
62
|
+
`ase-hook-permission-request`(1).
|
|
63
|
+
|
|
64
|
+
- `ase hook user-prompt-submit`:
|
|
65
|
+
Handle the `UserPromptSubmit` (resp. `userPromptSubmitted`) event:
|
|
66
|
+
mark the agent as busy. See `ase-hook-user-prompt-submit`(1).
|
|
67
|
+
|
|
68
|
+
- `ase hook stop`:
|
|
69
|
+
Handle the `Stop` (resp. `agentStop`) event: mark the agent as
|
|
70
|
+
ready. See `ase-hook-stop`(1).
|
|
71
|
+
|
|
72
|
+
## ENVIRONMENT
|
|
73
|
+
|
|
74
|
+
- `ASE_TOOL`:
|
|
75
|
+
The default of the `--tool` option of all event handlers. An invalid
|
|
76
|
+
value is reported only once a handler actually runs.
|
|
77
|
+
|
|
78
|
+
## EXIT STATUS
|
|
79
|
+
|
|
80
|
+
Each event handler exits with status `0` on success, and with status
|
|
81
|
+
`1` on an invalid `--tool` value or a fatal error. The group command
|
|
82
|
+
without a sub-command exits with status `1`.
|
|
83
|
+
|
|
84
|
+
## SEE ALSO
|
|
85
|
+
|
|
86
|
+
`ase`(1), `ase-hook-session-start`(1), `ase-hook-session-persona`(1),
|
|
87
|
+
`ase-hook-session-end`(1),
|
|
88
|
+
`ase-hook-pre-tool-use`(1), `ase-hook-permission-request`(1),
|
|
89
|
+
`ase-hook-user-prompt-submit`(1), `ase-hook-stop`(1), `ase-setup`(1).
|
|
90
|
+
|
|
91
|
+
## AUTHOR
|
|
92
|
+
|
|
93
|
+
Dr. Ralf S. Engelschall <rse@engelschall.com>
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# ase-man(1) -- Browse the internally shipped manual pages
|
|
2
|
+
|
|
3
|
+
## SYNOPSIS
|
|
4
|
+
|
|
5
|
+
`ase man`
|
|
6
|
+
\[`-h`|`--help`\]
|
|
7
|
+
\[`-l`|`--list`\]
|
|
8
|
+
\[*page* \[...\]\]
|
|
9
|
+
|
|
10
|
+
## DESCRIPTION
|
|
11
|
+
|
|
12
|
+
**ase man** shows the manual pages shipped internally with the **ase**
|
|
13
|
+
tool: the manual pages of all **ase** commands *and* the manual pages
|
|
14
|
+
of all **ASE** skills of the bundled agent tool plugin.
|
|
15
|
+
|
|
16
|
+
The manual pages of the commands are shipped as Markdown in the
|
|
17
|
+
directory `dst/man/` of the tool package. There is one manual page per
|
|
18
|
+
command and command group, named after the command path with dashes,
|
|
19
|
+
e.g., `ase-task`(1) for `ase task` and `ase-agent-fleet`(1) for `ase
|
|
20
|
+
agent fleet`. The commands of the third level (e.g. `ase task store
|
|
21
|
+
start`) are covered by the manual page of their group (e.g.
|
|
22
|
+
`ase-task-store`(1)).
|
|
23
|
+
|
|
24
|
+
On a terminal (and without `--list`), **ase man** opens the
|
|
25
|
+
interactive, full-screen *manual page browser*. If standard input or
|
|
26
|
+
standard output is not a terminal, it instead prints the manual page
|
|
27
|
+
*page* (or `ase`(1)) as plain text, wrapped to 80 columns, onto
|
|
28
|
+
standard output. The browser consists of two pages:
|
|
29
|
+
|
|
30
|
+
- The *start page* shows a search field on top of a catalog of all AI
|
|
31
|
+
skills and all CLI commands, grouped like the catalog of the website
|
|
32
|
+
and laid out in up to five columns, depending on the terminal width
|
|
33
|
+
(reduced to the matching manual pages while a search is active).
|
|
34
|
+
Selecting a manual page or submitting a search opens the browser page.
|
|
35
|
+
The browser starts on the start page if no *page* is given.
|
|
36
|
+
|
|
37
|
+
- The *browser page* shows the master on the left, with the search
|
|
38
|
+
field on top of the grouped list of all manual pages (reduced to the
|
|
39
|
+
matching manual pages while a search is active), and the detail on
|
|
40
|
+
the right, with the selected manual page as rendered and
|
|
41
|
+
syntax-highlighted Markdown (with the matches of an active search
|
|
42
|
+
highlighted). References to other manual pages within the detail,
|
|
43
|
+
like `ase-task`(1) or `ase-task-edit`, can be followed. The browser
|
|
44
|
+
starts on the browser page if a *page* is given: with the manual page
|
|
45
|
+
fitting exactly onto *page* selected, else with *page* as the search.
|
|
46
|
+
|
|
47
|
+
A search consists of whitespace-separated keywords, which *all* have to
|
|
48
|
+
occur (case-insensitively) in a manual page. Only if no manual page
|
|
49
|
+
matches the keywords literally, they are matched fuzzily against the
|
|
50
|
+
words of the manual pages, so a misspelled keyword still finds its
|
|
51
|
+
manual pages. On both pages, the catalog resp. the master is filtered
|
|
52
|
+
live while typing, and the header shows the counts of the matching
|
|
53
|
+
manual pages.
|
|
54
|
+
|
|
55
|
+
## OPTIONS
|
|
56
|
+
|
|
57
|
+
- \[`-h`|`--help`\]:
|
|
58
|
+
Show program usage information only.
|
|
59
|
+
|
|
60
|
+
- \[`-l`|`--list`\]:
|
|
61
|
+
Instead of showing a manual page, list the names of all shipped
|
|
62
|
+
manual pages of the commands, one per line, in natural order. Any
|
|
63
|
+
*page* is ignored.
|
|
64
|
+
|
|
65
|
+
## ARGUMENTS
|
|
66
|
+
|
|
67
|
+
- \[*page* \[...\]\]:
|
|
68
|
+
The manual page to show (default: the start page of the interactive
|
|
69
|
+
manual page browser on a terminal, else `ase`). It is given either by
|
|
70
|
+
its name (e.g. `ase-agent-fleet` or `ase-task-edit`) or by the words
|
|
71
|
+
of the command path (e.g. `agent fleet`), which are joined with
|
|
72
|
+
dashes, where the leading `ase` is optional and the name is
|
|
73
|
+
case-insensitive.
|
|
74
|
+
|
|
75
|
+
In the manual page browser, the manual page fitting exactly onto
|
|
76
|
+
*page* is selected. Of a skill and a command of the same name (e.g.
|
|
77
|
+
`ase-task-edit` and `ase-task-edit`(1)), a single name with dashes
|
|
78
|
+
(e.g. `task-edit`) selects the skill, while the words of a command
|
|
79
|
+
path (e.g. `task edit`) select the command. If no manual page fits
|
|
80
|
+
exactly, the words of *page* are
|
|
81
|
+
placed into the search field instead, so the master shows only the
|
|
82
|
+
matching manual pages, with the first of them selected.
|
|
83
|
+
|
|
84
|
+
When printed as plain text, the manual page fitting exactly onto
|
|
85
|
+
*page* is printed likewise. If no manual page fits exactly, a command
|
|
86
|
+
path deeper than the shipped manual pages (e.g. `task store start`)
|
|
87
|
+
falls back to the manual page of its nearest parent group (e.g.
|
|
88
|
+
`ase-task-store`), but never to the top-level page `ase`(1), and a
|
|
89
|
+
*page* consisting of anything other than letters, digits, and dashes
|
|
90
|
+
is refused.
|
|
91
|
+
|
|
92
|
+
## KEYS
|
|
93
|
+
|
|
94
|
+
The following keys and mouse actions are supported by the interactive
|
|
95
|
+
manual page browser.
|
|
96
|
+
|
|
97
|
+
### Start Page
|
|
98
|
+
|
|
99
|
+
- `Up`, `Down`, `Left`, `Right`: Select the manual page above, below,
|
|
100
|
+
left, or right of the selected one in the catalog (at the end of a
|
|
101
|
+
column, `Up` and `Down` continue in the nearest other column).
|
|
102
|
+
- `Home`, `End`: Select the first or last manual page of the catalog
|
|
103
|
+
(not within the search field).
|
|
104
|
+
- `Return`: Open the selected manual page on the browser page (keeping
|
|
105
|
+
an active search).
|
|
106
|
+
- `/`: Enter the search field, whose search filters the catalog live.
|
|
107
|
+
Within it, `Return` submits the search (opening the browser page
|
|
108
|
+
with the selected, i.e. initially the first, matching manual page),
|
|
109
|
+
`Left`, `Right`, `Home`, and `End` move the cursor, `Backspace` and
|
|
110
|
+
`Delete` delete the character before resp. at the cursor, and
|
|
111
|
+
`Escape` leaves the search field again.
|
|
112
|
+
- `Escape`: Clear a non-empty search (not within the search field).
|
|
113
|
+
- `q`, `Ctrl`+`C`: Quit (`q` not within the search field).
|
|
114
|
+
- Left-Click: Open the clicked manual page (keeping an active search),
|
|
115
|
+
resp. enter the clicked search field (clearing the search on its
|
|
116
|
+
trailing `✕` symbol).
|
|
117
|
+
- Wheel: Select the manual page above or below the selected one.
|
|
118
|
+
|
|
119
|
+
### Browser Page
|
|
120
|
+
|
|
121
|
+
- `Up`, `Down`: Select the previous or next manual page of the master,
|
|
122
|
+
resp. the previous or next reference within the detail (while a
|
|
123
|
+
reference is selected).
|
|
124
|
+
- `Right`, `Left`: Enter the references of the detail (selecting the
|
|
125
|
+
first shown reference), resp. leave them again towards the master.
|
|
126
|
+
- `Page Up`, `Page Down`, `Space`: Scroll the detail by a page
|
|
127
|
+
(`Space` not within the search field).
|
|
128
|
+
- `Home`, `End`: Scroll the detail to its top or bottom (not within
|
|
129
|
+
the search field).
|
|
130
|
+
- `Tab`, `Shift`+`Tab`: Select the next or previous reference to
|
|
131
|
+
another manual page within the detail.
|
|
132
|
+
- `Return`: Follow the selected reference (leaving a search the
|
|
133
|
+
referenced manual page does not match), resp. leave the search
|
|
134
|
+
field.
|
|
135
|
+
- `/`: Enter the search field, whose search filters the master live.
|
|
136
|
+
Within it, `Left`, `Right`, `Home`, and `End` move the cursor, and
|
|
137
|
+
`Backspace` and `Delete` delete the character before resp. at the
|
|
138
|
+
cursor.
|
|
139
|
+
- `Escape`: Step back: first clear a non-empty search, then leave the
|
|
140
|
+
search field, and finally return to the start page.
|
|
141
|
+
- `q`, `Ctrl`+`C`: Quit (`q` not within the search field).
|
|
142
|
+
- Left-Click: Select the clicked manual page of the master, follow the
|
|
143
|
+
clicked reference of the detail, resp. enter the clicked search field
|
|
144
|
+
(clearing the search on its trailing `✕` symbol).
|
|
145
|
+
- Wheel: Select the previous or next manual page (over the master),
|
|
146
|
+
resp. scroll the detail (over the detail).
|
|
147
|
+
|
|
148
|
+
## FILES
|
|
149
|
+
|
|
150
|
+
- *package directory*`/dst/man/ase{,-`*command*`{,-`*sub-command*`}}.md`:
|
|
151
|
+
The internally shipped manual pages of the commands.
|
|
152
|
+
|
|
153
|
+
- *package directory*`/plugin/skills/`*skill*`/help.md`:
|
|
154
|
+
The manual pages of the skills of the bundled agent tool plugin.
|
|
155
|
+
|
|
156
|
+
## EXIT STATUS
|
|
157
|
+
|
|
158
|
+
The command exits with status `0` on success, and with status `1` if
|
|
159
|
+
no manual page is found for *page* when printing it as plain text.
|
|
160
|
+
|
|
161
|
+
## EXAMPLES
|
|
162
|
+
|
|
163
|
+
```sh
|
|
164
|
+
# browse all manual pages of the commands and skills interactively
|
|
165
|
+
$ ase man
|
|
166
|
+
|
|
167
|
+
# show the manual page of the "ase" command itself
|
|
168
|
+
$ ase man ase
|
|
169
|
+
|
|
170
|
+
# show the manual page of "ase agent fleet" (all equivalent, as no skill has this name)
|
|
171
|
+
$ ase man ase-agent-fleet
|
|
172
|
+
$ ase man agent-fleet
|
|
173
|
+
$ ase man agent fleet
|
|
174
|
+
|
|
175
|
+
# show the manual page of the skill "ase-task-edit" resp. of "ase task edit"
|
|
176
|
+
$ ase man task-edit
|
|
177
|
+
$ ase man task edit
|
|
178
|
+
|
|
179
|
+
# browse the manual pages matching the keywords "worktree" and "merge"
|
|
180
|
+
$ ase man worktree merge
|
|
181
|
+
|
|
182
|
+
# print the manual page covering "ase task store start" as plain text
|
|
183
|
+
$ ase man task store start | less
|
|
184
|
+
|
|
185
|
+
# list all shipped manual pages of the commands
|
|
186
|
+
$ ase man --list
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## SEE ALSO
|
|
190
|
+
|
|
191
|
+
`ase`(1).
|
|
192
|
+
|
|
193
|
+
## AUTHOR
|
|
194
|
+
|
|
195
|
+
Dr. Ralf S. Engelschall <rse@engelschall.com>
|