prizmkit 1.1.42 → 1.1.47
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/bundled/VERSION.json +3 -3
- package/bundled/adapters/claude/settings-adapter.js +4 -4
- package/bundled/adapters/codebuddy/settings-adapter.js +1 -1
- package/bundled/agents/prizm-dev-team-critic.md +9 -9
- package/bundled/agents/prizm-dev-team-dev.md +13 -13
- package/bundled/agents/prizm-dev-team-reviewer.md +2 -2
- package/bundled/dev-pipeline/.env.example +6 -6
- package/bundled/dev-pipeline/README.md +32 -32
- package/bundled/dev-pipeline/assets/prizm-dev-team-integration.md +1 -1
- package/bundled/dev-pipeline/launch-bugfix-daemon.sh +6 -3
- package/bundled/dev-pipeline/launch-feature-daemon.sh +6 -3
- package/bundled/dev-pipeline/launch-refactor-daemon.sh +6 -3
- package/bundled/dev-pipeline/lib/common.sh +36 -7
- package/bundled/dev-pipeline/reset-bug.sh +9 -7
- package/bundled/dev-pipeline/reset-feature.sh +9 -7
- package/bundled/dev-pipeline/reset-refactor.sh +9 -7
- package/bundled/dev-pipeline/run-bugfix.sh +25 -24
- package/bundled/dev-pipeline/run-feature.sh +29 -32
- package/bundled/dev-pipeline/run-recovery.sh +22 -4
- package/bundled/dev-pipeline/run-refactor.sh +27 -28
- package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +14 -14
- package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +9 -4
- package/bundled/dev-pipeline/scripts/generate-recovery-prompt.py +18 -12
- package/bundled/dev-pipeline/scripts/generate-refactor-prompt.py +9 -4
- package/bundled/dev-pipeline/scripts/parse-stream-progress.py +1 -1
- package/bundled/dev-pipeline/scripts/update-bug-status.py +9 -1
- package/bundled/dev-pipeline/scripts/update-feature-status.py +13 -1
- package/bundled/dev-pipeline/scripts/update-refactor-status.py +9 -1
- package/bundled/dev-pipeline/templates/agent-prompts/critic-plan-challenge.md +1 -1
- package/bundled/dev-pipeline/templates/bootstrap-prompt.md +2 -2
- package/bundled/dev-pipeline/templates/bootstrap-tier1.md +8 -8
- package/bundled/dev-pipeline/templates/bootstrap-tier2.md +11 -11
- package/bundled/dev-pipeline/templates/bootstrap-tier3.md +9 -9
- package/bundled/dev-pipeline/templates/bugfix-bootstrap-prompt.md +6 -6
- package/bundled/dev-pipeline/templates/refactor-bootstrap-prompt.md +3 -3
- package/bundled/dev-pipeline/templates/sections/phase-commit-full.md +5 -5
- package/bundled/dev-pipeline/templates/sections/phase-commit.md +6 -6
- package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-agent-suffix.md +1 -1
- package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-base.md +1 -1
- package/bundled/dev-pipeline/templates/sections/phase-specify-plan-full.md +2 -2
- package/bundled/dev-pipeline/templates/sections/phase0-init.md +1 -1
- package/bundled/dev-pipeline/tests/test-path-resolution.sh +100 -0
- package/bundled/rules/USAGE.md +2 -2
- package/bundled/rules/_rules-metadata.json +1 -1
- package/bundled/rules/prizm/prizm-commit-workflow.md +1 -1
- package/bundled/rules/prizm/prizm-documentation.md +4 -4
- package/bundled/rules/prizm/prizm-progressive-loading.md +3 -3
- package/bundled/skills/_metadata.json +4 -4
- package/bundled/skills/app-planner/SKILL.md +35 -7
- package/bundled/skills/bug-fix-workflow/SKILL.md +6 -6
- package/bundled/skills/bug-planner/SKILL.md +5 -5
- package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +21 -21
- package/bundled/skills/feature-pipeline-launcher/SKILL.md +21 -21
- package/bundled/skills/feature-planner/SKILL.md +5 -5
- package/bundled/skills/feature-workflow/SKILL.md +8 -8
- package/bundled/skills/prizm-kit/SKILL.md +10 -10
- package/bundled/skills/prizmkit-committer/SKILL.md +2 -2
- package/bundled/skills/prizmkit-implement/SKILL.md +2 -2
- package/bundled/skills/prizmkit-init/SKILL.md +17 -18
- package/bundled/skills/prizmkit-plan/SKILL.md +3 -3
- package/bundled/skills/prizmkit-plan/references/verification-checklist.md +2 -2
- package/bundled/skills/prizmkit-prizm-docs/SKILL.md +17 -17
- package/bundled/skills/prizmkit-prizm-docs/assets/prizm-docs-format.md +45 -45
- package/bundled/skills/prizmkit-prizm-docs/references/op-init.md +9 -9
- package/bundled/skills/prizmkit-prizm-docs/references/op-rebuild.md +1 -1
- package/bundled/skills/prizmkit-prizm-docs/references/op-status.md +2 -2
- package/bundled/skills/prizmkit-prizm-docs/references/op-update.md +3 -3
- package/bundled/skills/prizmkit-prizm-docs/references/op-validate.md +1 -1
- package/bundled/skills/prizmkit-retrospective/SKILL.md +10 -10
- package/bundled/skills/prizmkit-retrospective/references/knowledge-injection-steps.md +3 -3
- package/bundled/skills/prizmkit-retrospective/references/structural-sync-steps.md +1 -1
- package/bundled/skills/recovery-workflow/SKILL.md +15 -15
- package/bundled/skills/recovery-workflow/scripts/detect-recovery-state.py +0 -1
- package/bundled/skills/refactor-pipeline-launcher/SKILL.md +21 -21
- package/bundled/skills/refactor-planner/SKILL.md +6 -6
- package/bundled/skills/refactor-workflow/SKILL.md +9 -9
- package/bundled/team/prizm-dev-team.json +1 -1
- package/bundled/templates/hooks/commit-intent.json +2 -2
- package/bundled/templates/hooks/diff-prizm-docs.sh +8 -8
- package/bundled/templates/hooks/prizm-pre-commit.sh +4 -4
- package/bundled/templates/hooks/validate-prizm-docs.sh +4 -4
- package/bundled/templates/project-memory-template.md +4 -4
- package/package.json +1 -1
- package/src/clean.js +1 -3
- package/src/config.js +1 -1
- package/src/gitignore-template.js +4 -59
- package/src/scaffold.js +12 -11
- package/src/upgrade.js +3 -3
|
@@ -81,7 +81,7 @@ If any agent times out:
|
|
|
81
81
|
### Phase 0: Project Bootstrap
|
|
82
82
|
- Run `/prizmkit-init` (invoke the prizmkit-init skill)
|
|
83
83
|
- Run `python3 {{INIT_SCRIPT_PATH}} --project-root {{PROJECT_ROOT}} --feature-id {{FEATURE_ID}} --feature-slug {{FEATURE_SLUG}}`
|
|
84
|
-
- **CP-0**: Verify `.prizm-docs/root.prizm`, `.prizmkit/config.json` exist
|
|
84
|
+
- **CP-0**: Verify `.prizmkit/prizm-docs/root.prizm`, `.prizmkit/config.json` exist
|
|
85
85
|
{{END_IF_INIT_NEEDED}}
|
|
86
86
|
{{IF_INIT_DONE}}
|
|
87
87
|
### Phase 0: Record Test Baseline & Detect Test Commands
|
|
@@ -134,7 +134,7 @@ If `EXISTING_CODE` is non-empty: your spec/plan/tasks must reflect this existing
|
|
|
134
134
|
|
|
135
135
|
**Step A — Build Context Snapshot** (skip if `context-snapshot.md` already exists):
|
|
136
136
|
|
|
137
|
-
1. Read `.prizm-docs/root.prizm` and relevant L1/L2 prizm docs
|
|
137
|
+
1. Read `.prizmkit/prizm-docs/root.prizm` and relevant L1/L2 prizm docs
|
|
138
138
|
2. Detect source code directories: read KEY_FILES and STRUCTURE sections from `root.prizm` to identify where source code lives (e.g. `src/`, `app/`, `lib/`, `cmd/`, `packages/`, or project root). If `root.prizm` is missing, scan the project tree:
|
|
139
139
|
```bash
|
|
140
140
|
find . -maxdepth 2 -type f \( -name "*.js" -o -name "*.ts" -o -name "*.py" -o -name "*.go" -o -name "*.java" -o -name "*.rb" -o -name "*.rs" \) -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/dist/*' -not -path '*/build/*' -not -path '*/vendor/*' | head -30
|
|
@@ -159,7 +159,7 @@ If `EXISTING_CODE` is non-empty: your spec/plan/tasks must reflect this existing
|
|
|
159
159
|
|------|-----------|----------------|
|
|
160
160
|
| `<source-dir>/security/permission-guard.js` | Permission check integration | `checkCommandPermission(userId, cmd)` |
|
|
161
161
|
|
|
162
|
-
### Known TRAPS (from .prizm-docs/)
|
|
162
|
+
### Known TRAPS (from .prizmkit/prizm-docs/)
|
|
163
163
|
- <trap entries extracted from L1/L2 docs>
|
|
164
164
|
- **Section 5 — Existing Tests**: full content of related test files as code blocks
|
|
165
165
|
4. Confirm: `ls .prizmkit/specs/{{FEATURE_SLUG}}/context-snapshot.md`
|
|
@@ -221,7 +221,7 @@ Prompt:
|
|
|
221
221
|
> "Read {{CRITIC_SUBAGENT_PATH}}. For feature {{FEATURE_ID}} (slug: {{FEATURE_SLUG}}):
|
|
222
222
|
> **MODE: Plan Challenge**
|
|
223
223
|
> 1. Read `.prizmkit/specs/{{FEATURE_SLUG}}/context-snapshot.md` FIRST — Section 3 has project context, Section 4 has file manifest.
|
|
224
|
-
> 2. Read `.prizm-docs/root.prizm` and relevant L1/L2 docs for affected modules.
|
|
224
|
+
> 2. Read `.prizmkit/prizm-docs/root.prizm` and relevant L1/L2 docs for affected modules.
|
|
225
225
|
> 3. Read existing source files in the modules this plan touches.
|
|
226
226
|
> 4. Challenge plan.md against the project's existing architecture, patterns, and style.
|
|
227
227
|
> Write `.prizmkit/specs/{{FEATURE_SLUG}}/challenge-report.md` with findings (or 'No significant challenges')."
|
|
@@ -516,23 +516,23 @@ git log --oneline | grep "{{FEATURE_ID}}" | head -3
|
|
|
516
516
|
- If a commit for `{{FEATURE_ID}}` already exists → **skip 6d** (do NOT run /prizmkit-committer, do NOT run git reset, do NOT stage or unstage anything). Proceed directly to 6e Final verification.
|
|
517
517
|
- If no existing commit → proceed normally with 6b–6d.
|
|
518
518
|
|
|
519
|
-
**6b.** Run `/prizmkit-retrospective` (**before commit**, maintains `.prizm-docs/` architecture index):
|
|
519
|
+
**6b.** Run `/prizmkit-retrospective` (**before commit**, maintains `.prizmkit/prizm-docs/` architecture index):
|
|
520
520
|
- **Structural sync**: update KEY_FILES/INTERFACES/DEPENDENCIES/file counts for changed modules
|
|
521
|
-
- **Architecture knowledge** (feature sessions only): extract TRAPS, RULES, DECISIONS from completed work into `.prizm-docs/`
|
|
521
|
+
- **Architecture knowledge** (feature sessions only): extract TRAPS, RULES, DECISIONS from completed work into `.prizmkit/prizm-docs/`
|
|
522
522
|
- **L2 coverage check**: For any module/sub-module with source files created or significantly modified in this session but no L2 `.prizm` doc — evaluate whether L2 is warranted and create if so. The current session has the best context for accurate KEY_FILES, TRAPS, and DECISIONS.
|
|
523
|
-
- Stage doc changes: `git add .prizm-docs/`
|
|
523
|
+
- Stage doc changes: `git add .prizmkit/prizm-docs/`
|
|
524
524
|
⚠️ Do NOT commit here. Only stage.
|
|
525
525
|
- **For bug-fix sessions**: structural sync (Job 1) by default. Run knowledge injection (Job 2) when the fix causes interface signature changes, dependency additions/removals, observable behavior changes, or reveals new TRAPs
|
|
526
526
|
|
|
527
527
|
**6c.** Stage all feature code explicitly (NEVER use `git add -A` or `git add .`):
|
|
528
528
|
```bash
|
|
529
529
|
git add <specific-files-created-or-modified>
|
|
530
|
-
git add .prizm-docs/
|
|
530
|
+
git add .prizmkit/prizm-docs/
|
|
531
531
|
```
|
|
532
532
|
|
|
533
533
|
**6d.** Run `/prizmkit-committer` → THE ONLY commit for this feature:
|
|
534
534
|
`feat({{FEATURE_ID}}): {{FEATURE_TITLE}}`
|
|
535
|
-
This single commit includes: feature code + tests + .prizm-docs/ updates. Do NOT push.
|
|
535
|
+
This single commit includes: feature code + tests + .prizmkit/prizm-docs/ updates. Do NOT push.
|
|
536
536
|
- MANDATORY: commit must be done via `/prizmkit-committer` skill. Do NOT run manual `git add`/`git commit` as a substitute.
|
|
537
537
|
- Do NOT run `update-feature-status.py` here — the pipeline runner handles feature-list.json updates automatically after session exit.
|
|
538
538
|
|
|
@@ -116,10 +116,10 @@ If the bug is related to UI/frontend, you may use these tools to:
|
|
|
116
116
|
|
|
117
117
|
**Step 1 — Diagnose the bug**:
|
|
118
118
|
|
|
119
|
-
1. Read `.prizm-docs/root.prizm` and relevant L1/L2 docs for affected modules
|
|
119
|
+
1. Read `.prizmkit/prizm-docs/root.prizm` and relevant L1/L2 docs for affected modules
|
|
120
120
|
2. Trace the bug:
|
|
121
121
|
- Classify error type (Runtime / Network / Auth / Data / Logic / Config / External)
|
|
122
|
-
- Check `.prizm-docs/` TRAPS sections for matching known issues
|
|
122
|
+
- Check `.prizmkit/prizm-docs/` TRAPS sections for matching known issues
|
|
123
123
|
- Trace call chain from error source to root cause
|
|
124
124
|
- Identify all affected files and modules
|
|
125
125
|
3. Read the affected source files and related test files
|
|
@@ -130,7 +130,7 @@ Write `.prizmkit/bugfix/{{BUG_ID}}/context-snapshot.md`:
|
|
|
130
130
|
- **Section 1 — Bug Brief**: bug description + acceptance criteria + root cause analysis
|
|
131
131
|
- **Section 2 — Affected Files**: full verbatim content of each affected source file
|
|
132
132
|
- **Section 3 — Existing Tests**: full content of related test files
|
|
133
|
-
- **Section 4 — Prizm Context**: relevant TRAPS, RULES from .prizm-docs/
|
|
133
|
+
- **Section 4 — Prizm Context**: relevant TRAPS, RULES from .prizmkit/prizm-docs/
|
|
134
134
|
|
|
135
135
|
**Step 3 — Plan the fix**:
|
|
136
136
|
|
|
@@ -228,16 +228,16 @@ Run `/prizmkit-code-review` with `artifact_dir=.prizmkit/bugfix/{{BUG_ID}}/`:
|
|
|
228
228
|
- **Full retrospective** (Job 1 + Job 2): Only when the fix causes interface signature changes, dependency additions/removals, observable behavior changes, or reveals new TRAPs.
|
|
229
229
|
|
|
230
230
|
**a.** If a new pitfall was discovered (not previously in TRAPS):
|
|
231
|
-
- Update the affected module's TRAPS section in `.prizm-docs/`
|
|
231
|
+
- Update the affected module's TRAPS section in `.prizmkit/prizm-docs/`
|
|
232
232
|
- Format: `- TRAP: <description> | FIX: <solution> | DATE: YYYY-MM-DD`
|
|
233
233
|
|
|
234
234
|
**b.** Run `/prizmkit-retrospective` following the policy above.
|
|
235
|
-
Stage doc changes: `git add .prizm-docs/`
|
|
235
|
+
Stage doc changes: `git add .prizmkit/prizm-docs/`
|
|
236
236
|
|
|
237
237
|
**c.** Stage all changed files explicitly (NEVER use `git add -A` or `git add .`):
|
|
238
238
|
```bash
|
|
239
239
|
git add <specific-files-modified>
|
|
240
|
-
git add .prizm-docs/
|
|
240
|
+
git add .prizmkit/prizm-docs/
|
|
241
241
|
```
|
|
242
242
|
|
|
243
243
|
**d.** Run `/prizmkit-committer --headless`:
|
|
@@ -166,7 +166,7 @@ Include browser verification approach in plan.md:
|
|
|
166
166
|
- Spawn Dev agent (Agent tool, subagent_type="prizm-dev-team-dev", run_in_background=false)
|
|
167
167
|
Prompt: "Read {{DEV_SUBAGENT_PATH}}. For refactor {{REFACTOR_ID}} ('{{REFACTOR_TITLE}}'):
|
|
168
168
|
1. Read `.prizmkit/refactor/{{REFACTOR_ID}}/spec.md` and `.prizmkit/refactor/{{REFACTOR_ID}}/plan.md`
|
|
169
|
-
2. Read `.prizm-docs/` for affected modules (TRAPS, RULES, PATTERNS)
|
|
169
|
+
2. Read `.prizmkit/prizm-docs/` for affected modules (TRAPS, RULES, PATTERNS)
|
|
170
170
|
3. Before making any changes, run the existing test suite to establish a green baseline
|
|
171
171
|
4. Run `/prizmkit-implement` with `artifact_dir=.prizmkit/refactor/{{REFACTOR_ID}}/` — this handles the full implementation cycle:
|
|
172
172
|
- Reads plan.md Tasks section
|
|
@@ -233,7 +233,7 @@ Include browser verification approach in plan.md:
|
|
|
233
233
|
|
|
234
234
|
**This phase is executed by YOU (the orchestrator), NOT a subagent.**
|
|
235
235
|
|
|
236
|
-
1. Run `/prizmkit-retrospective` (full sync — Job 1 + Job 2) to update `.prizm-docs/` with structural changes
|
|
236
|
+
1. Run `/prizmkit-retrospective` (full sync — Job 1 + Job 2) to update `.prizmkit/prizm-docs/` with structural changes
|
|
237
237
|
|
|
238
238
|
2. Run `/prizmkit-committer --headless` with:
|
|
239
239
|
- Commit message: `refactor({{REFACTOR_ID}}): {{REFACTOR_TITLE}}`
|
|
@@ -271,7 +271,7 @@ Include browser verification approach in plan.md:
|
|
|
271
271
|
```
|
|
272
272
|
Rules: focus on structural changes, new module boundaries, renamed/moved files, changed interfaces. 3-8 notes, each under 120 chars.
|
|
273
273
|
|
|
274
|
-
- **CP-RF-4**: Commit recorded, refactor-report.md written, .prizm-docs/ updated
|
|
274
|
+
- **CP-RF-4**: Commit recorded, refactor-report.md written, .prizmkit/prizm-docs/ updated
|
|
275
275
|
- **Checkpoint update**: set steps `prizmkit-committer` and `refactor-report` to `"completed"` in `{{CHECKPOINT_PATH}}`
|
|
276
276
|
|
|
277
277
|
### Step 3: Report Session Status
|
|
@@ -7,22 +7,22 @@ git log --oneline | grep "{{FEATURE_ID}}" | head -3
|
|
|
7
7
|
- If a commit for `{{FEATURE_ID}}` already exists → **skip d** (do NOT run /prizmkit-committer, do NOT run git reset, do NOT stage or unstage anything). Proceed directly to e Final verification.
|
|
8
8
|
- If no existing commit → proceed normally with b–d.
|
|
9
9
|
|
|
10
|
-
**b.** Run `/prizmkit-retrospective` (**before commit**, maintains `.prizm-docs/` architecture index):
|
|
10
|
+
**b.** Run `/prizmkit-retrospective` (**before commit**, maintains `.prizmkit/prizm-docs/` architecture index):
|
|
11
11
|
1. **Structural sync**: update KEY_FILES/INTERFACES/DEPENDENCIES/file counts for changed modules
|
|
12
|
-
2. **Architecture knowledge**: extract TRAPS, RULES, DECISIONS from completed work into `.prizm-docs/`
|
|
12
|
+
2. **Architecture knowledge**: extract TRAPS, RULES, DECISIONS from completed work into `.prizmkit/prizm-docs/`
|
|
13
13
|
3. **L2 coverage check**: For any module/sub-module with source files created or significantly modified in this session but no L2 `.prizm` doc — evaluate whether L2 is warranted and create if so. The current session has the best context for accurate KEY_FILES, TRAPS, and DECISIONS.
|
|
14
|
-
4. Stage doc changes: `git add .prizm-docs/`
|
|
14
|
+
4. Stage doc changes: `git add .prizmkit/prizm-docs/`
|
|
15
15
|
⚠️ Do NOT commit here. Only stage.
|
|
16
16
|
|
|
17
17
|
**c.** Stage all feature code explicitly (NEVER use `git add -A` or `git add .`):
|
|
18
18
|
```bash
|
|
19
19
|
git add <specific-files-created-or-modified>
|
|
20
|
-
git add .prizm-docs/
|
|
20
|
+
git add .prizmkit/prizm-docs/
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
**d.** Run `/prizmkit-committer` → THE ONLY commit for this feature:
|
|
24
24
|
`feat({{FEATURE_ID}}): {{FEATURE_TITLE}}`
|
|
25
|
-
This single commit includes: feature code + tests + .prizm-docs/ updates. Do NOT push.
|
|
25
|
+
This single commit includes: feature code + tests + .prizmkit/prizm-docs/ updates. Do NOT push.
|
|
26
26
|
- MANDATORY: commit must be done via `/prizmkit-committer` skill. Do NOT run manual `git add`/`git commit` as a substitute.
|
|
27
27
|
- Do NOT run `update-feature-status.py` here — the pipeline runner handles feature-list.json updates automatically after session exit.
|
|
28
28
|
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
### Architecture Sync & Commit (SINGLE COMMIT)
|
|
2
2
|
|
|
3
|
-
**a.** Run `/prizmkit-retrospective` — maintains `.prizm-docs/` (architecture index):
|
|
4
|
-
1. **Structural sync**: Use `git diff --cached --name-status` to locate changed modules, update KEY_FILES/INTERFACES/DEPENDENCIES/file counts in affected `.prizm-docs/` files
|
|
5
|
-
2. **Architecture knowledge** (feature sessions only): Extract TRAPS/RULES/DECISIONS from completed work into `.prizm-docs/`
|
|
3
|
+
**a.** Run `/prizmkit-retrospective` — maintains `.prizmkit/prizm-docs/` (architecture index):
|
|
4
|
+
1. **Structural sync**: Use `git diff --cached --name-status` to locate changed modules, update KEY_FILES/INTERFACES/DEPENDENCIES/file counts in affected `.prizmkit/prizm-docs/` files
|
|
5
|
+
2. **Architecture knowledge** (feature sessions only): Extract TRAPS/RULES/DECISIONS from completed work into `.prizmkit/prizm-docs/`
|
|
6
6
|
3. **L2 coverage check**: For any module/sub-module with source files created or significantly modified in this session but no L2 `.prizm` doc — evaluate whether L2 is warranted and create if so. The current session has the best context for accurate KEY_FILES, TRAPS, and DECISIONS.
|
|
7
|
-
4. Stage doc changes: `git add .prizm-docs/`
|
|
7
|
+
4. Stage doc changes: `git add .prizmkit/prizm-docs/`
|
|
8
8
|
⚠️ Do NOT commit here. Only stage.
|
|
9
9
|
|
|
10
10
|
**b.** Stage all feature code explicitly (NEVER use `git add -A` or `git add .`):
|
|
11
11
|
```bash
|
|
12
12
|
git add <specific-files-created-or-modified>
|
|
13
|
-
git add .prizm-docs/
|
|
13
|
+
git add .prizmkit/prizm-docs/
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
**c.** Run `/prizmkit-committer` → THE ONLY commit for this feature:
|
|
17
17
|
`feat({{FEATURE_ID}}): {{FEATURE_TITLE}}`
|
|
18
|
-
This single commit includes: feature code + tests + .prizm-docs/ updates. Do NOT push.
|
|
18
|
+
This single commit includes: feature code + tests + .prizmkit/prizm-docs/ updates. Do NOT push.
|
|
19
19
|
- MANDATORY: commit must be done via `/prizmkit-committer` skill. Do NOT run manual `git add`/`git commit` as a substitute.
|
|
20
20
|
- Do NOT run `update-feature-status.py` here — the pipeline runner handles feature-list.json updates automatically after session exit.
|
|
21
21
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|------|-----------|----------------|
|
|
11
11
|
| `<source-dir>/security/permission-guard.js` | Permission check integration | `checkCommandPermission(userId, cmd)` |
|
|
12
12
|
|
|
13
|
-
### Known TRAPS (from .prizm-docs/)
|
|
13
|
+
### Known TRAPS (from .prizmkit/prizm-docs/)
|
|
14
14
|
- <trap entries extracted from L1/L2 docs>
|
|
15
15
|
|
|
16
16
|
|
|
@@ -5,7 +5,7 @@ ls .prizmkit/specs/{{FEATURE_SLUG}}/context-snapshot.md 2>/dev/null && echo "EXI
|
|
|
5
5
|
```
|
|
6
6
|
|
|
7
7
|
If MISSING — build it now:
|
|
8
|
-
1. Read `.prizm-docs/root.prizm` and relevant L1/L2 prizm docs
|
|
8
|
+
1. Read `.prizmkit/prizm-docs/root.prizm` and relevant L1/L2 prizm docs
|
|
9
9
|
2. Detect source code directories: read KEY_FILES and STRUCTURE sections from `root.prizm` to identify where source code lives (e.g. `src/`, `app/`, `lib/`, `cmd/`, `packages/`, or project root). If `root.prizm` is missing, scan the project tree:
|
|
10
10
|
```bash
|
|
11
11
|
find . -maxdepth 2 -type f \( -name "*.js" -o -name "*.ts" -o -name "*.py" -o -name "*.go" -o -name "*.java" -o -name "*.rb" -o -name "*.rs" \) -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/dist/*' -not -path '*/build/*' -not -path '*/vendor/*' | head -30
|
|
@@ -11,7 +11,7 @@ ls .prizmkit/specs/{{FEATURE_SLUG}}/ 2>/dev/null
|
|
|
11
11
|
|
|
12
12
|
**Step A — Build Context Snapshot** (skip if `context-snapshot.md` already exists):
|
|
13
13
|
|
|
14
|
-
1. Read `.prizm-docs/root.prizm` and relevant L1/L2 prizm docs
|
|
14
|
+
1. Read `.prizmkit/prizm-docs/root.prizm` and relevant L1/L2 prizm docs
|
|
15
15
|
2. Detect source code directories: read KEY_FILES and STRUCTURE sections from `root.prizm` to identify where source code lives (e.g. `src/`, `app/`, `lib/`, `cmd/`, `packages/`, or project root). If `root.prizm` is missing, scan the project tree:
|
|
16
16
|
```bash
|
|
17
17
|
find . -maxdepth 2 -type f \( -name "*.js" -o -name "*.ts" -o -name "*.py" -o -name "*.go" -o -name "*.java" -o -name "*.rb" -o -name "*.rs" \) -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/dist/*' -not -path '*/build/*' -not -path '*/vendor/*' | head -30
|
|
@@ -36,7 +36,7 @@ ls .prizmkit/specs/{{FEATURE_SLUG}}/ 2>/dev/null
|
|
|
36
36
|
|------|-----------|----------------|
|
|
37
37
|
| `<source-dir>/security/permission-guard.js` | Permission check integration | `checkCommandPermission(userId, cmd)` |
|
|
38
38
|
|
|
39
|
-
### Known TRAPS (from .prizm-docs/)
|
|
39
|
+
### Known TRAPS (from .prizmkit/prizm-docs/)
|
|
40
40
|
- <trap entries extracted from L1/L2 docs>
|
|
41
41
|
- **Section 5 — Existing Tests**: full content of related test files as code blocks
|
|
42
42
|
5. Confirm: `ls .prizmkit/specs/{{FEATURE_SLUG}}/context-snapshot.md`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
### Phase 0: Project Bootstrap
|
|
2
2
|
- Run `/prizmkit-init` (invoke the prizmkit-init skill)
|
|
3
3
|
- Run `python3 {{INIT_SCRIPT_PATH}} --project-root {{PROJECT_ROOT}} --feature-id {{FEATURE_ID}} --feature-slug {{FEATURE_SLUG}}`
|
|
4
|
-
- **CP-0**: Verify `.prizm-docs/root.prizm`, `.prizmkit/config.json` exist
|
|
4
|
+
- **CP-0**: Verify `.prizmkit/prizm-docs/root.prizm`, `.prizmkit/config.json` exist
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
**Checkpoint update**: Update `workflow-checkpoint.json` — set step `prizmkit-init` to `"completed"`.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Test path resolution in lib/common.sh across:
|
|
3
|
+
# 1. Framework repo-source layout (<repo>/dev-pipeline/lib/common.sh)
|
|
4
|
+
# 2. User-install layout (<proj>/.prizmkit/dev-pipeline/lib/common.sh)
|
|
5
|
+
# 3. Caller pre-set override (test mocks PRIZMKIT_DIR / PROJECT_ROOT)
|
|
6
|
+
#
|
|
7
|
+
# Run: bash dev-pipeline/tests/test-path-resolution.sh
|
|
8
|
+
set -euo pipefail
|
|
9
|
+
|
|
10
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
11
|
+
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
12
|
+
COMMON_SH="$REPO_ROOT/dev-pipeline/lib/common.sh"
|
|
13
|
+
|
|
14
|
+
RED='\033[0;31m'
|
|
15
|
+
GREEN='\033[0;32m'
|
|
16
|
+
NC='\033[0m'
|
|
17
|
+
|
|
18
|
+
PASS=0
|
|
19
|
+
FAIL=0
|
|
20
|
+
|
|
21
|
+
pass() { echo -e " ${GREEN}PASS${NC} $1"; PASS=$((PASS + 1)); }
|
|
22
|
+
fail() { echo -e " ${RED}FAIL${NC} $1 — $2"; FAIL=$((FAIL + 1)); }
|
|
23
|
+
|
|
24
|
+
# Helper: source common.sh in a clean subshell with given env, echo the three
|
|
25
|
+
# resolved paths as PIPELINE_DIR|PRIZMKIT_DIR|PROJECT_ROOT.
|
|
26
|
+
resolve() {
|
|
27
|
+
env -i HOME="$HOME" PATH="$PATH" "$@" bash -c "
|
|
28
|
+
source '$COMMON_SH' >/dev/null 2>&1
|
|
29
|
+
printf '%s|%s|%s\n' \"\$PIPELINE_DIR\" \"\$PRIZMKIT_DIR\" \"\$PROJECT_ROOT\"
|
|
30
|
+
"
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
echo "================================="
|
|
34
|
+
echo " Path Resolution Tests"
|
|
35
|
+
echo "================================="
|
|
36
|
+
|
|
37
|
+
# --- Test 1: Framework repo-source layout ---
|
|
38
|
+
# common.sh located at <repo>/dev-pipeline/lib/common.sh.
|
|
39
|
+
# PIPELINE_DIR -> <repo>/dev-pipeline
|
|
40
|
+
# PRIZMKIT_DIR -> <repo>/.prizmkit
|
|
41
|
+
# PROJECT_ROOT -> <repo>
|
|
42
|
+
echo "[Test 1] Repo-source layout"
|
|
43
|
+
result=$(resolve)
|
|
44
|
+
IFS='|' read -r pipeline prizmkit project <<<"$result"
|
|
45
|
+
[[ "$pipeline" == "$REPO_ROOT/dev-pipeline" ]] \
|
|
46
|
+
&& pass "PIPELINE_DIR=$pipeline" \
|
|
47
|
+
|| fail "PIPELINE_DIR" "got: $pipeline"
|
|
48
|
+
[[ "$prizmkit" == "$REPO_ROOT/.prizmkit" ]] \
|
|
49
|
+
&& pass "PRIZMKIT_DIR=$prizmkit" \
|
|
50
|
+
|| fail "PRIZMKIT_DIR" "got: $prizmkit"
|
|
51
|
+
[[ "$project" == "$REPO_ROOT" ]] \
|
|
52
|
+
&& pass "PROJECT_ROOT=$project" \
|
|
53
|
+
|| fail "PROJECT_ROOT" "got: $project"
|
|
54
|
+
|
|
55
|
+
# --- Test 2: User-install layout (.prizmkit/dev-pipeline) ---
|
|
56
|
+
# Build a tmp dir resembling: <tmp>/proj/.prizmkit/dev-pipeline/lib/common.sh
|
|
57
|
+
TMP_INSTALL=$(mktemp -d)
|
|
58
|
+
trap 'rm -rf "$TMP_INSTALL"' EXIT
|
|
59
|
+
mkdir -p "$TMP_INSTALL/proj/.prizmkit/dev-pipeline/lib"
|
|
60
|
+
cp "$COMMON_SH" "$TMP_INSTALL/proj/.prizmkit/dev-pipeline/lib/common.sh"
|
|
61
|
+
|
|
62
|
+
echo "[Test 2] User-install layout"
|
|
63
|
+
result=$(env -i HOME="$HOME" PATH="$PATH" bash -c "
|
|
64
|
+
source '$TMP_INSTALL/proj/.prizmkit/dev-pipeline/lib/common.sh' >/dev/null 2>&1
|
|
65
|
+
printf '%s|%s|%s\n' \"\$PIPELINE_DIR\" \"\$PRIZMKIT_DIR\" \"\$PROJECT_ROOT\"
|
|
66
|
+
")
|
|
67
|
+
IFS='|' read -r pipeline prizmkit project <<<"$result"
|
|
68
|
+
[[ "$pipeline" == "$TMP_INSTALL/proj/.prizmkit/dev-pipeline" ]] \
|
|
69
|
+
&& pass "PIPELINE_DIR=$pipeline" \
|
|
70
|
+
|| fail "PIPELINE_DIR" "got: $pipeline"
|
|
71
|
+
[[ "$prizmkit" == "$TMP_INSTALL/proj/.prizmkit" ]] \
|
|
72
|
+
&& pass "PRIZMKIT_DIR=$prizmkit" \
|
|
73
|
+
|| fail "PRIZMKIT_DIR" "got: $prizmkit"
|
|
74
|
+
[[ "$project" == "$TMP_INSTALL/proj" ]] \
|
|
75
|
+
&& pass "PROJECT_ROOT=$project" \
|
|
76
|
+
|| fail "PROJECT_ROOT" "got: $project"
|
|
77
|
+
|
|
78
|
+
# --- Test 3: Caller pre-set override (test mocking) ---
|
|
79
|
+
echo "[Test 3] Caller-supplied env vars override detection"
|
|
80
|
+
result=$(resolve \
|
|
81
|
+
PIPELINE_DIR=/mock/pipeline \
|
|
82
|
+
PRIZMKIT_DIR=/mock/.prizmkit \
|
|
83
|
+
PROJECT_ROOT=/mock/proj)
|
|
84
|
+
IFS='|' read -r pipeline prizmkit project <<<"$result"
|
|
85
|
+
[[ "$pipeline" == "/mock/pipeline" ]] \
|
|
86
|
+
&& pass "PIPELINE_DIR honored override" \
|
|
87
|
+
|| fail "PIPELINE_DIR override" "got: $pipeline"
|
|
88
|
+
[[ "$prizmkit" == "/mock/.prizmkit" ]] \
|
|
89
|
+
&& pass "PRIZMKIT_DIR honored override" \
|
|
90
|
+
|| fail "PRIZMKIT_DIR override" "got: $prizmkit"
|
|
91
|
+
[[ "$project" == "/mock/proj" ]] \
|
|
92
|
+
&& pass "PROJECT_ROOT honored override" \
|
|
93
|
+
|| fail "PROJECT_ROOT override" "got: $project"
|
|
94
|
+
|
|
95
|
+
echo ""
|
|
96
|
+
echo "================================="
|
|
97
|
+
echo " Results: $PASS passed, $FAIL failed"
|
|
98
|
+
echo "================================="
|
|
99
|
+
|
|
100
|
+
[[ $FAIL -eq 0 ]] || exit 1
|
package/bundled/rules/USAGE.md
CHANGED
|
@@ -19,9 +19,9 @@ core/rules/
|
|
|
19
19
|
|
|
20
20
|
| File | Description |
|
|
21
21
|
|------|-------------|
|
|
22
|
-
| `prizm-documentation.md` | Sync `.prizm-docs/` when modifying source files |
|
|
22
|
+
| `prizm-documentation.md` | Sync `.prizmkit/prizm-docs/` when modifying source files |
|
|
23
23
|
| `prizm-commit-workflow.md` | Update docs before commit, follow Conventional Commits |
|
|
24
|
-
| `prizm-progressive-loading.md` | Load `.prizm-docs/` progressively on demand, never load all at once |
|
|
24
|
+
| `prizm-progressive-loading.md` | Load `.prizmkit/prizm-docs/` progressively on demand, never load all at once |
|
|
25
25
|
|
|
26
26
|
### General Rules (`general/`)
|
|
27
27
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"tags": ["prizm", "git"]
|
|
11
11
|
},
|
|
12
12
|
"prizm/prizm-progressive-loading": {
|
|
13
|
-
"description": "Progressive .prizm-docs context loading protocol",
|
|
13
|
+
"description": "Progressive .prizmkit/prizm-docs context loading protocol",
|
|
14
14
|
"tags": ["prizm", "context"]
|
|
15
15
|
},
|
|
16
16
|
"general/prefer-linux-commands": {
|
|
@@ -3,7 +3,7 @@ description: "PrizmKit commit workflow rules"
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
Before any git commit in this project:
|
|
6
|
-
1. Run `/prizmkit-retrospective` to sync `.prizm-docs/` (architecture index with TRAPS/RULES/DECISIONS)
|
|
6
|
+
1. Run `/prizmkit-retrospective` to sync `.prizmkit/prizm-docs/` (architecture index with TRAPS/RULES/DECISIONS)
|
|
7
7
|
2. Use Conventional Commits format: type(scope): description
|
|
8
8
|
3. Bug fixes use `fix()` prefix, not `feat()`
|
|
9
9
|
4. Bug fixes run retrospective with structural sync only (Job 1)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "PrizmKit .prizm-docs maintenance rules — when/how to update structured AI documentation"
|
|
2
|
+
description: "PrizmKit .prizmkit/prizm-docs maintenance rules — when/how to update structured AI documentation"
|
|
3
3
|
globs:
|
|
4
4
|
- "**/*.ts"
|
|
5
5
|
- "**/*.tsx"
|
|
@@ -11,11 +11,11 @@ globs:
|
|
|
11
11
|
- "**/*.java"
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
WHEN TO UPDATE .prizm-docs/:
|
|
15
|
-
- Feature development (new interface, new module, new behavior) → UPDATE .prizm-docs/
|
|
14
|
+
WHEN TO UPDATE .prizmkit/prizm-docs/:
|
|
15
|
+
- Feature development (new interface, new module, new behavior) → UPDATE .prizmkit/prizm-docs/
|
|
16
16
|
- Bug fix (fixing broken logic, no structural change) → SKIP, do NOT update
|
|
17
17
|
- Rationale: bugs are incomplete features. Recording bug details causes doc bloat with no AI value.
|
|
18
|
-
- Before modifying any source file, read `.prizm-docs/root.prizm` if it exists to understand project structure.
|
|
18
|
+
- Before modifying any source file, read `.prizmkit/prizm-docs/root.prizm` if it exists to understand project structure.
|
|
19
19
|
|
|
20
20
|
FORMAT RULES (enforced by pre-commit hook — violations block commit):
|
|
21
21
|
- ALL CAPS section headers: MODULE:, FILES:, RESPONSIBILITY:, etc.
|
|
@@ -3,10 +3,10 @@ description: "PrizmKit progressive context loading protocol"
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
This project uses PrizmKit's progressive loading protocol:
|
|
6
|
-
- ON SESSION START: Read `.prizm-docs/root.prizm` (L0 — project map)
|
|
6
|
+
- ON SESSION START: Read `.prizmkit/prizm-docs/root.prizm` (L0 — project map)
|
|
7
7
|
- ON RESUME (feature/bugfix directory has session-summary.md): Read session-summary.md first for prior context, then load only L1/L2 for modules mentioned in it
|
|
8
|
-
- ON TASK: Read L1 (`.prizm-docs/<module>.prizm`) for relevant modules. If MODULE_INDEX entries have keyword tags (e.g., `[login, jwt, oauth]`), match user's task description against tags to prioritize which modules' L1 to load first. If root.prizm uses MODULE_GROUPS, identify the relevant domain first, then load L1 only for modules in that domain.
|
|
9
|
-
- ON FILE EDIT: Read L2 (`.prizm-docs/<module>/<submodule>.prizm`) before modifying
|
|
8
|
+
- ON TASK: Read L1 (`.prizmkit/prizm-docs/<module>.prizm`) for relevant modules. If MODULE_INDEX entries have keyword tags (e.g., `[login, jwt, oauth]`), match user's task description against tags to prioritize which modules' L1 to load first. If root.prizm uses MODULE_GROUPS, identify the relevant domain first, then load L1 only for modules in that domain.
|
|
9
|
+
- ON FILE EDIT: Read L2 (`.prizmkit/prizm-docs/<module>/<submodule>.prizm`) before modifying
|
|
10
10
|
- NEVER load all .prizm docs at once
|
|
11
11
|
- Arrow notation (->) in .prizm files indicates load pointers
|
|
12
12
|
- DECISIONS and CHANGELOG in .prizm files are append-only
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.1.
|
|
2
|
+
"version": "1.1.47",
|
|
3
3
|
"skills": {
|
|
4
4
|
"prizm-kit": {
|
|
5
5
|
"description": "Full-lifecycle dev toolkit. Covers spec-driven development, Prizm context docs, code quality, debugging, deployment, and knowledge management.",
|
|
@@ -37,14 +37,14 @@
|
|
|
37
37
|
"hasScripts": false
|
|
38
38
|
},
|
|
39
39
|
"prizmkit-committer": {
|
|
40
|
-
"description": "Pure git commit workflow with safety checks. Does NOT modify .prizm-docs/.",
|
|
40
|
+
"description": "Pure git commit workflow with safety checks. Does NOT modify .prizmkit/prizm-docs/.",
|
|
41
41
|
"tier": "1",
|
|
42
42
|
"category": "prizmkit-skill",
|
|
43
43
|
"hasAssets": false,
|
|
44
44
|
"hasScripts": false
|
|
45
45
|
},
|
|
46
46
|
"prizmkit-retrospective": {
|
|
47
|
-
"description": "Sole .prizm-docs/ maintainer. Structural sync + TRAPS/RULES/DECISIONS injection to architecture index. Run after code review passes, before committing.",
|
|
47
|
+
"description": "Sole .prizmkit/prizm-docs/ maintainer. Structural sync + TRAPS/RULES/DECISIONS injection to architecture index. Run after code review passes, before committing.",
|
|
48
48
|
"tier": "1",
|
|
49
49
|
"category": "prizmkit-skill",
|
|
50
50
|
"hasAssets": true,
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
]
|
|
181
181
|
},
|
|
182
182
|
"minimal": {
|
|
183
|
-
"description": "Minimal closed-loop workflow: full spec-driven cycle with .prizm-docs/ architecture sync and code review",
|
|
183
|
+
"description": "Minimal closed-loop workflow: full spec-driven cycle with .prizmkit/prizm-docs/ architecture sync and code review",
|
|
184
184
|
"skills": [
|
|
185
185
|
"prizm-kit",
|
|
186
186
|
"prizmkit-init",
|
|
@@ -36,7 +36,7 @@ If you believe the task is better suited for a different workflow, you MUST:
|
|
|
36
36
|
**Your ONLY writable outputs are:**
|
|
37
37
|
1. `.prizmkit/plans/project-brief.md` (`.prizmkit/plans/` — accumulated project context brief)
|
|
38
38
|
2. Project conventions and architecture decisions appended to `CLAUDE.md` / `CODEBUDDY.md` (with user consent)
|
|
39
|
-
3. Infrastructure configuration (database conventions
|
|
39
|
+
3. Infrastructure configuration (database conventions, deployment config, **cloud services**) appended to `CLAUDE.md` / `CODEBUDDY.md` `### Infrastructure` section
|
|
40
40
|
|
|
41
41
|
**After planning is complete**, you MUST:
|
|
42
42
|
1. Present the summary of captured project-level context (vision, conventions, architecture decisions, project brief)
|
|
@@ -171,6 +171,27 @@ Do NOT use this skill when:
|
|
|
171
171
|
|
|
172
172
|
Use `AskUserQuestion` for each batch. Each question MUST include a "Skip — decide later" option.
|
|
173
173
|
|
|
174
|
+
**Cloud Services Deep Inquiry** (Two-round AskUserQuestion):
|
|
175
|
+
|
|
176
|
+
Many projects depend on third-party cloud services (object storage, CDN, managed DB, auth, domain, email, SMS, payment, AI APIs). Capture them now so feature-planner and prizmkit-deploy can reference them later.
|
|
177
|
+
|
|
178
|
+
*Round 1 — Cloud Vendors* (multi-select via `AskUserQuestion`):
|
|
179
|
+
- "Which cloud vendors will this project integrate with?"
|
|
180
|
+
- Options: `AWS`, `Aliyun`, `Tencent Cloud`, `Cloudflare`, `Vercel`, `Other` (free text), `None — skip`
|
|
181
|
+
- If `None — skip`, write `<!-- cloud-services: none -->` to the `#### Cloud Services` subsection and exit this inquiry.
|
|
182
|
+
|
|
183
|
+
*Round 2 — Service Types* (multi-select, only if Round 1 returned any vendor):
|
|
184
|
+
- "Which types of cloud services will you use?"
|
|
185
|
+
- Options: `Object Storage (COS/S3/OSS)`, `CDN`, `Managed Database`, `Functions/Serverless`, `Auth (OAuth/JWT/IDaaS)`, `Domain & DNS`, `Email`, `SMS`, `Payment`, `AI API (OpenAI/Anthropic/...)`, `Other`
|
|
186
|
+
- The list is multi-select. Skip the question entirely if user picks "None" in Round 1.
|
|
187
|
+
|
|
188
|
+
*After both rounds, write to `#### Cloud Services`*:
|
|
189
|
+
- For each chosen (vendor × service) pair, append a row to the subsection (see template below)
|
|
190
|
+
- **Do NOT** prompt for env var names, credentials, region, or SDK details — those belong to `prizmkit-deploy`'s scope, not planning
|
|
191
|
+
- If the user is unsure of the mapping, store the vendors and service types separately; deploy skill can refine later
|
|
192
|
+
|
|
193
|
+
Use `AskUserQuestion` for both rounds. Each question MUST include a "Skip — decide later" option.
|
|
194
|
+
|
|
174
195
|
**After infrastructure inquiry**:
|
|
175
196
|
- Update `CLAUDE.md` / `CODEBUDDY.md` `### Infrastructure` section with all collected information. Replace `<!-- deferred -->` markers with real values. Preserve any existing values that were confirmed unchanged. Full format:
|
|
176
197
|
```markdown
|
|
@@ -197,6 +218,13 @@ Do NOT use this skill when:
|
|
|
197
218
|
|
|
198
219
|
#### Deployment Credentials Reference
|
|
199
220
|
- [platform]: [token/auth method description]
|
|
221
|
+
|
|
222
|
+
#### Cloud Services
|
|
223
|
+
- **Vendors**: [comma-separated list, e.g., "AWS, Cloudflare" or "none"]
|
|
224
|
+
- **Services**:
|
|
225
|
+
- [vendor]: [service type] — [optional one-line note, e.g., "user-upload images"]
|
|
226
|
+
- [vendor]: [service type]
|
|
227
|
+
<!-- If user picked "None" in Round 1, replace this block with: cloud-services: none -->
|
|
200
228
|
```
|
|
201
229
|
- Items still marked "Skip — decide later" remain as `<!-- [topic]: deferred -->` in CLAUDE.md for `prizmkit-deploy` to pick up later.
|
|
202
230
|
|
|
@@ -207,7 +235,7 @@ Do NOT use this skill when:
|
|
|
207
235
|
## Prerequisites
|
|
208
236
|
|
|
209
237
|
Before questions, check optional context files (never block if absent):
|
|
210
|
-
- `.prizm-docs/root.prizm` (architecture/project context)
|
|
238
|
+
- `.prizmkit/prizm-docs/root.prizm` (architecture/project context)
|
|
211
239
|
- `.prizmkit/config.json` (existing stack preferences and detected tech stack)
|
|
212
240
|
- `CLAUDE.md` / `CODEBUDDY.md` `### Project Conventions` section (previously answered project conventions)
|
|
213
241
|
- `CLAUDE.md` / `CODEBUDDY.md` `### Infrastructure` section (database and deployment config from prizmkit-init or previous app-planner run)
|
|
@@ -221,7 +249,7 @@ Before questions, check optional context files (never block if absent):
|
|
|
221
249
|
Note:
|
|
222
250
|
- This skill **reads** `.prizmkit/config.json` if present.
|
|
223
251
|
- This skill does **not** create `.prizmkit/config.json` directly.
|
|
224
|
-
- Creation/update is handled by bootstrap/init flows (e.g., `prizmkit-init`,
|
|
252
|
+
- Creation/update is handled by bootstrap/init flows (e.g., `prizmkit-init`, `.prizmkit/dev-pipeline/scripts/init-dev-team.py`).
|
|
225
253
|
|
|
226
254
|
## Interaction Style (Hard Rule)
|
|
227
255
|
|
|
@@ -306,7 +334,7 @@ Before ANY planning work, check if AI-essential project context files exist:
|
|
|
306
334
|
|
|
307
335
|
| File | Purpose | Status |
|
|
308
336
|
|------|---------|--------|
|
|
309
|
-
| `.prizm-docs/root.prizm` | Project architecture context for AI | exists / missing |
|
|
337
|
+
| `.prizmkit/prizm-docs/root.prizm` | Project architecture context for AI | exists / missing |
|
|
310
338
|
| `.prizmkit/config.json` | Tech stack + runtime config | exists / missing |
|
|
311
339
|
| `.prizmkit/plans/project-brief.md` | Product vision checklist | exists / missing |
|
|
312
340
|
|
|
@@ -336,7 +364,7 @@ Do NOT ask the user to describe their project — read it yourself first:
|
|
|
336
364
|
- `go.mod` → Go module info
|
|
337
365
|
- `README.md` → project description and goals
|
|
338
366
|
- `.prizmkit/config.json` → previously detected tech stack
|
|
339
|
-
- `.prizm-docs/root.prizm` → existing architecture context
|
|
367
|
+
- `.prizmkit/prizm-docs/root.prizm` → existing architecture context
|
|
340
368
|
|
|
341
369
|
3. **Read key source files** (entry points, main routes, core models) to understand what the project actually does — don't rely solely on metadata.
|
|
342
370
|
|
|
@@ -392,7 +420,7 @@ Checkpoints catch cascading errors early — skipping one means the next phase b
|
|
|
392
420
|
|-----------|----------------|----------|-------|
|
|
393
421
|
| **CP-AP-0** | Intent Confirmed | User confirmed session goal (produce / explore) | 1 |
|
|
394
422
|
| **CP-AP-1** | Conventions Checked | Project conventions loaded or asked; `### Project Conventions` section in `CLAUDE.md` / `CODEBUDDY.md` up to date | 1 |
|
|
395
|
-
| **CP-AP-1.5** | Infrastructure Checked | Infrastructure config loaded or asked; `### Infrastructure` section in `CLAUDE.md` / `CODEBUDDY.md` addressed — configured or explicitly deferred | 1-2 |
|
|
423
|
+
| **CP-AP-1.5** | Infrastructure Checked | Infrastructure config loaded or asked; `### Infrastructure` section in `CLAUDE.md` / `CODEBUDDY.md` addressed — database, deployment **and cloud services** each configured or explicitly deferred | 1-2 |
|
|
396
424
|
| **CP-AP-2** | Vision Summary | Goal/users/differentiators confirmed by user. For brownfield: existing purpose confirmed or refined. | 1-2 |
|
|
397
425
|
| **CP-AP-3** | Frontend Design Evaluated | For frontend projects: checked for existing UI/UX design system; user was asked if missing. **Auto-pass** for backend-only or non-UI projects. | 2 |
|
|
398
426
|
| **CP-AP-4** | Project Brief Accumulated | `.prizmkit/plans/project-brief.md` exists at `.prizmkit/plans/` with at least 3 ideas listed. For brownfield: already-implemented items marked `[x]` count toward this total. | 3 |
|
|
@@ -405,7 +433,7 @@ After Phase 2, if framework-shaping architecture decisions emerged during planni
|
|
|
405
433
|
**How it works**:
|
|
406
434
|
1. If decisions are captured → append to `CLAUDE.md` / `CODEBUDDY.md` under `### Architecture Decisions` section
|
|
407
435
|
2. Downstream skills (feature-planner, prizmkit-plan, etc.) read `CLAUDE.md` / `CODEBUDDY.md` as standard context, so they automatically receive these decisions
|
|
408
|
-
3. Do NOT write directly to `.prizm-docs/root.prizm` — that file is maintained by `prizmkit-prizm-docs` and `prizmkit-retrospective`. If the project needs `.prizm-docs/`, recommend the user run `prizmkit-prizm-docs` init after planning.
|
|
436
|
+
3. Do NOT write directly to `.prizmkit/prizm-docs/root.prizm` — that file is maintained by `prizmkit-prizm-docs` and `prizmkit-retrospective`. If the project needs `.prizmkit/prizm-docs/`, recommend the user run `prizmkit-prizm-docs` init after planning.
|
|
409
437
|
|
|
410
438
|
## Project Brief Accumulation
|
|
411
439
|
|
|
@@ -212,11 +212,11 @@ AskUserQuestion:
|
|
|
212
212
|
|
|
213
213
|
**Goal**: Locate affected code, identify root cause, classify severity.
|
|
214
214
|
|
|
215
|
-
> **Triage**: Classify error into: Runtime / Network / Auth / Data / Resource / Logic / Config / External. Check `.prizm-docs/` TRAPS for known patterns first. If a TRAPS match is found, use documented solution and reference the specific `.prizm-docs/` entry. If no match, trace the call chain from the stack frame to identify root cause from first principles.
|
|
215
|
+
> **Triage**: Classify error into: Runtime / Network / Auth / Data / Resource / Logic / Config / External. Check `.prizmkit/prizm-docs/` TRAPS for known patterns first. If a TRAPS match is found, use documented solution and reference the specific `.prizmkit/prizm-docs/` entry. If no match, trace the call chain from the stack frame to identify root cause from first principles.
|
|
216
216
|
|
|
217
|
-
1. **Read project context**: `.prizm-docs/root.prizm` → relevant L1/L2 docs for affected modules
|
|
217
|
+
1. **Read project context**: `.prizmkit/prizm-docs/root.prizm` → relevant L1/L2 docs for affected modules
|
|
218
218
|
2. **Locate affected code**: read the files mentioned in the error/stack trace or identified during diagnosis
|
|
219
|
-
3. **Check known issues**: search `.prizm-docs/` TRAPS sections for matching patterns
|
|
219
|
+
3. **Check known issues**: search `.prizmkit/prizm-docs/` TRAPS sections for matching patterns
|
|
220
220
|
4. **If database-related**: read existing schema/model files to understand the data layer
|
|
221
221
|
```bash
|
|
222
222
|
find . -maxdepth 4 -type f \( -name "*.prisma" -o -name "*.sql" -o -path "*/migrations/*" -o -path "*/models/*" -o -name "schema.*" -o -name "*.entity.*" \) -not -path '*/node_modules/*' -not -path '*/.git/*' | head -20
|
|
@@ -259,7 +259,7 @@ If the bug is hard to reproduce automatically (e.g. environment-specific):
|
|
|
259
259
|
1. **Implement the fix**:
|
|
260
260
|
- Change the minimum amount of code to fix the root cause
|
|
261
261
|
- Do NOT refactor or add unrelated improvements — fix the bug only
|
|
262
|
-
- Follow existing code conventions (read from `.prizm-docs/` RULES/PATTERNS)
|
|
262
|
+
- Follow existing code conventions (read from `.prizmkit/prizm-docs/` RULES/PATTERNS)
|
|
263
263
|
- If the fix involves database changes: read existing schema first, follow existing naming/constraint conventions
|
|
264
264
|
2. **Run the reproduction test** → must **pass** (green)
|
|
265
265
|
3. **Run the full module test suite** → must pass (no regressions)
|
|
@@ -316,7 +316,7 @@ If user reports the fix is NOT working:
|
|
|
316
316
|
- Commit message: `fix(<scope>): <description>`
|
|
317
317
|
- Include both fix code and reproduction test
|
|
318
318
|
- Do NOT push (user decides when to push)
|
|
319
|
-
- `/prizmkit-committer` is a pure commit tool — it does NOT modify `.prizm-docs/` or any project files
|
|
319
|
+
- `/prizmkit-committer` is a pure commit tool — it does NOT modify `.prizmkit/prizm-docs/` or any project files
|
|
320
320
|
- No `/prizmkit-retrospective` — bug fixes are incomplete features, not new architecture worth documenting
|
|
321
321
|
2. **Ask merge preference**:
|
|
322
322
|
```
|
|
@@ -392,7 +392,7 @@ Only 2 artifact files per bug, consistent with the pipeline convention.
|
|
|
392
392
|
| Cannot reproduce the bug | Ask for more context, try alternative reproduction |
|
|
393
393
|
| Fix causes regressions | Revert, analyze, retry (max 3 rounds) |
|
|
394
394
|
| Root cause unclear after investigation | Present findings, ask user for guidance |
|
|
395
|
-
| Affected files are in unfamiliar module | Read `.prizm-docs/` L1/L2 for that module first |
|
|
395
|
+
| Affected files are in unfamiliar module | Read `.prizmkit/prizm-docs/` L1/L2 for that module first |
|
|
396
396
|
| Branch conflict during merge | Show conflict, ask user to resolve or keep branch |
|
|
397
397
|
|
|
398
398
|
## HANDOFF
|