@vpxa/aikit 0.1.65 → 0.1.67
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/package.json +1 -1
- package/packages/cli/dist/constants-D93JHBiN.js +1 -0
- package/packages/cli/dist/index.js +3 -3
- package/packages/cli/dist/{init-DBo2fDoM.js → init-DANkCO2c.js} +1 -1
- package/packages/cli/dist/{user-CXIL0rVI.js → user-Bb99C6xW.js} +1 -1
- package/scaffold/flows/_epilogue/steps/docs-sync/README.md +119 -119
- package/scaffold/flows/aikit-advanced/steps/design/README.md +16 -2
- package/scaffold/flows/aikit-advanced/steps/execute/README.md +3 -1
- package/scaffold/flows/aikit-advanced/steps/plan/README.md +3 -1
- package/scaffold/flows/aikit-advanced/steps/spec/README.md +3 -1
- package/scaffold/flows/aikit-advanced/steps/task/README.md +3 -1
- package/scaffold/flows/aikit-advanced/steps/verify/README.md +3 -1
- package/scaffold/flows/aikit-basic/steps/assess/README.md +3 -1
- package/scaffold/flows/aikit-basic/steps/design/README.md +12 -3
- package/scaffold/flows/aikit-basic/steps/implement/README.md +3 -1
- package/scaffold/flows/aikit-basic/steps/verify/README.md +3 -1
- package/scaffold/general/skills/docs/SKILL.md +508 -508
- package/scaffold/general/skills/docs/references/diataxis-anti-patterns.md +146 -146
- package/scaffold/general/skills/docs/references/diataxis-compass.md +122 -122
- package/scaffold/general/skills/docs/references/diataxis-quadrants.md +191 -191
- package/scaffold/general/skills/docs/references/diataxis-quality.md +75 -75
- package/scaffold/general/skills/docs/references/diataxis-templates.md +119 -119
- package/scaffold/general/skills/docs/references/flow-artifacts-guide.md +69 -69
- package/scaffold/general/skills/docs/references/project-knowledge-gotchas.md +31 -31
- package/scaffold/general/skills/docs/references/project-knowledge-templates.md +280 -280
- package/scaffold/general/skills/docs/references/project-knowledge-workflow.md +79 -79
- package/packages/cli/dist/constants-BjDyZo-l.js +0 -1
|
@@ -1,120 +1,120 @@
|
|
|
1
|
-
# Diataxis Templates
|
|
2
|
-
|
|
3
|
-
Templates for Tutorial and Explanation documents. For How-To and Reference templates, see the main docs SKILL.md.
|
|
4
|
-
|
|
5
|
-
## Tutorial Template
|
|
6
|
-
|
|
7
|
-
**Location**: `docs/guides/tutorials/{topic}.md`
|
|
8
|
-
**Quadrant**: Tutorial (learning-oriented, practical)
|
|
9
|
-
|
|
10
|
-
```markdown
|
|
11
|
-
---
|
|
12
|
-
type: tutorial
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# Tutorial: {Title — Start with a Verb Phrase}
|
|
16
|
-
|
|
17
|
-
> **What you'll build/learn**: One sentence describing the concrete outcome.
|
|
18
|
-
|
|
19
|
-
## Prerequisites
|
|
20
|
-
|
|
21
|
-
- {Prerequisite 1} — [install guide](link)
|
|
22
|
-
- {Prerequisite 2}
|
|
23
|
-
|
|
24
|
-
## Steps
|
|
25
|
-
|
|
26
|
-
### 1. {First Visible Result}
|
|
27
|
-
|
|
28
|
-
{Concrete action with immediate, visible output.}
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
{command or code}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
> **You'll see**: {expected output — always show what success looks like}
|
|
35
|
-
|
|
36
|
-
### 2. {Build on Step 1}
|
|
37
|
-
|
|
38
|
-
{Next concrete action that builds on the previous result.}
|
|
39
|
-
|
|
40
|
-
> **You'll see**: {expected output}
|
|
41
|
-
|
|
42
|
-
### 3. {Complete the Goal}
|
|
43
|
-
|
|
44
|
-
{Final action that achieves the tutorial's stated outcome.}
|
|
45
|
-
|
|
46
|
-
> **You'll see**: {final result matching the "What you'll build" promise}
|
|
47
|
-
|
|
48
|
-
## What You Learned
|
|
49
|
-
|
|
50
|
-
{One-paragraph summary of skills acquired. No new concepts here.}
|
|
51
|
-
|
|
52
|
-
## Next Steps
|
|
53
|
-
|
|
54
|
-
- [How to {related task}](../guides/{topic}.md) — apply what you learned
|
|
55
|
-
- [{Topic} Reference](../../reference/{topic}.md) — full API details
|
|
56
|
-
- [About {concept}](../../architecture/{topic}.md) — understand the design
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Tutorial Rules
|
|
60
|
-
|
|
61
|
-
1. **Always show results** — every step must have a "You'll see" block
|
|
62
|
-
2. **Linear path only** — no branching, no optional steps, no alternatives
|
|
63
|
-
3. **No explanations** — if the reader asks "why?", link to an Explanation doc
|
|
64
|
-
4. **Concrete outcome** — the tutorial must produce something visible (output, file, running service)
|
|
65
|
-
5. **Minimum viable scope** — teach ONE thing; link to other tutorials for more
|
|
66
|
-
|
|
67
|
-
## Explanation Template
|
|
68
|
-
|
|
69
|
-
**Location**: `docs/architecture/{topic}.md` or `docs/decisions/NNN-{title}.md`
|
|
70
|
-
**Quadrant**: Explanation (understanding-oriented, theoretical)
|
|
71
|
-
|
|
72
|
-
```markdown
|
|
73
|
-
---
|
|
74
|
-
type: explanation
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
# About {Topic}
|
|
78
|
-
|
|
79
|
-
## Context
|
|
80
|
-
|
|
81
|
-
{Why this topic matters. What problem or question it addresses. Set the stage.}
|
|
82
|
-
|
|
83
|
-
## Background
|
|
84
|
-
|
|
85
|
-
{Historical context, prior art, or constraints that shaped the current approach.}
|
|
86
|
-
|
|
87
|
-
## How It Works
|
|
88
|
-
|
|
89
|
-
{Discursive description — connections between components, data flow, design reasoning.}
|
|
90
|
-
{NO step-by-step procedures — link to How-To guides for that.}
|
|
91
|
-
|
|
92
|
-
## Design Decisions
|
|
93
|
-
|
|
94
|
-
{Why this approach was chosen over alternatives.}
|
|
95
|
-
{Link to ADRs where they exist: [ADR-NNN](../decisions/NNN-{title}.md)}
|
|
96
|
-
|
|
97
|
-
## Trade-Offs
|
|
98
|
-
|
|
99
|
-
| Gained | Sacrificed |
|
|
100
|
-
|--------|-----------|
|
|
101
|
-
| {benefit} | {cost} |
|
|
102
|
-
|
|
103
|
-
## Related
|
|
104
|
-
|
|
105
|
-
- [How to {task}](../guides/{topic}.md) — practical application
|
|
106
|
-
- [{API} Reference](../reference/{topic}.md) — technical details
|
|
107
|
-
- [Tutorial: {topic}](../guides/tutorials/{topic}.md) — hands-on introduction
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### Explanation Rules
|
|
111
|
-
|
|
112
|
-
1. **Take a position** — good explanation has perspective and opinion
|
|
113
|
-
2. **Connect concepts** — show relationships, not isolated facts
|
|
114
|
-
3. **No procedures** — if you write "Step 1:", move it to a How-To doc
|
|
115
|
-
4. **Bounded scope** — explain ONE concept/decision/pattern per document
|
|
116
|
-
5. **Link to evidence** — reference ADRs, code, or analysis tool output
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
1
|
+
# Diataxis Templates
|
|
2
|
+
|
|
3
|
+
Templates for Tutorial and Explanation documents. For How-To and Reference templates, see the main docs SKILL.md.
|
|
4
|
+
|
|
5
|
+
## Tutorial Template
|
|
6
|
+
|
|
7
|
+
**Location**: `docs/guides/tutorials/{topic}.md`
|
|
8
|
+
**Quadrant**: Tutorial (learning-oriented, practical)
|
|
9
|
+
|
|
10
|
+
```markdown
|
|
11
|
+
---
|
|
12
|
+
type: tutorial
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Tutorial: {Title — Start with a Verb Phrase}
|
|
16
|
+
|
|
17
|
+
> **What you'll build/learn**: One sentence describing the concrete outcome.
|
|
18
|
+
|
|
19
|
+
## Prerequisites
|
|
20
|
+
|
|
21
|
+
- {Prerequisite 1} — [install guide](link)
|
|
22
|
+
- {Prerequisite 2}
|
|
23
|
+
|
|
24
|
+
## Steps
|
|
25
|
+
|
|
26
|
+
### 1. {First Visible Result}
|
|
27
|
+
|
|
28
|
+
{Concrete action with immediate, visible output.}
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
{command or code}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
> **You'll see**: {expected output — always show what success looks like}
|
|
35
|
+
|
|
36
|
+
### 2. {Build on Step 1}
|
|
37
|
+
|
|
38
|
+
{Next concrete action that builds on the previous result.}
|
|
39
|
+
|
|
40
|
+
> **You'll see**: {expected output}
|
|
41
|
+
|
|
42
|
+
### 3. {Complete the Goal}
|
|
43
|
+
|
|
44
|
+
{Final action that achieves the tutorial's stated outcome.}
|
|
45
|
+
|
|
46
|
+
> **You'll see**: {final result matching the "What you'll build" promise}
|
|
47
|
+
|
|
48
|
+
## What You Learned
|
|
49
|
+
|
|
50
|
+
{One-paragraph summary of skills acquired. No new concepts here.}
|
|
51
|
+
|
|
52
|
+
## Next Steps
|
|
53
|
+
|
|
54
|
+
- [How to {related task}](../guides/{topic}.md) — apply what you learned
|
|
55
|
+
- [{Topic} Reference](../../reference/{topic}.md) — full API details
|
|
56
|
+
- [About {concept}](../../architecture/{topic}.md) — understand the design
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Tutorial Rules
|
|
60
|
+
|
|
61
|
+
1. **Always show results** — every step must have a "You'll see" block
|
|
62
|
+
2. **Linear path only** — no branching, no optional steps, no alternatives
|
|
63
|
+
3. **No explanations** — if the reader asks "why?", link to an Explanation doc
|
|
64
|
+
4. **Concrete outcome** — the tutorial must produce something visible (output, file, running service)
|
|
65
|
+
5. **Minimum viable scope** — teach ONE thing; link to other tutorials for more
|
|
66
|
+
|
|
67
|
+
## Explanation Template
|
|
68
|
+
|
|
69
|
+
**Location**: `docs/architecture/{topic}.md` or `docs/decisions/NNN-{title}.md`
|
|
70
|
+
**Quadrant**: Explanation (understanding-oriented, theoretical)
|
|
71
|
+
|
|
72
|
+
```markdown
|
|
73
|
+
---
|
|
74
|
+
type: explanation
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
# About {Topic}
|
|
78
|
+
|
|
79
|
+
## Context
|
|
80
|
+
|
|
81
|
+
{Why this topic matters. What problem or question it addresses. Set the stage.}
|
|
82
|
+
|
|
83
|
+
## Background
|
|
84
|
+
|
|
85
|
+
{Historical context, prior art, or constraints that shaped the current approach.}
|
|
86
|
+
|
|
87
|
+
## How It Works
|
|
88
|
+
|
|
89
|
+
{Discursive description — connections between components, data flow, design reasoning.}
|
|
90
|
+
{NO step-by-step procedures — link to How-To guides for that.}
|
|
91
|
+
|
|
92
|
+
## Design Decisions
|
|
93
|
+
|
|
94
|
+
{Why this approach was chosen over alternatives.}
|
|
95
|
+
{Link to ADRs where they exist: [ADR-NNN](../decisions/NNN-{title}.md)}
|
|
96
|
+
|
|
97
|
+
## Trade-Offs
|
|
98
|
+
|
|
99
|
+
| Gained | Sacrificed |
|
|
100
|
+
|--------|-----------|
|
|
101
|
+
| {benefit} | {cost} |
|
|
102
|
+
|
|
103
|
+
## Related
|
|
104
|
+
|
|
105
|
+
- [How to {task}](../guides/{topic}.md) — practical application
|
|
106
|
+
- [{API} Reference](../reference/{topic}.md) — technical details
|
|
107
|
+
- [Tutorial: {topic}](../guides/tutorials/{topic}.md) — hands-on introduction
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Explanation Rules
|
|
111
|
+
|
|
112
|
+
1. **Take a position** — good explanation has perspective and opinion
|
|
113
|
+
2. **Connect concepts** — show relationships, not isolated facts
|
|
114
|
+
3. **No procedures** — if you write "Step 1:", move it to a How-To doc
|
|
115
|
+
4. **Bounded scope** — explain ONE concept/decision/pattern per document
|
|
116
|
+
5. **Link to evidence** — reference ADRs, code, or analysis tool output
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
120
|
*Templates follow the Diátaxis documentation framework (CC-BY-SA 4.0, Daniele Procida).*
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
# Flow Artifacts Guide
|
|
2
|
-
|
|
3
|
-
## What Are Flow Artifacts
|
|
4
|
-
|
|
5
|
-
Flows produce structured markdown artifacts in `{{artifacts_path}}/`. These files capture requirements, decisions, plan shape, implementation progress, and verification results for the completed flow.
|
|
6
|
-
|
|
7
|
-
Use artifacts to document the why behind changes. Code diffs still matter, but artifacts usually contain the rationale, constraints, risks, and review findings that should shape durable documentation.
|
|
8
|
-
|
|
9
|
-
## How to Discover Artifacts
|
|
10
|
-
|
|
11
|
-
```text
|
|
12
|
-
flow_status() # Get artifactsPath
|
|
13
|
-
find({ pattern: "*.md", path: "<artifactsPath>" }) # Discover artifact files
|
|
14
|
-
digest({ sources: [ # Compress into working context
|
|
15
|
-
{ path: "<found-artifact-1>" },
|
|
16
|
-
{ path: "<found-artifact-2>" },
|
|
17
|
-
...
|
|
18
|
-
]})
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Read every artifact `find()` returns. Different flows produce different files — do not assume specific filenames exist.
|
|
22
|
-
|
|
23
|
-
## Artifact Catalog
|
|
24
|
-
|
|
25
|
-
| Artifact | Flow | Contains |
|
|
26
|
-
|---|---|---|
|
|
27
|
-
| `design-decisions.md` | `aikit:basic`, `aikit:advanced` | FORGE tier, approach, key decisions, constraints, and risks |
|
|
28
|
-
| `assessment.md` | `aikit:basic` | Goal, affected files, approach steps, risks, and open questions |
|
|
29
|
-
| `spec.md` | `aikit:advanced` | Requirements, acceptance criteria, and scope boundaries |
|
|
30
|
-
| `plan.md` | `aikit:advanced` | Phased implementation plan and architecture decisions |
|
|
31
|
-
| `tasks.md` | `aikit:advanced` | Atomic task list, dependencies, and agent assignments |
|
|
32
|
-
| `progress.md` | `aikit:basic`, `aikit:advanced` | Changes made, tests, deviations, and validation results |
|
|
33
|
-
| `verify-report.md` | `aikit:basic`, `aikit:advanced` | Verdict, quality gates, review findings, security, and recommendation |
|
|
34
|
-
|
|
35
|
-
## Artifact-to-Documentation Mapping
|
|
36
|
-
|
|
37
|
-
| Artifact | Contains | Documentation Target | Action |
|
|
38
|
-
|---|---|---|---|
|
|
39
|
-
| `design-decisions.md` | FORGE tier, approach, key decisions | `docs/decisions/` | Create or update ADRs via `adr-skill` for each key decision |
|
|
40
|
-
| `design-decisions.md` | Architecture approach, constraints | `docs/architecture/overview.md` | Update the design rationale section |
|
|
41
|
-
| `spec.md` | Requirements, acceptance criteria | `docs/reference/` | Update API or component reference when public surface changed |
|
|
42
|
-
| `plan.md` | Architecture decisions, phase design | `docs/architecture/` | Update architecture docs with structural changes |
|
|
43
|
-
| `tasks.md` | Task breakdown, dependencies | Usually skip | Only document if it reveals new component boundaries |
|
|
44
|
-
| `progress.md` | Files changed, deviations, tests | `docs/guides/testing.md` | Update when testing strategy changed |
|
|
45
|
-
| `progress.md` | Deviations from plan | `docs/decisions/` | Document significant deviations as ADRs |
|
|
46
|
-
| `verify-report.md` | Code review findings, security | `docs/architecture/overview.md` | Update if findings reveal architectural patterns |
|
|
47
|
-
| `verify-report.md` | Security concerns | `docs/guides/` | Create or update security guidance when concerns are material |
|
|
48
|
-
|
|
49
|
-
## Reading Strategy
|
|
50
|
-
|
|
51
|
-
Read every artifact `find()` returns. Triage by content type:
|
|
52
|
-
|
|
53
|
-
| Content Signal | Documentation Value | Action |
|
|
54
|
-
|---|---|---|
|
|
55
|
-
| Decisions, rationale, constraints | High — durable knowledge | Extract into `docs/decisions/` or architecture docs |
|
|
56
|
-
| Requirements, scope, acceptance criteria | High — defines intent | Update reference docs if public surface changed |
|
|
57
|
-
| Review findings, security concerns, quality gates | Medium — surfaces issues | Update architecture or guides if findings are material |
|
|
58
|
-
| Implementation progress, task lists | Low — transient | Document only meaningful deviations from the plan |
|
|
59
|
-
|
|
60
|
-
Skip artifacts that only repeat completed work with no insights beyond the code diff.
|
|
61
|
-
|
|
62
|
-
> The catalog and mapping tables above list artifacts from built-in flows (`aikit:basic`, `aikit:advanced`). Custom flows may produce entirely different artifacts — always discover dynamically with `find()` and classify by content, not by filename.
|
|
63
|
-
|
|
64
|
-
## What Not to Document
|
|
65
|
-
|
|
66
|
-
| Avoid | Do Instead |
|
|
67
|
-
|---|---|
|
|
68
|
-
| Copying artifact text verbatim into `docs/` | Extract decisions, rationale, constraints, and stable guidance |
|
|
69
|
-
| Documenting every task or progress update | Keep only durable insights that help future readers |
|
|
1
|
+
# Flow Artifacts Guide
|
|
2
|
+
|
|
3
|
+
## What Are Flow Artifacts
|
|
4
|
+
|
|
5
|
+
Flows produce structured markdown artifacts in `{{artifacts_path}}/`. These files capture requirements, decisions, plan shape, implementation progress, and verification results for the completed flow.
|
|
6
|
+
|
|
7
|
+
Use artifacts to document the why behind changes. Code diffs still matter, but artifacts usually contain the rationale, constraints, risks, and review findings that should shape durable documentation.
|
|
8
|
+
|
|
9
|
+
## How to Discover Artifacts
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
flow_status() # Get artifactsPath
|
|
13
|
+
find({ pattern: "*.md", path: "<artifactsPath>" }) # Discover artifact files
|
|
14
|
+
digest({ sources: [ # Compress into working context
|
|
15
|
+
{ path: "<found-artifact-1>" },
|
|
16
|
+
{ path: "<found-artifact-2>" },
|
|
17
|
+
...
|
|
18
|
+
]})
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Read every artifact `find()` returns. Different flows produce different files — do not assume specific filenames exist.
|
|
22
|
+
|
|
23
|
+
## Artifact Catalog
|
|
24
|
+
|
|
25
|
+
| Artifact | Flow | Contains |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| `design-decisions.md` | `aikit:basic`, `aikit:advanced` | FORGE tier, approach, key decisions, constraints, and risks |
|
|
28
|
+
| `assessment.md` | `aikit:basic` | Goal, affected files, approach steps, risks, and open questions |
|
|
29
|
+
| `spec.md` | `aikit:advanced` | Requirements, acceptance criteria, and scope boundaries |
|
|
30
|
+
| `plan.md` | `aikit:advanced` | Phased implementation plan and architecture decisions |
|
|
31
|
+
| `tasks.md` | `aikit:advanced` | Atomic task list, dependencies, and agent assignments |
|
|
32
|
+
| `progress.md` | `aikit:basic`, `aikit:advanced` | Changes made, tests, deviations, and validation results |
|
|
33
|
+
| `verify-report.md` | `aikit:basic`, `aikit:advanced` | Verdict, quality gates, review findings, security, and recommendation |
|
|
34
|
+
|
|
35
|
+
## Artifact-to-Documentation Mapping
|
|
36
|
+
|
|
37
|
+
| Artifact | Contains | Documentation Target | Action |
|
|
38
|
+
|---|---|---|---|
|
|
39
|
+
| `design-decisions.md` | FORGE tier, approach, key decisions | `docs/decisions/` | Create or update ADRs via `adr-skill` for each key decision |
|
|
40
|
+
| `design-decisions.md` | Architecture approach, constraints | `docs/architecture/overview.md` | Update the design rationale section |
|
|
41
|
+
| `spec.md` | Requirements, acceptance criteria | `docs/reference/` | Update API or component reference when public surface changed |
|
|
42
|
+
| `plan.md` | Architecture decisions, phase design | `docs/architecture/` | Update architecture docs with structural changes |
|
|
43
|
+
| `tasks.md` | Task breakdown, dependencies | Usually skip | Only document if it reveals new component boundaries |
|
|
44
|
+
| `progress.md` | Files changed, deviations, tests | `docs/guides/testing.md` | Update when testing strategy changed |
|
|
45
|
+
| `progress.md` | Deviations from plan | `docs/decisions/` | Document significant deviations as ADRs |
|
|
46
|
+
| `verify-report.md` | Code review findings, security | `docs/architecture/overview.md` | Update if findings reveal architectural patterns |
|
|
47
|
+
| `verify-report.md` | Security concerns | `docs/guides/` | Create or update security guidance when concerns are material |
|
|
48
|
+
|
|
49
|
+
## Reading Strategy
|
|
50
|
+
|
|
51
|
+
Read every artifact `find()` returns. Triage by content type:
|
|
52
|
+
|
|
53
|
+
| Content Signal | Documentation Value | Action |
|
|
54
|
+
|---|---|---|
|
|
55
|
+
| Decisions, rationale, constraints | High — durable knowledge | Extract into `docs/decisions/` or architecture docs |
|
|
56
|
+
| Requirements, scope, acceptance criteria | High — defines intent | Update reference docs if public surface changed |
|
|
57
|
+
| Review findings, security concerns, quality gates | Medium — surfaces issues | Update architecture or guides if findings are material |
|
|
58
|
+
| Implementation progress, task lists | Low — transient | Document only meaningful deviations from the plan |
|
|
59
|
+
|
|
60
|
+
Skip artifacts that only repeat completed work with no insights beyond the code diff.
|
|
61
|
+
|
|
62
|
+
> The catalog and mapping tables above list artifacts from built-in flows (`aikit:basic`, `aikit:advanced`). Custom flows may produce entirely different artifacts — always discover dynamically with `find()` and classify by content, not by filename.
|
|
63
|
+
|
|
64
|
+
## What Not to Document
|
|
65
|
+
|
|
66
|
+
| Avoid | Do Instead |
|
|
67
|
+
|---|---|
|
|
68
|
+
| Copying artifact text verbatim into `docs/` | Extract decisions, rationale, constraints, and stable guidance |
|
|
69
|
+
| Documenting every task or progress update | Keep only durable insights that help future readers |
|
|
70
70
|
| Mirroring temporary planning details | Preserve the final reasoning, not the transient workflow chatter |
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
# Project Knowledge — Gotchas
|
|
2
|
-
|
|
3
|
-
Common pitfalls when documenting project knowledge. Reference this during Phase 2 (Investigate) and Phase 4 (Validate).
|
|
4
|
-
|
|
5
|
-
## Environment Gotchas
|
|
6
|
-
|
|
7
|
-
**Monorepos:** Root `package.json` may have no source — check for `workspaces`, `packages/`, or `apps/` directories. Each workspace may have independent dependencies and conventions. Map each sub-package separately.
|
|
8
|
-
|
|
9
|
-
**Outdated README:** README often describes intended architecture, not the current one. Cross-reference with actual file structure before treating any README claim as fact.
|
|
10
|
-
|
|
11
|
-
**TypeScript path aliases:** `tsconfig.json` `paths` config means imports like `@/foo` don't map directly to the filesystem. Map aliases to real paths before documenting structure.
|
|
12
|
-
|
|
13
|
-
**Generated/compiled output:** Never document patterns from `dist/`, `build/`, `generated/`, `.next/`, `out/`, or `__pycache__/`. These are artefacts — document source conventions only.
|
|
14
|
-
|
|
15
|
-
**`.env.example` reveals required config:** Secrets are never committed. Read `.env.example`, `.env.template`, or `.env.sample` to discover required environment variables.
|
|
16
|
-
|
|
17
|
-
**`devDependencies` ≠ production stack:** Only `dependencies` (or equivalent) runs in production. Document linters, formatters, and test frameworks separately as dev tooling in `stack.md`.
|
|
18
|
-
|
|
19
|
-
**Test TODOs ≠ production debt:** TODOs inside test directories are coverage gaps, not production technical debt. Separate them in `concerns.md`.
|
|
20
|
-
|
|
21
|
-
**High-churn files = fragile areas:** Files appearing most in recent `git_context({})` output have the highest modification rate and likely hidden complexity. Always note them in `concerns.md`.
|
|
22
|
-
|
|
23
|
-
## Anti-Pattern Table
|
|
24
|
-
|
|
25
|
-
| ❌ Don't | ✅ Do instead |
|
|
26
|
-
|---------|--------------|
|
|
27
|
-
| "Uses Clean Architecture with Domain/Data layers" (when no such directories exist) | State only what directory structure actually shows |
|
|
28
|
-
| "This is a Next.js project" (without checking `package.json`) | Check `dependencies` first. State what's actually there |
|
|
29
|
-
| Guess the database from a variable name like `dbUrl` | Check manifest for `pg`, `mysql2`, `mongoose`, `prisma`, etc. |
|
|
30
|
-
| Document `dist/` or `build/` naming patterns as conventions | Source files only |
|
|
31
|
-
| Assume README describes current architecture | Cross-reference with actual file structure via `analyze_structure` |
|
|
1
|
+
# Project Knowledge — Gotchas
|
|
2
|
+
|
|
3
|
+
Common pitfalls when documenting project knowledge. Reference this during Phase 2 (Investigate) and Phase 4 (Validate).
|
|
4
|
+
|
|
5
|
+
## Environment Gotchas
|
|
6
|
+
|
|
7
|
+
**Monorepos:** Root `package.json` may have no source — check for `workspaces`, `packages/`, or `apps/` directories. Each workspace may have independent dependencies and conventions. Map each sub-package separately.
|
|
8
|
+
|
|
9
|
+
**Outdated README:** README often describes intended architecture, not the current one. Cross-reference with actual file structure before treating any README claim as fact.
|
|
10
|
+
|
|
11
|
+
**TypeScript path aliases:** `tsconfig.json` `paths` config means imports like `@/foo` don't map directly to the filesystem. Map aliases to real paths before documenting structure.
|
|
12
|
+
|
|
13
|
+
**Generated/compiled output:** Never document patterns from `dist/`, `build/`, `generated/`, `.next/`, `out/`, or `__pycache__/`. These are artefacts — document source conventions only.
|
|
14
|
+
|
|
15
|
+
**`.env.example` reveals required config:** Secrets are never committed. Read `.env.example`, `.env.template`, or `.env.sample` to discover required environment variables.
|
|
16
|
+
|
|
17
|
+
**`devDependencies` ≠ production stack:** Only `dependencies` (or equivalent) runs in production. Document linters, formatters, and test frameworks separately as dev tooling in `stack.md`.
|
|
18
|
+
|
|
19
|
+
**Test TODOs ≠ production debt:** TODOs inside test directories are coverage gaps, not production technical debt. Separate them in `concerns.md`.
|
|
20
|
+
|
|
21
|
+
**High-churn files = fragile areas:** Files appearing most in recent `git_context({})` output have the highest modification rate and likely hidden complexity. Always note them in `concerns.md`.
|
|
22
|
+
|
|
23
|
+
## Anti-Pattern Table
|
|
24
|
+
|
|
25
|
+
| ❌ Don't | ✅ Do instead |
|
|
26
|
+
|---------|--------------|
|
|
27
|
+
| "Uses Clean Architecture with Domain/Data layers" (when no such directories exist) | State only what directory structure actually shows |
|
|
28
|
+
| "This is a Next.js project" (without checking `package.json`) | Check `dependencies` first. State what's actually there |
|
|
29
|
+
| Guess the database from a variable name like `dbUrl` | Check manifest for `pg`, `mysql2`, `mongoose`, `prisma`, etc. |
|
|
30
|
+
| Document `dist/` or `build/` naming patterns as conventions | Source files only |
|
|
31
|
+
| Assume README describes current architecture | Cross-reference with actual file structure via `analyze_structure` |
|
|
32
32
|
| Treat test TODOs as production tech debt | Separate coverage gaps from production concerns in `concerns.md` |
|