@rse/ase 2.0.5 → 2.0.7
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-agent-definition-api.d.ts +2 -0
- package/dst/ase-agent-definition-core.js +24 -3
- package/dst/ase-agent-fleet.js +2 -1
- package/dst/ase-agent-runtime-engine.js +22 -4
- package/dst/ase-agent-runtime-tool.js +10 -8
- package/dst/ase-agent-runtime.js +8 -4
- package/dst/ase-config-schema.js +1 -1
- package/dst/ase-man-catalog.js +1 -1
- package/dst/ase-setup-settings.js +111 -1
- package/dst/ase-setup.js +19 -7
- package/dst/ase-spec.js +184 -49
- package/dst/ase-task-board-tui-model.js +8 -1
- package/dst/ase-task-board-tui.js +26 -2
- package/dst/ase-task-board-web-client.js +10 -10
- package/dst/ase-task-store-plugin-gitea.js +3 -3
- package/dst/man/ase-agent-adhoc.md +25 -6
- package/dst/man/ase-agent-condenser.md +7 -0
- package/dst/man/ase-agent-editor.md +7 -0
- package/dst/man/ase-agent-estimator.md +7 -0
- package/dst/man/ase-agent-fleet.md +7 -4
- package/dst/man/ase-agent-implementer.md +7 -0
- package/dst/man/ase-agent-integrator.md +7 -0
- package/dst/man/ase-agent-qualifier.md +7 -0
- package/dst/man/ase-agent-rebooter.md +7 -0
- package/dst/man/ase-agent-researcher.md +7 -0
- package/dst/man/ase-artifact.md +1 -1
- package/dst/man/ase-config.md +5 -3
- package/dst/man/ase-mcp.md +1 -1
- package/dst/man/ase-setup-install.md +10 -1
- package/dst/man/ase-setup-status.md +6 -0
- package/dst/man/ase-setup-uninstall.md +3 -1
- package/dst/man/ase-setup-update.md +3 -0
- package/dst/man/ase-setup.md +4 -4
- package/dst/man/ase-spec-export.md +14 -3
- package/dst/man/ase-spec-init.md +10 -1
- package/dst/man/ase-spec-lint.md +2 -1
- package/dst/man/ase-spec-preview.md +10 -1
- package/dst/man/ase-spec-query.md +96 -0
- package/dst/man/ase-spec.md +32 -11
- package/dst/man/ase.md +3 -3
- package/package.json +20 -17
- package/plugin/.claude-plugin/icon.png +0 -0
- 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/meta/ase-common-task.md +9 -1
- package/plugin/meta/ase-control.md +14 -0
- package/plugin/meta/ase-format-spec.md +29 -5
- package/plugin/meta/ase-format-specbook.md +427 -47
- package/plugin/meta/ase-format-specbook.yaml +189 -87
- package/plugin/meta/ase-skill.md +7 -0
- package/plugin/mods/ase-mods-common.ts +36 -6
- package/plugin/mods/ase-mods-evaluate.ts +227 -0
- package/plugin/mods/ase-mods-grill.ts +1 -30
- package/plugin/mods/ase-mods-help-browse.ts +18 -13
- package/plugin/mods/ase-mods-help-find.ts +17 -9
- package/plugin/mods/ase-mods-help-hint.ts +1 -1
- package/plugin/mods/ase-mods.ts +23 -17
- package/plugin/skills/ase-code-edit/SKILL.md +53 -16
- package/plugin/skills/ase-code-edit/help.md +26 -13
- package/plugin/skills/ase-code-lint/SKILL.md +7 -3
- package/plugin/skills/ase-help-intent/data.md +170 -28
- 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-changelog/SKILL.md +29 -10
- package/plugin/skills/ase-repo-changelog/help.md +5 -1
- package/plugin/skills/ase-repo-commit/SKILL.md +4 -1
- package/plugin/skills/ase-repo-dissect/help.md +2 -1
- package/plugin/skills/ase-repo-stage/SKILL.md +459 -0
- package/plugin/skills/ase-repo-stage/help.md +120 -0
- package/plugin/skills/ase-spec-activate/SKILL.md +4 -1
- package/plugin/skills/ase-spec-edit/SKILL.md +20 -12
- package/plugin/skills/ase-spec-edit/help.md +22 -14
- package/plugin/mods/claude-code.d.ts +0 -13440
package/dst/man/ase-spec.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# ase-spec(1) -- Initialize, Lint, Export, and Preview the Project Specification
|
|
1
|
+
# ase-spec(1) -- Initialize, Lint, Export, Query, and Preview the Project Specification
|
|
2
2
|
|
|
3
3
|
## SYNOPSIS
|
|
4
4
|
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
\[`-h`|`--help`\]
|
|
7
7
|
|
|
8
8
|
`ase spec init`
|
|
9
|
+
\[`-s`|`--sample`\]
|
|
9
10
|
|
|
10
11
|
`ase spec lint`
|
|
11
12
|
\[`-m`|`--markdown`\]
|
|
@@ -14,27 +15,42 @@
|
|
|
14
15
|
`ase spec export`
|
|
15
16
|
\[`-o`|`--output` \[*format*`:`\]*file*\] \[...\]
|
|
16
17
|
\[`-w`|`--watch`\]
|
|
18
|
+
\[`-S`|`--schema`\]
|
|
19
|
+
|
|
20
|
+
`ase spec query`
|
|
21
|
+
\[`-P`|`--param` *name*`=`*value*\] \[...\]
|
|
22
|
+
\[`-f`|`--format` *format*\]
|
|
23
|
+
\[`-o`|`--output` \[*format*`:`\]*file*\]
|
|
24
|
+
\[`-S`|`--schema`\]
|
|
25
|
+
*selector*
|
|
17
26
|
|
|
18
27
|
`ase spec preview`
|
|
19
28
|
\[`-a`|`--addr` *ip-addr*\]
|
|
20
29
|
\[`-p`|`--port` *tcp-port*\]
|
|
30
|
+
\[`-S`|`--schema`\]
|
|
21
31
|
|
|
22
32
|
## DESCRIPTION
|
|
23
33
|
|
|
24
34
|
**ase spec** is the entry point group for initializing, linting,
|
|
25
|
-
exporting, and previewing the *SpecBook*-based project
|
|
26
|
-
(SPEC), i.e., the Markdown files (plus their embedded
|
|
27
|
-
artifact kind `spec` below the base directory
|
|
35
|
+
exporting, querying, and previewing the *SpecBook*-based project
|
|
36
|
+
specification (SPEC), i.e., the Markdown files (plus their embedded
|
|
37
|
+
assets) of the artifact kind `spec` below the base directory
|
|
28
38
|
`project.artifact.spec.basedir` (default: `docs/specbook`, relative to
|
|
29
|
-
the project root).
|
|
39
|
+
the project root). Every `.md` file below the base directory
|
|
40
|
+
(recursively, except below `.`-prefixed entries), whatever its name,
|
|
41
|
+
is taken as a specification file.
|
|
30
42
|
|
|
31
43
|
The specification is governed by the *SpecBook* YAML schema
|
|
32
44
|
configuration `project.artifact.spec.schema`: a whitespace-separated
|
|
33
45
|
list of schema files, merged in the given order, where the entry `std`
|
|
34
46
|
names the full standard schema bundled with *SpecBook* (not its
|
|
35
47
|
compressed variant `ase-format-specbook.yaml` bundled with the plugin
|
|
36
|
-
for the agents, see `ase-util-meta`(1))
|
|
37
|
-
|
|
48
|
+
for the agents, see `ase-util-meta`(1)), the entries `meta` and `pm`
|
|
49
|
+
name the meta and project management schemas bundled with *SpecBook*,
|
|
50
|
+
the entries prefixed with `npm:`, `github:`, `http://`, or `https://`
|
|
51
|
+
name remote schemas (fetched and cached by *SpecBook*), and every other
|
|
52
|
+
entry is a file path or glob pattern relative to the project root. An
|
|
53
|
+
unset or empty value means `std`.
|
|
38
54
|
|
|
39
55
|
All reading specification commands honor the Git exclude rules exactly
|
|
40
56
|
like `ase artifact list` does (see `ase-artifact`(1)): an artifact file
|
|
@@ -55,7 +71,7 @@ exits with status `1`.
|
|
|
55
71
|
|
|
56
72
|
## COMMANDS
|
|
57
73
|
|
|
58
|
-
- `ase spec init
|
|
74
|
+
- `ase spec init` \[`-s`|`--sample`\]:
|
|
59
75
|
Initialize the absent specification Markdown files of the schema
|
|
60
76
|
configuration. See `ase-spec-init`(1).
|
|
61
77
|
|
|
@@ -63,11 +79,15 @@ exits with status `1`.
|
|
|
63
79
|
Lint the specification against the schema configuration, and
|
|
64
80
|
optionally for its generic Markdown formatting. See `ase-spec-lint`(1).
|
|
65
81
|
|
|
66
|
-
- `ase spec export` \[`-o`|`--output` \[*format*`:`\]*file*\] \[...\] \[`-w`|`--watch`\]:
|
|
82
|
+
- `ase spec export` \[`-o`|`--output` \[*format*`:`\]*file*\] \[...\] \[`-w`|`--watch`\] \[`-S`|`--schema`\]:
|
|
67
83
|
Export the specification as JSON, JSON5, YAML, TOON, HTML, PDF, or
|
|
68
84
|
normalized Markdown. See `ase-spec-export`(1).
|
|
69
85
|
|
|
70
|
-
- `ase spec
|
|
86
|
+
- `ase spec query` \[`-P`|`--param` *name*`=`*value*\] \[...\] \[`-f`|`--format` *format*\] \[`-o`|`--output` \[*format*`:`\]*file*\] \[`-S`|`--schema`\] *selector*:
|
|
87
|
+
Query the specification with an *ASTq* selector, writing the matched
|
|
88
|
+
nodes as JSON, JSON5, YAML, or TOON. See `ase-spec-query`(1).
|
|
89
|
+
|
|
90
|
+
- `ase spec preview` \[`-a`|`--addr` *ip-addr*\] \[`-p`|`--port` *tcp-port*\] \[`-S`|`--schema`\]:
|
|
71
91
|
Serve the HTML export of the specification as a live preview. See
|
|
72
92
|
`ase-spec-preview`(1).
|
|
73
93
|
|
|
@@ -78,7 +98,8 @@ The group command without a sub-command exits with status `1`.
|
|
|
78
98
|
## SEE ALSO
|
|
79
99
|
|
|
80
100
|
`ase`(1), `ase-spec-init`(1), `ase-spec-lint`(1), `ase-spec-export`(1),
|
|
81
|
-
`ase-spec-
|
|
101
|
+
`ase-spec-query`(1), `ase-spec-preview`(1), `ase-artifact`(1),
|
|
102
|
+
`ase-config`(1).
|
|
82
103
|
|
|
83
104
|
## AUTHOR
|
|
84
105
|
|
package/dst/man/ase.md
CHANGED
|
@@ -25,8 +25,8 @@ hook handlers, the statusline rendering, the persisted task plan
|
|
|
25
25
|
management (including a task store server and an interactive task
|
|
26
26
|
board), the autonomous task lifecycle agents (plus their agent relay
|
|
27
27
|
and fleet supervisor), the project artifact resolution, the
|
|
28
|
-
*SpecBook*-based specification initializing, linting, exporting
|
|
29
|
-
previewing, and miscellaneous utilities like diagram rendering,
|
|
28
|
+
*SpecBook*-based specification initializing, linting, exporting,
|
|
29
|
+
querying, and previewing, and miscellaneous utilities like diagram rendering,
|
|
30
30
|
identifier minting, and text measuring.
|
|
31
31
|
|
|
32
32
|
Most commands are sub-command groups. Each group and each command has
|
|
@@ -100,7 +100,7 @@ The following top-level commands exist:
|
|
|
100
100
|
`ase-artifact`(1).
|
|
101
101
|
|
|
102
102
|
- `ase spec` *command* \[...\]:
|
|
103
|
-
Initialize, lint, export, and preview the *SpecBook*-based project
|
|
103
|
+
Initialize, lint, export, query, and preview the *SpecBook*-based project
|
|
104
104
|
specification. See `ase-spec`(1).
|
|
105
105
|
|
|
106
106
|
- `ase util` *command* \[...\]:
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"homepage": "https://ase.tools",
|
|
7
7
|
"repository": { "url": "git+https://github.com/rse/ase.git", "type": "git" },
|
|
8
8
|
"bugs": { "url": "https://github.com/rse/ase/issues" },
|
|
9
|
-
"version": "2.0.
|
|
9
|
+
"version": "2.0.7",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"author": {
|
|
12
12
|
"name": "Dr. Ralf S. Engelschall",
|
|
@@ -21,22 +21,23 @@
|
|
|
21
21
|
"./package.json": "./package.json"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"eslint": "10.
|
|
24
|
+
"eslint": "10.14.0",
|
|
25
25
|
"@eslint/js": "10.0.1",
|
|
26
|
-
"@typescript-eslint/parser": "8.72.
|
|
27
|
-
"@typescript-eslint/eslint-plugin": "8.72.
|
|
28
|
-
"typescript-eslint": "8.72.
|
|
26
|
+
"@typescript-eslint/parser": "8.72.1",
|
|
27
|
+
"@typescript-eslint/eslint-plugin": "8.72.1",
|
|
28
|
+
"typescript-eslint": "8.72.1",
|
|
29
29
|
"eslint-plugin-promise": "7.3.0",
|
|
30
30
|
"neostandard": "0.14.1",
|
|
31
|
-
"globals": "17.
|
|
31
|
+
"globals": "17.14.0",
|
|
32
32
|
"typescript": "6.0.3",
|
|
33
|
-
"eslint-plugin-vue": "10.
|
|
33
|
+
"eslint-plugin-vue": "10.12.0",
|
|
34
34
|
"vue-eslint-parser": "10.4.1",
|
|
35
|
-
"vue-tsc": "3.3.
|
|
35
|
+
"vue-tsc": "3.3.14",
|
|
36
36
|
|
|
37
37
|
"@rse/stx": "1.1.7",
|
|
38
38
|
"nodemon": "3.1.14",
|
|
39
39
|
"shx": "0.4.0",
|
|
40
|
+
"sync-directory": "6.0.6",
|
|
40
41
|
"stylus": "0.64.0",
|
|
41
42
|
"vite": "8.3.5",
|
|
42
43
|
"@vitejs/plugin-vue": "6.0.10",
|
|
@@ -55,10 +56,10 @@
|
|
|
55
56
|
"source-sans": "3.52.0",
|
|
56
57
|
"@fontsource/dejavu-mono": "5.3.0",
|
|
57
58
|
|
|
58
|
-
"@types/node": "26.6.
|
|
59
|
+
"@types/node": "26.6.6",
|
|
59
60
|
"@types/luxon": "3.7.6",
|
|
60
61
|
"@types/which": "3.0.4",
|
|
61
|
-
"@types/update-notifier": "6.0.
|
|
62
|
+
"@types/update-notifier": "6.0.9",
|
|
62
63
|
"@types/semver": "7.8.0",
|
|
63
64
|
"@types/shell-quote": "1.7.5",
|
|
64
65
|
"@types/proper-lockfile": "4.1.4",
|
|
@@ -77,15 +78,16 @@
|
|
|
77
78
|
"valibot": "1.5.0",
|
|
78
79
|
"execa": "10.2.1",
|
|
79
80
|
"mkdirp": "3.0.1",
|
|
80
|
-
"@hapi/hapi": "21.4.
|
|
81
|
+
"@hapi/hapi": "21.4.12",
|
|
81
82
|
"beautiful-mermaid": "1.1.3",
|
|
82
83
|
"@d2lang/d2": "0.1.34",
|
|
83
|
-
"elkjs": "0.12.
|
|
84
|
+
"elkjs": "0.12.1",
|
|
84
85
|
"ink": "8.0.0",
|
|
86
|
+
"string-width": "8.3.0",
|
|
85
87
|
"react": "19.3.1",
|
|
86
88
|
"chokidar": "6.0.0",
|
|
87
|
-
"marked": "18.1.
|
|
88
|
-
"shiki": "4.
|
|
89
|
+
"marked": "18.1.3",
|
|
90
|
+
"shiki": "4.6.0",
|
|
89
91
|
"cli-table3": "0.6.5",
|
|
90
92
|
"chalk": "6.0.1",
|
|
91
93
|
"pretty-ms": "10.0.0",
|
|
@@ -95,7 +97,7 @@
|
|
|
95
97
|
"zod": "4.6.7",
|
|
96
98
|
"which": "7.0.0",
|
|
97
99
|
"update-notifier": "7.3.1",
|
|
98
|
-
"semver": "7.8.
|
|
100
|
+
"semver": "7.8.6",
|
|
99
101
|
"shell-quote": "1.12.0",
|
|
100
102
|
"get-stdin": "10.0.0",
|
|
101
103
|
"proper-lockfile": "4.1.2",
|
|
@@ -106,12 +108,12 @@
|
|
|
106
108
|
"undici": "8.12.3",
|
|
107
109
|
"picomatch": "4.0.7",
|
|
108
110
|
"lru-cache": "11.5.3",
|
|
109
|
-
"@rse/specbook": "1.
|
|
111
|
+
"@rse/specbook": "1.6.2",
|
|
110
112
|
"markdownlint": "0.42.0",
|
|
111
113
|
"tail": "2.2.6",
|
|
112
114
|
"source-code-error": "1.2.0",
|
|
113
115
|
"pure-uuid": "2.0.0",
|
|
114
|
-
"ws": "8.22.
|
|
116
|
+
"ws": "8.22.1",
|
|
115
117
|
"@rse/mrcs": "0.9.2",
|
|
116
118
|
"@octokit/core": "7.0.8",
|
|
117
119
|
"@octokit/plugin-rest-endpoint-methods": "18.0.0",
|
|
@@ -142,6 +144,7 @@
|
|
|
142
144
|
"!plugin/node_modules/**",
|
|
143
145
|
"!plugin/package.json",
|
|
144
146
|
"!plugin/etc/**",
|
|
147
|
+
"!plugin/mods/claude-code.d.ts",
|
|
145
148
|
".claude-plugin/**/*",
|
|
146
149
|
"README.md"
|
|
147
150
|
],
|
|
Binary file
|
|
@@ -227,10 +227,18 @@ related to this MCP call except the following <template/>:
|
|
|
227
227
|
custom dialog according to the expanded `custom-dialog`
|
|
228
228
|
definition. You *MUST* closely follow this definition:
|
|
229
229
|
|
|
230
|
-
<expand name="custom-dialog" arg1="--
|
|
230
|
+
<expand name="custom-dialog" arg1="--other">
|
|
231
231
|
<content/>
|
|
232
232
|
</expand>
|
|
233
233
|
|
|
234
|
+
If <result/> matches `OTHER: <text/>`, the user typed a free-text
|
|
235
|
+
request instead of choosing an option: treat it as an implicit
|
|
236
|
+
`DONE`, i.e., set <result>DONE</result>, and let the calling skill
|
|
237
|
+
finish along its `DONE` dispatch (output its `DONE` template).
|
|
238
|
+
Its *STOP* then ends only the skill, *not* the current turn:
|
|
239
|
+
immediately afterwards, handle <text/> as a regular user request,
|
|
240
|
+
outside of any skill, without re-opening this dialog.
|
|
241
|
+
|
|
234
242
|
</define>
|
|
235
243
|
|
|
236
244
|
<define name="task-next-handoff">
|
|
@@ -187,3 +187,17 @@ Control Flow Constructs
|
|
|
187
187
|
the order of their occurrence in <parallel-body/>. This construct is
|
|
188
188
|
expanded to its <parallel-body/>. Do not output anything else.
|
|
189
189
|
|
|
190
|
+
- *IMPORTANT*: You *MUST* honor the following rule for *all*
|
|
191
|
+
concurrently dispatched sub-agents -- whether invoked through
|
|
192
|
+
<parallel/> or through multiple `Agent` tool invocations emitted in
|
|
193
|
+
one single message:
|
|
194
|
+
|
|
195
|
+
The agent tool may run sub-agents in the *background* (e.g.
|
|
196
|
+
*Anthropic Claude Code CLI* ignores `run_in_background: false`) and
|
|
197
|
+
then notifies you of each returned sub-agent individually. While
|
|
198
|
+
these notifications arrive, you *MUST* *NOT* output anything -- no
|
|
199
|
+
progress messages (like `Batch 3 of 8 is back, 5 still running`),
|
|
200
|
+
no intermediate results, and no waiting notices -- but silently wait
|
|
201
|
+
for the remaining sub-agents. Only once *all* of them have returned,
|
|
202
|
+
continue with the processing which consumes their results.
|
|
203
|
+
|
|
@@ -20,16 +20,40 @@ SpecBook Project Instantiation
|
|
|
20
20
|
with **ASE** in the file `meta/ase-format-specbook.yaml`
|
|
21
21
|
(relative to the plugin root).
|
|
22
22
|
|
|
23
|
+
- For each entry `meta`, `pm`, or `npm:...`, `github:...`,
|
|
24
|
+
`http://...`, or `https://...` in the list:
|
|
25
|
+
|
|
26
|
+
The entry names a YAML schema configuration bundled with or
|
|
27
|
+
fetched by **SpecBook** itself (the meta, the project
|
|
28
|
+
management, or a remote one), which has no file to read.
|
|
29
|
+
Instead, obtain the *effective* (merged) schema configuration
|
|
30
|
+
once via the `ase_specbook_query(schema: true, selector: "/
|
|
31
|
+
artifact", format: "yaml")` tool of the `ase` MCP server, which
|
|
32
|
+
describes it as a **SpecBook** document.
|
|
33
|
+
|
|
23
34
|
- For each *other* entry in the list:
|
|
24
35
|
|
|
25
|
-
The entry names a custom YAML schema configuration file
|
|
26
|
-
project (relative to the project
|
|
36
|
+
The entry names a custom YAML schema configuration file (or
|
|
37
|
+
glob pattern of files) of the project (relative to the project
|
|
38
|
+
root).
|
|
27
39
|
|
|
28
40
|
You *MUST* read all resulting schema configuration files via the
|
|
29
41
|
`Read` tool before working on the specification of the **SpecBook
|
|
30
42
|
SPEC Model**.
|
|
31
43
|
|
|
32
44
|
- The **SpecBook SPEC Model** of this project is the set of specification
|
|
33
|
-
Markdown files
|
|
34
|
-
to the project root
|
|
35
|
-
|
|
45
|
+
Markdown files below the directory <ase-spec-basedir/> (relative
|
|
46
|
+
to the project root, recursively, where every `.md` file is a
|
|
47
|
+
specification file, whatever its name), whose files are resolved
|
|
48
|
+
via the `ase_artifact_list(kind: [ "spec" ])` tool of the `ase` MCP
|
|
49
|
+
server.
|
|
50
|
+
|
|
51
|
+
- The **SpecBook SPEC Model** of this project can be queried
|
|
52
|
+
*structurally* via the `ase_specbook_query(selector: "<selector/>")`
|
|
53
|
+
tool of the `ase` MCP server, with an XPath-like *ASTq* selector
|
|
54
|
+
like `// USE-CASE [ @STATUS == 'Done' ]` (object nodes typed by
|
|
55
|
+
their kind with whitespace dashed, attributes `id`, `name`,
|
|
56
|
+
`description`, `rationale`, and one per property key, and the
|
|
57
|
+
function `refs()` yielding the objects referenced by an object).
|
|
58
|
+
Prefer it over reading many artifact files when a question spans
|
|
59
|
+
objects of entire kinds, property values, or reference relations.
|