@rse/ase 0.9.62 → 0.9.63
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-artifact.js +19 -8
- package/dst/ase-config.js +12 -8
- package/dst/ase-hook.js +8 -0
- package/dst/ase-service.js +2 -0
- package/dst/ase-spec.js +241 -0
- package/dst/ase.js +2 -0
- package/package.json +10 -8
- 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/etc/stx.conf +5 -3
- package/plugin/meta/ase-format-meta.md +23 -105
- package/plugin/meta/ase-format-spec.md +22 -1326
- package/plugin/meta/ase-tenets.md +63 -4
- package/plugin/package.json +6 -2
- package/plugin/skills/ase-code-edit/SKILL.md +14 -9
- package/plugin/skills/ase-help-skill/catalog.md +3 -0
- package/plugin/skills/ase-meta-review/help.md +1 -1
- package/plugin/skills/ase-spec-edit/SKILL.md +520 -0
- package/plugin/skills/ase-spec-edit/help.md +130 -0
- package/plugin/skills/ase-sync-export/SKILL.md +57 -116
- package/plugin/skills/ase-sync-export/help.md +30 -42
- package/plugin/skills/ase-sync-import/SKILL.md +37 -15
- package/plugin/skills/ase-sync-import/help.md +14 -10
- package/plugin/skills/ase-sync-reconcile/SKILL.md +37 -16
- package/plugin/skills/ase-sync-reconcile/help.md +19 -16
- package/plugin/skills/ase-task-grill/SKILL.md +5 -4
- package/plugin/meta/ase-format-arch.md +0 -1164
|
@@ -2,115 +2,33 @@
|
|
|
2
2
|
Artifact Meta Information
|
|
3
3
|
=========================
|
|
4
4
|
|
|
5
|
-
**ASE** knows about the following
|
|
5
|
+
**ASE** knows about the following **Artifact Set**s of a project, each
|
|
6
|
+
identified by a unique <artifact-set-id/>:
|
|
6
7
|
|
|
7
|
-
-
|
|
8
|
+
- `Specification` (`SPEC`), aka "Software Requirements Specification
|
|
9
|
+
(SRS)", "Product Requirements Document (PRD)", "Requirements",
|
|
10
|
+
"Software Architecture Specification (SAS)", "Architecture
|
|
11
|
+
Description", or "Architecture Decision Record (ADR)". It covers
|
|
12
|
+
both the *requirements* ("what") and the *architecture* ("how") of
|
|
13
|
+
the project and is authored in the **SpecBook** format (see
|
|
14
|
+
`ase-format-spec.md`).
|
|
8
15
|
|
|
9
|
-
|
|
16
|
+
- `Source Code` (`CODE`), aka "Software Implementation Results (IMP)",
|
|
17
|
+
"Code", or "Software".
|
|
10
18
|
|
|
11
|
-
|
|
12
|
-
(SRS)", "Product Requirements Document (PRD)", or just
|
|
13
|
-
"Requirements".
|
|
19
|
+
- `Documentation` (`DOCS`), aka "Software Documentation Results (DOC)".
|
|
14
20
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
Record (ADR)".
|
|
21
|
+
- `Tasks` (`TASK`), aka "Task Plans", "Issues", or "User Stories". It
|
|
22
|
+
is authored in the task plan format (see `ase-format-task.md`).
|
|
18
23
|
|
|
19
|
-
|
|
20
|
-
|
|
24
|
+
- `Infrastructure` (`INFR`), aka "Infrastructure as Code (IaC)",
|
|
25
|
+
"Deployment", or "Operations".
|
|
21
26
|
|
|
22
|
-
|
|
27
|
+
- `Other` (`OTHR`), the implicit catch-all for any artifacts not
|
|
28
|
+
covered by the other **Artifact Set**s.
|
|
23
29
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
- `Other` (`OTHR`), the implicit catch-all for any artifacts not
|
|
30
|
-
covered by the other **Artifact Set**s.
|
|
31
|
-
|
|
32
|
-
Each **Artifact Set** has a unique identifier <artifact-set-id/>,
|
|
33
|
-
which is one of `SPEC`, `ARCH`, `CODE`, `DOCS`, `TASK`, `INFR`, or
|
|
34
|
-
`OTHR`.
|
|
35
|
-
|
|
36
|
-
- **Artifact**:
|
|
37
|
-
|
|
38
|
-
At level 2, each **Artifact Set** is composed of many **Artifact**s.
|
|
39
|
-
Each **Artifact** has an identifier <artifact-id/>, which is an
|
|
40
|
-
upper-case, two-letter identifier (e.g. `CJ` for `Customer Journey`)
|
|
41
|
-
derived from the **Artifact** name. The <artifact-id/> is unique
|
|
42
|
-
only *within* its **Artifact Set**; the globally-unique handle of an
|
|
43
|
-
**Artifact** is the qualified form <artifact-set-id/>-<artifact-id/>
|
|
44
|
-
(e.g. `SPEC-DP` and `ARCH-DP` are distinct artifacts). All
|
|
45
|
-
references to an **Artifact** *MUST* use this qualified form.
|
|
46
|
-
|
|
47
|
-
Each **Artifact** also has a sequence number <artifact-no/>, which
|
|
48
|
-
is the zero-padded, two-digit position of the **Artifact** (starting
|
|
49
|
-
at `01`) within the ordered list of **Artifact**s of its **Artifact
|
|
50
|
-
Set**. The <artifact-no/> is used only in the **Artifact**'s file
|
|
51
|
-
name (for stable ordering) and is *not* part of the **Artifact**'s
|
|
52
|
-
or its **Aspect**s' identifiers.
|
|
53
|
-
|
|
54
|
-
All lines of an **Artifact** should be kept below 140 characters,
|
|
55
|
-
whenever possible by line-breaking with newlines after about 120
|
|
56
|
-
characters per line.
|
|
57
|
-
|
|
58
|
-
- **Aspect**:
|
|
59
|
-
|
|
60
|
-
At level 3, each **Artifact** is composed of many **Aspect**s.
|
|
61
|
-
Each **Aspect** has a unique identifier <aspect-id/>, which is a
|
|
62
|
-
unique "slug" of always 1-3 lower-cased words (concatenated with "-"
|
|
63
|
-
characters and in total not longer than 30 characters). An example
|
|
64
|
-
is `user-login`.
|
|
65
|
-
|
|
66
|
-
Each **Artifact** file *MUST* begin with a single blank line before its
|
|
67
|
-
`#` heading and end with a single blank line after its last content line
|
|
68
|
-
(followed by the trailing newline), mirroring the blank lines shown
|
|
69
|
-
inside the `<format>` blocks below.
|
|
70
|
-
|
|
71
|
-
Each **Artifact** contains two timestamps: the <timestamp-created/>
|
|
72
|
-
is the timestamp when this **Artifact** was created. The
|
|
73
|
-
<timestamp-modified/> is the timestamp when this **Artifact** was last
|
|
74
|
-
modified. Both use an ISO-style format value. The value of both can be
|
|
75
|
-
determined by a call to the `ase_timestamp(format: "yyyy-LL-dd HH:mm")`
|
|
76
|
-
tool of the `ase` MCP server, using the `text` field of its response.
|
|
77
|
-
Whenever an **Artifact** is updated, the <timestamp-modified/> *MUST* be
|
|
78
|
-
updated, too.
|
|
79
|
-
|
|
80
|
-
An **Artifact** *MAY* additionally declare an **Export** -- a derived,
|
|
81
|
-
ready-to-consume rendering of (part of) its content, materialized as a
|
|
82
|
-
*side-by-side* file next to the **Artifact** itself. An **Artifact**
|
|
83
|
-
without an `- Export:` bullet is *not* exported.
|
|
84
|
-
|
|
85
|
-
An **Export** is declared by a single `- Export:` bullet point in the
|
|
86
|
-
**Artifact**'s format definition (see `ase-format-spec.md` and
|
|
87
|
-
`ase-format-arch.md`), of the following format:
|
|
88
|
-
|
|
89
|
-
<format>
|
|
90
|
-
|
|
91
|
-
- Export: `<export-name/>.<export-ext/>`
|
|
92
|
-
<export-transform/>
|
|
93
|
-
|
|
94
|
-
</format>
|
|
95
|
-
|
|
96
|
-
with the following details:
|
|
97
|
-
|
|
98
|
-
- <export-ext/> is the file-name extension (without the leading dot,
|
|
99
|
-
e.g. `svg`, `md`) of the exported file, which also implies its
|
|
100
|
-
target format.
|
|
101
|
-
|
|
102
|
-
- <export-transform/> is a description of *how* the **Artifact**'s
|
|
103
|
-
content is transformed into the exported file (e.g. "the entities,
|
|
104
|
-
attributes, and relations rendered as a Mermaid `classDiagram` and
|
|
105
|
-
converted to SVG").
|
|
106
|
-
|
|
107
|
-
The exported file is stored *side-by-side* with the **Artifact** under
|
|
108
|
-
the path:
|
|
109
|
-
|
|
110
|
-
`<basedir/>/<artifact-set-id/>-<artifact-no/>-<artifact-id/>-<artifact-slug/>-<export-name/>.<export-ext/>`
|
|
111
|
-
|
|
112
|
-
where <artifact-slug/> is the same slug used in the **Artifact**'s own
|
|
113
|
-
file name -- derived from the **Artifact** name by Pascal-casing each
|
|
114
|
-
word and joining the words with `-` characters (e.g. `Customer-Journey`)
|
|
115
|
-
-- as defined by the **Artifact Set**'s own format definition (see
|
|
116
|
-
`ase-format-spec.md` and `ase-format-arch.md`).
|
|
30
|
+
The <artifact-set-id/> is one of `SPEC`, `CODE`, `DOCS`, `TASK`, `INFR`,
|
|
31
|
+
or `OTHR`. The files of every **Artifact Set** except `TASK` are resolved
|
|
32
|
+
via the `ase_artifact_list(kind: [ ... ])` tool of the `ase` MCP server
|
|
33
|
+
(with the lower-cased <artifact-set-id/> as `kind`), while the `TASK`
|
|
34
|
+
files are managed by the `ase_task_*` tools.
|