@kiwidata/grimoire 0.1.6 → 0.2.0
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/README.md +5 -1
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +2 -0
- package/dist/cli/program.js.map +1 -1
- package/dist/commands/comment-lint.d.ts +3 -0
- package/dist/commands/comment-lint.d.ts.map +1 -0
- package/dist/commands/comment-lint.js +14 -0
- package/dist/commands/comment-lint.js.map +1 -0
- package/dist/core/branch-check.d.ts.map +1 -1
- package/dist/core/branch-check.js +2 -16
- package/dist/core/branch-check.js.map +1 -1
- package/dist/core/comment-lint.d.ts +18 -0
- package/dist/core/comment-lint.d.ts.map +1 -0
- package/dist/core/comment-lint.js +215 -0
- package/dist/core/comment-lint.js.map +1 -0
- package/dist/core/doc-style.d.ts +1 -0
- package/dist/core/doc-style.d.ts.map +1 -1
- package/dist/core/doc-style.js +1 -1
- package/dist/core/doc-style.js.map +1 -1
- package/dist/core/docs.js +1 -1
- package/dist/core/docs.js.map +1 -1
- package/dist/core/health.js +1 -1
- package/dist/core/health.js.map +1 -1
- package/dist/core/hooks.js +39 -28
- package/dist/core/hooks.js.map +1 -1
- package/dist/core/init.js +1 -0
- package/dist/core/init.js.map +1 -1
- package/dist/core/list.js +2 -2
- package/dist/core/list.js.map +1 -1
- package/dist/core/status.js +2 -2
- package/dist/core/status.js.map +1 -1
- package/dist/core/update.d.ts.map +1 -1
- package/dist/core/update.js +22 -0
- package/dist/core/update.js.map +1 -1
- package/dist/core/validate.js +1 -1
- package/dist/core/validate.js.map +1 -1
- package/dist/utils/config.d.ts +2 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +4 -0
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/frontmatter.d.ts +6 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +13 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/paths.d.ts +1 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +5 -4
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/stdin.d.ts +3 -0
- package/dist/utils/stdin.d.ts.map +1 -0
- package/dist/utils/stdin.js +13 -0
- package/dist/utils/stdin.js.map +1 -0
- package/package.json +6 -2
- package/skills/grimoire-apply/SKILL.md +1 -1
- package/skills/grimoire-draft/SKILL.md +145 -215
- package/skills/references/artifact-map.md +2 -1
- package/templates/draft.md +108 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: draft
|
|
3
|
+
change-id: <kebab-case-verb-led>
|
|
4
|
+
kind: greenfield | refactor
|
|
5
|
+
# NO complexity here. Complexity is an OUTPUT of design — scored at projection
|
|
6
|
+
# (after agreement) and written to manifest.md, never to this file.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
<!--
|
|
10
|
+
draft.md — the ONE living surface you design a change on.
|
|
11
|
+
|
|
12
|
+
This is where the whole change lives as a single coherent picture: diagram/sketch,
|
|
13
|
+
rationale, a decision ledger, pseudo-code, and an open-question ledger. You and the
|
|
14
|
+
user iterate HERE (this is the interview). Nothing is written to features/,
|
|
15
|
+
constraints.md, or decisions/ until the design is agreed — then it is PROJECTED into
|
|
16
|
+
those homes. This file is ephemeral: retained read-only as reference through the
|
|
17
|
+
pipeline, deleted when the change folder is cleared at grimoire-apply finalize. Git
|
|
18
|
+
history preserves it.
|
|
19
|
+
|
|
20
|
+
Required sections: At a glance · Why · Decisions · Decided / Open.
|
|
21
|
+
As-needed: Current state (REQUIRED for kind=refactor) · Sketches · Constraints · Cut.
|
|
22
|
+
Delete the guidance comments and any section that carries no weight for this change.
|
|
23
|
+
-->
|
|
24
|
+
|
|
25
|
+
# <change> — draft
|
|
26
|
+
|
|
27
|
+
**Date:** <YYYY-MM-DD> · **Provenance:** <prior passes / branches / source docs, if any>
|
|
28
|
+
|
|
29
|
+
## At a glance
|
|
30
|
+
|
|
31
|
+
<!--
|
|
32
|
+
Make the whole change graspable in one screen. Pick the medium that fits:
|
|
33
|
+
- greenfield → an ASCII flow / box diagram of the system or pipeline
|
|
34
|
+
- refactor → a pseudo-code sketch of the target shape (annotate with decision IDs)
|
|
35
|
+
If grimoire-design (Figma) output exists for this change, its visual + component/state
|
|
36
|
+
material anchors this section.
|
|
37
|
+
-->
|
|
38
|
+
|
|
39
|
+
## Why
|
|
40
|
+
|
|
41
|
+
<!--
|
|
42
|
+
greenfield: the objective (what problem, how you'll know it's solved) + non-goals.
|
|
43
|
+
refactor: the pain points justifying the change — each a NAMED, LOCATED smell with a
|
|
44
|
+
file:line breadcrumb, not an abstract complaint.
|
|
45
|
+
-->
|
|
46
|
+
|
|
47
|
+
## Current state <!-- REQUIRED for kind=refactor; omit for greenfield -->
|
|
48
|
+
|
|
49
|
+
<!--
|
|
50
|
+
How the touched system works TODAY, with breadcrumbs to live code. Mandate the codebase
|
|
51
|
+
graph: index_repository first if needed, then search_graph / trace_path / get_code_snippet
|
|
52
|
+
for qualified names, callers, and call chains. Follow with a severity-ranked Gaps/drift
|
|
53
|
+
list — the audit findings that motivate the redesign.
|
|
54
|
+
-->
|
|
55
|
+
|
|
56
|
+
## Decisions
|
|
57
|
+
|
|
58
|
+
<!--
|
|
59
|
+
ONE inline ledger. Each row: a stable ID, the decision, and its WHY. Use sub-IDs (D1a)
|
|
60
|
+
and cross-references (D7 cites D3) freely — this is how coupled decisions stay legible
|
|
61
|
+
in one place. At projection, each NOVEL decision becomes a MADR (novelty gate applies —
|
|
62
|
+
obvious tooling picks fold into the baseline ADR, they don't mint a record).
|
|
63
|
+
-->
|
|
64
|
+
|
|
65
|
+
| # | Decision | Why |
|
|
66
|
+
|----|----------|-----|
|
|
67
|
+
| D1 | | |
|
|
68
|
+
|
|
69
|
+
## Sketches <!-- as-needed; expected for refactor -->
|
|
70
|
+
|
|
71
|
+
<!--
|
|
72
|
+
Pseudo-code / key considerations for the target shape. Mark it "not final" — it is shape,
|
|
73
|
+
not contract. Annotate lines with the decision IDs they realize (# D8).
|
|
74
|
+
-->
|
|
75
|
+
|
|
76
|
+
## Constraints <!-- as-needed -->
|
|
77
|
+
|
|
78
|
+
<!--
|
|
79
|
+
Invariants this change must hold (security / NFR / observability / compliance). One line
|
|
80
|
+
each: assertion · rationale · how-verified. These project to .grimoire/docs/constraints.md
|
|
81
|
+
— NOT to a feature file.
|
|
82
|
+
-->
|
|
83
|
+
|
|
84
|
+
## Decided / Open
|
|
85
|
+
|
|
86
|
+
<!--
|
|
87
|
+
Two lists. Decided = settled calls (cross-reference the D-IDs). Open = live unknowns.
|
|
88
|
+
Resolve an Open IN PLACE — rewrite it as `RESOLVED: <answer> (Dn)`, do not delete it.
|
|
89
|
+
The struck-through trail is the record of the thinking. Design is "done" when Decided is
|
|
90
|
+
stable and Open is empty-or-deferred.
|
|
91
|
+
-->
|
|
92
|
+
|
|
93
|
+
**Decided:**
|
|
94
|
+
-
|
|
95
|
+
|
|
96
|
+
**Open:**
|
|
97
|
+
-
|
|
98
|
+
|
|
99
|
+
## Cut / deferred <!-- as-needed; greenfield-leaning -->
|
|
100
|
+
|
|
101
|
+
<!--
|
|
102
|
+
What was deliberately removed or deferred, so it is not silently lost. Table:
|
|
103
|
+
cut · what it was · why cut · re-add when. Design by subtraction, recorded.
|
|
104
|
+
-->
|
|
105
|
+
|
|
106
|
+
| Cut | What it was | Why cut | Re-add when |
|
|
107
|
+
|-----|-------------|---------|-------------|
|
|
108
|
+
| | | | |
|