prizmkit 1.1.100 → 1.1.101
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/bin/create-prizmkit.js +4 -4
- package/bundled/VERSION.json +3 -3
- package/bundled/dev-pipeline/.env.example +3 -3
- package/bundled/dev-pipeline/README.md +110 -90
- package/bundled/dev-pipeline/assets/prizm-dev-team-integration.md +1 -1
- package/bundled/dev-pipeline/cli.py +27 -0
- package/bundled/dev-pipeline/prizmkit_runtime/__init__.py +13 -0
- package/bundled/dev-pipeline/prizmkit_runtime/__main__.py +9 -0
- package/bundled/dev-pipeline/prizmkit_runtime/cli.py +193 -0
- package/bundled/dev-pipeline/prizmkit_runtime/commands.py +313 -0
- package/bundled/dev-pipeline/prizmkit_runtime/compat.py +32 -0
- package/bundled/dev-pipeline/prizmkit_runtime/config.py +410 -0
- package/bundled/dev-pipeline/prizmkit_runtime/daemon.py +478 -0
- package/bundled/dev-pipeline/prizmkit_runtime/gitops.py +734 -0
- package/bundled/dev-pipeline/prizmkit_runtime/heartbeat.py +256 -0
- package/bundled/dev-pipeline/prizmkit_runtime/interoperability.py +109 -0
- package/bundled/dev-pipeline/prizmkit_runtime/paths.py +110 -0
- package/bundled/dev-pipeline/prizmkit_runtime/processes.py +373 -0
- package/bundled/dev-pipeline/prizmkit_runtime/reset.py +389 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runner_bookkeeping.py +51 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runner_classification.py +179 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runner_models.py +345 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runner_prompts.py +118 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runner_recovery.py +187 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runner_status.py +147 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runners.py +422 -0
- package/bundled/dev-pipeline/prizmkit_runtime/sessions.py +552 -0
- package/bundled/dev-pipeline/prizmkit_runtime/status.py +71 -0
- package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +38 -23
- package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +20 -5
- package/bundled/dev-pipeline/scripts/generate-recovery-prompt.py +2 -2
- package/bundled/dev-pipeline/scripts/parse-stream-progress.py +39 -0
- package/bundled/dev-pipeline/templates/agent-prompts/dev-implement.md +7 -1
- package/bundled/dev-pipeline/templates/bootstrap-prompt.md +4 -0
- package/bundled/dev-pipeline/templates/bootstrap-tier1.md +12 -3
- package/bundled/dev-pipeline/templates/bootstrap-tier2.md +13 -3
- package/bundled/dev-pipeline/templates/bootstrap-tier3.md +13 -3
- package/bundled/dev-pipeline/templates/sections/context-budget-rules.md +2 -0
- package/bundled/dev-pipeline/templates/sections/log-size-awareness.md +9 -30
- package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-agent-suffix.md +15 -7
- package/bundled/dev-pipeline/templates/sections/phase-implement-agent.md +42 -29
- package/bundled/dev-pipeline/templates/sections/phase-implement-full.md +41 -39
- package/bundled/dev-pipeline/templates/sections/test-failure-recovery-agent.md +4 -0
- package/bundled/dev-pipeline/templates/sections/test-failure-recovery-lite.md +4 -0
- package/bundled/dev-pipeline/tests/test_auto_skip.py +436 -14
- package/bundled/dev-pipeline/tests/test_generate_bootstrap_prompt.py +104 -0
- package/bundled/dev-pipeline/tests/test_generate_bugfix_prompt.py +40 -0
- package/bundled/dev-pipeline/tests/test_python_runner_parity.py +1138 -0
- package/bundled/dev-pipeline/tests/test_unified_cli.py +1045 -0
- package/bundled/skills/_metadata.json +1 -1
- package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +29 -34
- package/bundled/skills/bugfix-pipeline-launcher/references/configuration.md +6 -5
- package/bundled/skills/feature-pipeline-launcher/SKILL.md +29 -35
- package/bundled/skills/feature-pipeline-launcher/references/configuration.md +7 -6
- package/bundled/skills/feature-workflow/SKILL.md +3 -6
- package/bundled/skills/recovery-workflow/SKILL.md +23 -32
- package/bundled/skills/refactor-pipeline-launcher/SKILL.md +29 -35
- package/bundled/skills/refactor-pipeline-launcher/references/configuration.md +7 -6
- package/bundled/skills/refactor-workflow/SKILL.md +3 -6
- package/bundled/templates/hooks/commit-intent.json +2 -2
- package/bundled/templates/hooks/diff-prizm-docs.py +226 -0
- package/bundled/templates/hooks/prizm-pre-commit.py +45 -0
- package/bundled/templates/hooks/validate-prizm-docs.py +240 -0
- package/package.json +1 -1
- package/src/config.js +33 -12
- package/src/index.js +3 -6
- package/src/manifest.js +3 -2
- package/src/metadata.js +7 -18
- package/src/prompts.js +0 -12
- package/src/runtimes.js +18 -11
- package/src/scaffold.js +133 -116
- package/src/upgrade.js +1 -1
- package/bundled/dev-pipeline/launch-bugfix-daemon.sh +0 -500
- package/bundled/dev-pipeline/launch-feature-daemon.sh +0 -657
- package/bundled/dev-pipeline/launch-refactor-daemon.sh +0 -502
- package/bundled/dev-pipeline/lib/branch.sh +0 -326
- package/bundled/dev-pipeline/lib/common.sh +0 -1476
- package/bundled/dev-pipeline/lib/heartbeat.sh +0 -469
- package/bundled/dev-pipeline/reset-bug.sh +0 -425
- package/bundled/dev-pipeline/reset-feature.sh +0 -436
- package/bundled/dev-pipeline/reset-refactor.sh +0 -423
- package/bundled/dev-pipeline/run-bugfix.sh +0 -1430
- package/bundled/dev-pipeline/run-feature.sh +0 -1718
- package/bundled/dev-pipeline/run-recovery.sh +0 -648
- package/bundled/dev-pipeline/run-refactor.sh +0 -1463
- package/bundled/dev-pipeline/tests/test-path-resolution.sh +0 -100
- package/bundled/dev-pipeline-windows/.env.example +0 -36
- package/bundled/dev-pipeline-windows/README.md +0 -30
- package/bundled/dev-pipeline-windows/SCHEMA_ANALYSIS.md +0 -533
- package/bundled/dev-pipeline-windows/assets/feature-list-example.json +0 -146
- package/bundled/dev-pipeline-windows/assets/prizm-dev-team-integration.md +0 -137
- package/bundled/dev-pipeline-windows/launch-bugfix-daemon.ps1 +0 -9
- package/bundled/dev-pipeline-windows/launch-feature-daemon.ps1 +0 -9
- package/bundled/dev-pipeline-windows/launch-refactor-daemon.ps1 +0 -9
- package/bundled/dev-pipeline-windows/lib/branch.ps1 +0 -235
- package/bundled/dev-pipeline-windows/lib/common.ps1 +0 -991
- package/bundled/dev-pipeline-windows/lib/daemon.ps1 +0 -140
- package/bundled/dev-pipeline-windows/lib/pipeline.ps1 +0 -1051
- package/bundled/dev-pipeline-windows/lib/reset.ps1 +0 -121
- package/bundled/dev-pipeline-windows/reset-bug.ps1 +0 -10
- package/bundled/dev-pipeline-windows/reset-feature.ps1 +0 -10
- package/bundled/dev-pipeline-windows/reset-refactor.ps1 +0 -10
- package/bundled/dev-pipeline-windows/run-bugfix.ps1 +0 -9
- package/bundled/dev-pipeline-windows/run-feature.ps1 +0 -9
- package/bundled/dev-pipeline-windows/run-recovery.ps1 +0 -179
- package/bundled/dev-pipeline-windows/run-refactor.ps1 +0 -9
- package/bundled/dev-pipeline-windows/scripts/check-session-status.py +0 -301
- package/bundled/dev-pipeline-windows/scripts/continuation.py +0 -374
- package/bundled/dev-pipeline-windows/scripts/detect-stuck.py +0 -530
- package/bundled/dev-pipeline-windows/scripts/generate-bootstrap-prompt.py +0 -2279
- package/bundled/dev-pipeline-windows/scripts/generate-bugfix-prompt.py +0 -763
- package/bundled/dev-pipeline-windows/scripts/generate-recovery-prompt.py +0 -805
- package/bundled/dev-pipeline-windows/scripts/generate-refactor-prompt.py +0 -841
- package/bundled/dev-pipeline-windows/scripts/init-bugfix-pipeline.py +0 -316
- package/bundled/dev-pipeline-windows/scripts/init-dev-team.py +0 -134
- package/bundled/dev-pipeline-windows/scripts/init-pipeline.py +0 -382
- package/bundled/dev-pipeline-windows/scripts/init-refactor-pipeline.py +0 -399
- package/bundled/dev-pipeline-windows/scripts/parse-stream-progress.py +0 -1362
- package/bundled/dev-pipeline-windows/scripts/patch-completion-notes.py +0 -191
- package/bundled/dev-pipeline-windows/scripts/prizmkit-test-gate.py +0 -446
- package/bundled/dev-pipeline-windows/scripts/update-bug-status.py +0 -1121
- package/bundled/dev-pipeline-windows/scripts/update-checkpoint.py +0 -173
- package/bundled/dev-pipeline-windows/scripts/update-feature-status.py +0 -1789
- package/bundled/dev-pipeline-windows/scripts/update-refactor-status.py +0 -1327
- package/bundled/dev-pipeline-windows/scripts/utils.py +0 -542
- package/bundled/dev-pipeline-windows/templates/agent-prompts/critic-plan-challenge.md +0 -7
- package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-fix.md +0 -7
- package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-implement.md +0 -65
- package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-resume.md +0 -5
- package/bundled/dev-pipeline-windows/templates/agent-prompts/reviewer-review.md +0 -7
- package/bundled/dev-pipeline-windows/templates/bootstrap-prompt.md +0 -73
- package/bundled/dev-pipeline-windows/templates/bootstrap-tier1.md +0 -589
- package/bundled/dev-pipeline-windows/templates/bootstrap-tier2.md +0 -710
- package/bundled/dev-pipeline-windows/templates/bootstrap-tier3.md +0 -791
- package/bundled/dev-pipeline-windows/templates/bug-fix-list-schema.json +0 -263
- package/bundled/dev-pipeline-windows/templates/bugfix-bootstrap-prompt.md +0 -326
- package/bundled/dev-pipeline-windows/templates/feature-list-schema.json +0 -237
- package/bundled/dev-pipeline-windows/templates/refactor-bootstrap-prompt.md +0 -340
- package/bundled/dev-pipeline-windows/templates/refactor-list-schema.json +0 -270
- package/bundled/dev-pipeline-windows/templates/sections/ac-verification-checklist.md +0 -7
- package/bundled/dev-pipeline-windows/templates/sections/checkpoint-system.md +0 -91
- package/bundled/dev-pipeline-windows/templates/sections/context-budget-rules.md +0 -34
- package/bundled/dev-pipeline-windows/templates/sections/critical-paths-agent.md +0 -10
- package/bundled/dev-pipeline-windows/templates/sections/critical-paths-full.md +0 -12
- package/bundled/dev-pipeline-windows/templates/sections/critical-paths-lite.md +0 -7
- package/bundled/dev-pipeline-windows/templates/sections/directory-convention-agent.md +0 -8
- package/bundled/dev-pipeline-windows/templates/sections/directory-convention-full.md +0 -9
- package/bundled/dev-pipeline-windows/templates/sections/directory-convention-lite.md +0 -6
- package/bundled/dev-pipeline-windows/templates/sections/failure-capture.md +0 -21
- package/bundled/dev-pipeline-windows/templates/sections/feature-context.md +0 -21
- package/bundled/dev-pipeline-windows/templates/sections/log-size-awareness.md +0 -41
- package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification-auto.md +0 -283
- package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification-opencli.md +0 -112
- package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification.md +0 -168
- package/bundled/dev-pipeline-windows/templates/sections/phase-commit-full.md +0 -82
- package/bundled/dev-pipeline-windows/templates/sections/phase-commit.md +0 -75
- package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-agent-suffix.md +0 -23
- package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-base.md +0 -14
- package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-lite-suffix.md +0 -19
- package/bundled/dev-pipeline-windows/templates/sections/phase-critic-plan-full.md +0 -63
- package/bundled/dev-pipeline-windows/templates/sections/phase-critic-plan.md +0 -42
- package/bundled/dev-pipeline-windows/templates/sections/phase-implement-agent.md +0 -44
- package/bundled/dev-pipeline-windows/templates/sections/phase-implement-full.md +0 -59
- package/bundled/dev-pipeline-windows/templates/sections/phase-implement-lite.md +0 -39
- package/bundled/dev-pipeline-windows/templates/sections/phase-plan-agent.md +0 -27
- package/bundled/dev-pipeline-windows/templates/sections/phase-plan-lite.md +0 -27
- package/bundled/dev-pipeline-windows/templates/sections/phase-prizmkit-test.md +0 -39
- package/bundled/dev-pipeline-windows/templates/sections/phase-review-agent.md +0 -35
- package/bundled/dev-pipeline-windows/templates/sections/phase-review-full.md +0 -35
- package/bundled/dev-pipeline-windows/templates/sections/phase-specify-plan-full.md +0 -73
- package/bundled/dev-pipeline-windows/templates/sections/phase0-init.md +0 -13
- package/bundled/dev-pipeline-windows/templates/sections/phase0-test-baseline.md +0 -21
- package/bundled/dev-pipeline-windows/templates/sections/session-context.md +0 -5
- package/bundled/dev-pipeline-windows/templates/sections/subagent-timeout-recovery.md +0 -6
- package/bundled/dev-pipeline-windows/templates/sections/task-contract.md +0 -34
- package/bundled/dev-pipeline-windows/templates/sections/test-failure-recovery-agent.md +0 -48
- package/bundled/dev-pipeline-windows/templates/sections/test-failure-recovery-lite.md +0 -48
- package/bundled/dev-pipeline-windows/templates/session-status-schema.json +0 -83
- package/bundled/skills-windows/app-planner/SKILL.md +0 -296
- package/bundled/skills-windows/app-planner/assets/app-design-guide.md +0 -101
- package/bundled/skills-windows/app-planner/references/architecture-decisions.md +0 -52
- package/bundled/skills-windows/app-planner/references/brainstorm-guide.md +0 -101
- package/bundled/skills-windows/app-planner/references/frontend-design-guide.md +0 -71
- package/bundled/skills-windows/app-planner/references/infrastructure-convention-discovery.md +0 -108
- package/bundled/skills-windows/app-planner/references/project-brief-guide.md +0 -82
- package/bundled/skills-windows/app-planner/references/project-conventions-discovery.md +0 -59
- package/bundled/skills-windows/app-planner/references/project-state-detection.md +0 -90
- package/bundled/skills-windows/app-planner/references/red-team-checklist.md +0 -40
- package/bundled/skills-windows/app-planner/references/rules/backend/derivation-rules.md +0 -619
- package/bundled/skills-windows/app-planner/references/rules/backend/fixed-rules.md +0 -285
- package/bundled/skills-windows/app-planner/references/rules/backend/question-bank.md +0 -249
- package/bundled/skills-windows/app-planner/references/rules/backend/question-manifest.json +0 -46
- package/bundled/skills-windows/app-planner/references/rules/backend/template.md +0 -173
- package/bundled/skills-windows/app-planner/references/rules/database/derivation-rules.md +0 -382
- package/bundled/skills-windows/app-planner/references/rules/database/fixed-rules.md +0 -211
- package/bundled/skills-windows/app-planner/references/rules/database/question-bank.md +0 -184
- package/bundled/skills-windows/app-planner/references/rules/database/question-manifest.json +0 -39
- package/bundled/skills-windows/app-planner/references/rules/database/template.md +0 -158
- package/bundled/skills-windows/app-planner/references/rules/frontend/derivation-rules.md +0 -820
- package/bundled/skills-windows/app-planner/references/rules/frontend/fixed-rules.md +0 -188
- package/bundled/skills-windows/app-planner/references/rules/frontend/question-bank.md +0 -319
- package/bundled/skills-windows/app-planner/references/rules/frontend/question-manifest.json +0 -51
- package/bundled/skills-windows/app-planner/references/rules/frontend/template.md +0 -339
- package/bundled/skills-windows/app-planner/references/rules/mobile/derivation-rules.md +0 -649
- package/bundled/skills-windows/app-planner/references/rules/mobile/fixed-rules.md +0 -290
- package/bundled/skills-windows/app-planner/references/rules/mobile/question-bank.md +0 -232
- package/bundled/skills-windows/app-planner/references/rules/mobile/question-manifest.json +0 -47
- package/bundled/skills-windows/app-planner/references/rules/mobile/template.md +0 -175
- package/bundled/skills-windows/app-planner/references/rules-configuration.md +0 -46
- package/bundled/skills-windows/bug-fix-workflow/SKILL.md +0 -379
- package/bundled/skills-windows/bug-fix-workflow/references/bug-diagnosis.md +0 -41
- package/bundled/skills-windows/bug-planner/SKILL.md +0 -402
- package/bundled/skills-windows/bug-planner/assets/bug-confirmation-template.md +0 -43
- package/bundled/skills-windows/bug-planner/references/critic-and-verification.md +0 -44
- package/bundled/skills-windows/bug-planner/references/error-recovery.md +0 -73
- package/bundled/skills-windows/bug-planner/references/input-formats.md +0 -53
- package/bundled/skills-windows/bug-planner/references/schema-validation.md +0 -25
- package/bundled/skills-windows/bug-planner/references/severity-rules.md +0 -16
- package/bundled/skills-windows/bug-planner/scripts/validate-bug-list.py +0 -322
- package/bundled/skills-windows/bugfix-pipeline-launcher/SKILL.md +0 -304
- package/bundled/skills-windows/bugfix-pipeline-launcher/references/configuration.md +0 -84
- package/bundled/skills-windows/feature-pipeline-launcher/SKILL.md +0 -381
- package/bundled/skills-windows/feature-pipeline-launcher/references/configuration.md +0 -67
- package/bundled/skills-windows/feature-pipeline-launcher/scripts/preflight-check.py +0 -462
- package/bundled/skills-windows/feature-planner/SKILL.md +0 -397
- package/bundled/skills-windows/feature-planner/assets/evaluation-guide.md +0 -64
- package/bundled/skills-windows/feature-planner/assets/planning-guide.md +0 -214
- package/bundled/skills-windows/feature-planner/references/browser-interaction.md +0 -59
- package/bundled/skills-windows/feature-planner/references/completeness-review.md +0 -57
- package/bundled/skills-windows/feature-planner/references/decomposition-patterns.md +0 -75
- package/bundled/skills-windows/feature-planner/references/error-recovery.md +0 -90
- package/bundled/skills-windows/feature-planner/references/incremental-feature-planning.md +0 -112
- package/bundled/skills-windows/feature-planner/references/new-project-planning.md +0 -85
- package/bundled/skills-windows/feature-planner/scripts/validate-and-generate.py +0 -1020
- package/bundled/skills-windows/feature-workflow/SKILL.md +0 -374
- package/bundled/skills-windows/feature-workflow/references/brainstorm-guide.md +0 -137
- package/bundled/skills-windows/prizm-kit/SKILL.md +0 -93
- package/bundled/skills-windows/prizmkit-code-review/SKILL.md +0 -161
- package/bundled/skills-windows/prizmkit-code-review/references/dev-agent-prompt.md +0 -30
- package/bundled/skills-windows/prizmkit-code-review/references/review-report-template.md +0 -31
- package/bundled/skills-windows/prizmkit-code-review/references/reviewer-agent-prompt.md +0 -66
- package/bundled/skills-windows/prizmkit-code-review/scripts/check_loop.py +0 -186
- package/bundled/skills-windows/prizmkit-committer/SKILL.md +0 -89
- package/bundled/skills-windows/prizmkit-deploy/SKILL.md +0 -444
- package/bundled/skills-windows/prizmkit-deploy/references/ci-cd-workflows.md +0 -115
- package/bundled/skills-windows/prizmkit-deploy/references/cloud-platform-deploy.md +0 -93
- package/bundled/skills-windows/prizmkit-deploy/references/data-safety-examples.md +0 -120
- package/bundled/skills-windows/prizmkit-deploy/references/database-setup.md +0 -46
- package/bundled/skills-windows/prizmkit-deploy/references/deploy-config-schema.md +0 -148
- package/bundled/skills-windows/prizmkit-deploy/references/deploy-history-schema.md +0 -62
- package/bundled/skills-windows/prizmkit-deploy/references/deployment-modes.md +0 -50
- package/bundled/skills-windows/prizmkit-deploy/references/direct-upload.md +0 -26
- package/bundled/skills-windows/prizmkit-deploy/references/dns-setup.md +0 -42
- package/bundled/skills-windows/prizmkit-deploy/references/docker-deploy.md +0 -31
- package/bundled/skills-windows/prizmkit-deploy/references/firewall-setup.md +0 -37
- package/bundled/skills-windows/prizmkit-deploy/references/live-validation-notes.md +0 -21
- package/bundled/skills-windows/prizmkit-deploy/references/nginx-blue-green.md +0 -59
- package/bundled/skills-windows/prizmkit-deploy/references/ssh-bootstrap-flow.md +0 -49
- package/bundled/skills-windows/prizmkit-deploy/references/ssh-execution-flow.md +0 -41
- package/bundled/skills-windows/prizmkit-deploy/references/ssh-takeover.md +0 -20
- package/bundled/skills-windows/prizmkit-deploy/references/ssl-setup.md +0 -56
- package/bundled/skills-windows/prizmkit-implement/SKILL.md +0 -71
- package/bundled/skills-windows/prizmkit-init/SKILL.md +0 -356
- package/bundled/skills-windows/prizmkit-init/assets/project-brief-template.md +0 -82
- package/bundled/skills-windows/prizmkit-init/references/config-schema.md +0 -70
- package/bundled/skills-windows/prizmkit-init/references/rules/layer-detection.md +0 -41
- package/bundled/skills-windows/prizmkit-init/references/tech-stack-catalog.md +0 -13
- package/bundled/skills-windows/prizmkit-init/references/update-supplement.md +0 -9
- package/bundled/skills-windows/prizmkit-plan/SKILL.md +0 -102
- package/bundled/skills-windows/prizmkit-plan/assets/plan-template.md +0 -115
- package/bundled/skills-windows/prizmkit-plan/assets/spec-template.md +0 -73
- package/bundled/skills-windows/prizmkit-plan/references/clarify-guide.md +0 -67
- package/bundled/skills-windows/prizmkit-plan/references/examples.md +0 -85
- package/bundled/skills-windows/prizmkit-plan/references/verification-checklist.md +0 -60
- package/bundled/skills-windows/prizmkit-prizm-docs/SKILL.md +0 -129
- package/bundled/skills-windows/prizmkit-prizm-docs/assets/prizm-docs-format.md +0 -613
- package/bundled/skills-windows/prizmkit-prizm-docs/references/op-init.md +0 -45
- package/bundled/skills-windows/prizmkit-prizm-docs/references/op-rebuild.md +0 -15
- package/bundled/skills-windows/prizmkit-prizm-docs/references/op-status.md +0 -14
- package/bundled/skills-windows/prizmkit-prizm-docs/references/op-update.md +0 -19
- package/bundled/skills-windows/prizmkit-prizm-docs/references/op-validate.md +0 -17
- package/bundled/skills-windows/prizmkit-retrospective/SKILL.md +0 -87
- package/bundled/skills-windows/prizmkit-retrospective/references/knowledge-injection-steps.md +0 -50
- package/bundled/skills-windows/prizmkit-retrospective/references/structural-sync-steps.md +0 -43
- package/bundled/skills-windows/prizmkit-test/SKILL.md +0 -227
- package/bundled/skills-windows/prizmkit-test/references/boundary-coverage-protocol.md +0 -220
- package/bundled/skills-windows/prizmkit-test/references/examples.md +0 -143
- package/bundled/skills-windows/prizmkit-test/references/service-boundary-test-catalog.md +0 -225
- package/bundled/skills-windows/prizmkit-test/references/test-generation-steps.md +0 -109
- package/bundled/skills-windows/prizmkit-test/references/test-report-template.md +0 -111
- package/bundled/skills-windows/prizmkit-test/scripts/validate_boundary_report.py +0 -347
- package/bundled/skills-windows/recovery-workflow/SKILL.md +0 -355
- package/bundled/skills-windows/recovery-workflow/evals/evals.json +0 -46
- package/bundled/skills-windows/recovery-workflow/references/detection.md +0 -58
- package/bundled/skills-windows/recovery-workflow/scripts/detect-recovery-state.py +0 -544
- package/bundled/skills-windows/refactor-pipeline-launcher/SKILL.md +0 -346
- package/bundled/skills-windows/refactor-pipeline-launcher/references/configuration.md +0 -72
- package/bundled/skills-windows/refactor-planner/SKILL.md +0 -398
- package/bundled/skills-windows/refactor-planner/assets/planning-guide.md +0 -292
- package/bundled/skills-windows/refactor-planner/references/behavior-preservation.md +0 -301
- package/bundled/skills-windows/refactor-planner/references/fast-path.md +0 -59
- package/bundled/skills-windows/refactor-planner/references/planning-phases.md +0 -135
- package/bundled/skills-windows/refactor-planner/references/refactor-scoping-guide.md +0 -221
- package/bundled/skills-windows/refactor-planner/scripts/validate-and-generate-refactor.py +0 -858
- package/bundled/skills-windows/refactor-workflow/SKILL.md +0 -343
- package/bundled/skills-windows/refactor-workflow/references/brainstorm-guide.md +0 -116
- package/bundled/templates/hooks/diff-prizm-docs.sh +0 -158
- package/bundled/templates/hooks/prizm-pre-commit.sh +0 -108
- package/bundled/templates/hooks/validate-prizm-docs.sh +0 -139
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# SSH Bootstrap Flow
|
|
2
|
-
|
|
3
|
-
Bootstraps the server before first deployment. Present a plan showing every privileged action before executing anything.
|
|
4
|
-
|
|
5
|
-
## Always-Run Preflight
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
locale-gen en_US.UTF-8 # fix locale warnings on bare Ubuntu
|
|
9
|
-
apt-get update -qq # refresh package list
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
## Check-and-Install (idempotent)
|
|
13
|
-
|
|
14
|
-
Node.js, npm, PM2, Nginx, Git. Use v22 LTS if v25 not available.
|
|
15
|
-
|
|
16
|
-
## Detect Port Conflicts
|
|
17
|
-
|
|
18
|
-
`ss -tlnp | grep :80 || true`. If port 80/443 is occupied, report and ask how to resolve.
|
|
19
|
-
|
|
20
|
-
## User and Directory Setup
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
useradd -m -s /bin/bash <runtimeUser> # if not exists
|
|
24
|
-
mkdir -p /var/www/<project>/{releases,shared,deploy-logs}
|
|
25
|
-
chown -R <runtimeUser>:<runtimeUser> /var/www/<project>
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## PM2 Startup
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
env PATH=$PATH:/usr/bin pm2 startup systemd -u <runtimeUser> --hp /home/<runtimeUser>
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Deploy Key (Pull mode only)
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
sudo -u <runtimeUser> ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N ""
|
|
38
|
-
sudo -u <runtimeUser> ssh-keyscan -H github.com >> ~/.ssh/known_hosts
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## Security Baseline (Firewall)
|
|
42
|
-
|
|
43
|
-
After core tools are installed, ask whether to configure ufw. If user agrees, read `references/firewall-setup.md` for the full interactive flow and rule templates.
|
|
44
|
-
|
|
45
|
-
## Database Setup
|
|
46
|
-
|
|
47
|
-
If Discovery detected database drivers, ask whether to install the database on the server. If user agrees, read `references/database-setup.md` for platform-specific setup commands and security notes.
|
|
48
|
-
|
|
49
|
-
After each bootstrap step, record the result. Bootstrap operations must be idempotent. Back up any existing config files before modifying them.
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# SSH: Deployment Execution Flow
|
|
2
|
-
|
|
3
|
-
Pipeline runs in strict order. Each group must complete before the next begins. If any step before traffic switch fails, STOP — do not touch the live version.
|
|
4
|
-
|
|
5
|
-
## Pre-flight — Change Summary
|
|
6
|
-
|
|
7
|
-
Show what will be deployed using `git log --oneline <last-deployed-commit>..HEAD`. If first deployment, show last 5 commits. If no new commits, warn "No new code changes. Are you sure you want to redeploy?"
|
|
8
|
-
|
|
9
|
-
## Group 1 — Pre-flight & Prepare
|
|
10
|
-
|
|
11
|
-
- Verify SSH, runtime user, tools, deploy key, port availability.
|
|
12
|
-
- Generate `releaseId`: `YYYYMMDD-<short-commit-sha>`. Create `releases/<releaseId>`.
|
|
13
|
-
- Determine target color: read `activeColor` from `shared/deploy-metadata.json` and use the opposite. If first deploy (no metadata, no `current` symlink), default to blue (port 3101).
|
|
14
|
-
|
|
15
|
-
## Group 2 — Fetch & Build
|
|
16
|
-
|
|
17
|
-
- **CI/CD Pull mode** (server-side build): git clone → install → copy `.env.production` before build (NEXT_PUBLIC_* vars are baked at build time) → build. If build fails: STOP.
|
|
18
|
-
- **CI/CD Push mode** (runner-side build): extract tarball, skip install/build.
|
|
19
|
-
- **Direct-upload mode**: build was already done locally and SCP'd. Skip this group.
|
|
20
|
-
|
|
21
|
-
## Group 3 — Stage & Health Check
|
|
22
|
-
|
|
23
|
-
- Start new version on inactive port via PM2: `pm2 start npm --name <project>-<app>-<color> -- run start -- -p <inactivePort>`.
|
|
24
|
-
- PM2 process naming: `<project>-<app>-<color>` (e.g., `prizm-ideas-web-green`).
|
|
25
|
-
- Wait 3-5 seconds, run health checks against new port. If any fails: STOP, do NOT switch traffic.
|
|
26
|
-
|
|
27
|
-
## Group 4 — Switch & Verify
|
|
28
|
-
|
|
29
|
-
- Update Nginx upstream to new port. Run `nginx -t` — abort on failure.
|
|
30
|
-
- `systemctl reload nginx`. Update `current` symlink to new release.
|
|
31
|
-
- Write `shared/deploy-metadata.json` with new `activeColor`, `activePort`, `lastReleaseId`.
|
|
32
|
-
- Run health checks against public endpoint. If any fails: rollback immediately.
|
|
33
|
-
|
|
34
|
-
## Group 5 — Cleanup & Record
|
|
35
|
-
|
|
36
|
-
- Stop old PM2 process. Remove oldest releases beyond `releaseRetention` count. `pm2 save`.
|
|
37
|
-
- Write deploy-history JSON. Update `deploy.config.json` validation status.
|
|
38
|
-
|
|
39
|
-
## Post-deploy — Completion Summary
|
|
40
|
-
|
|
41
|
-
Output a summary (project, URL, version, duration, health status) and append to deploy.md. If `deployStrategy` is `"direct-upload"`, offer CI/CD upgrade (see §SSH: Post-Deploy CI/CD Upgrade).
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# SSH: Existing Deployment Takeover
|
|
2
|
-
|
|
3
|
-
When deploying to a server that already has deployment assets.
|
|
4
|
-
|
|
5
|
-
## Detection
|
|
6
|
-
|
|
7
|
-
1. Check for existing `/var/www/<project>` directory
|
|
8
|
-
2. Check for existing PM2 processes with similar names
|
|
9
|
-
3. Check Nginx config referencing the same domain/IP
|
|
10
|
-
4. Check for port conflicts
|
|
11
|
-
|
|
12
|
-
## Decision Flow
|
|
13
|
-
|
|
14
|
-
Report findings and ask for takeover decision:
|
|
15
|
-
|
|
16
|
-
- **Take over and backup**: Back up existing config, then proceed.
|
|
17
|
-
- **Coexist**: Use different directory/ports/process names.
|
|
18
|
-
- **Manual resolve**: Stop and let the user handle it.
|
|
19
|
-
|
|
20
|
-
Record takeover decision and validation results in config and history.
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# SSL/HTTPS Configuration (Let's Encrypt + Certbot)
|
|
2
|
-
|
|
3
|
-
Read this file when DNS is confirmed pointing to the server and SSL needs to be configured.
|
|
4
|
-
|
|
5
|
-
## Step 1 — Detect cloud vendor
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
# Try metadata endpoints to detect cloud vendor
|
|
9
|
-
curl -s --connect-timeout 2 http://100.100.100.200/latest/meta-data/ && echo "ALIBABA"
|
|
10
|
-
curl -s --connect-timeout 2 http://metadata.tencentyun.com/latest/meta-data/ && echo "TENCENT"
|
|
11
|
-
curl -s --connect-timeout 2 http://169.254.169.254/latest/meta-data/ && echo "AWS/GCP/AZURE"
|
|
12
|
-
```
|
|
13
|
-
Also check `/etc/hostname` for vendor patterns.
|
|
14
|
-
|
|
15
|
-
## Step 2 — Choose SSL strategy
|
|
16
|
-
|
|
17
|
-
- **Cloud vendor detected** → ask user:
|
|
18
|
-
> "Detected the server is running on <cloud-vendor>. Which SSL approach?"
|
|
19
|
-
> - **A. Let's Encrypt free certificate (recommended)** — one command for permanent auto-renewal, hassle-free
|
|
20
|
-
> - **B. <cloud-vendor> native certificate** — manual download/config, 1-year validity requires manual renewal
|
|
21
|
-
>
|
|
22
|
-
> Choose A and I'll set it up for you; choose B and you'll need to download the certificate from the cloud console and tell me the path.
|
|
23
|
-
- **No cloud vendor / unknown** → use certbot directly, no choice needed.
|
|
24
|
-
|
|
25
|
-
## Step 3 — Certbot install & certificate request
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
# Install certbot (idempotent)
|
|
29
|
-
which certbot || apt-get install -y certbot python3-certbot-nginx
|
|
30
|
-
|
|
31
|
-
# Request certificate
|
|
32
|
-
certbot --nginx -d <domain> -d www.<domain> --non-interactive --agree-tos --email <user-email>
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
**Collect from user before running:**
|
|
36
|
-
- Email address (Let's Encrypt expiry notifications)
|
|
37
|
-
- Confirm domain list (e.g., `example.com, www.example.com`)
|
|
38
|
-
|
|
39
|
-
## Step 4 — Verify auto-renewal
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
systemctl status certbot.timer
|
|
43
|
-
certbot renew --dry-run
|
|
44
|
-
```
|
|
45
|
-
If timer is inactive, enable it: `systemctl enable --now certbot.timer`.
|
|
46
|
-
|
|
47
|
-
## Step 5 — Record
|
|
48
|
-
|
|
49
|
-
- Write SSL configuration summary to deploy.md: certificate paths, auto-renewal status, expiry date.
|
|
50
|
-
- Record a `"ssl-setup"` event in deploy history.
|
|
51
|
-
|
|
52
|
-
## Edge cases
|
|
53
|
-
|
|
54
|
-
- **DNS not yet propagated** → certbot challenge fails. Tell user to wait and retry: `/prizmkit-deploy setup-ssl`.
|
|
55
|
-
- **Existing certificate found** → check expiry date (`certbot certificates`). If expiring within 30 days, warn. Otherwise skip.
|
|
56
|
-
- **Port 80/443 occupied by non-Nginx process** → report and ask how to resolve before proceeding.
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "prizmkit-implement"
|
|
3
|
-
description: "Execute plan.md tasks with TDD approach. Respects task ordering and dependencies. Use after /prizmkit-plan. Trigger on: 'implement', 'build', 'code it', 'start coding', 'execute', 'write the code'. (project)"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# PrizmKit Implement
|
|
7
|
-
|
|
8
|
-
### When to Use
|
|
9
|
-
- After `/prizmkit-plan` when ready to write code
|
|
10
|
-
- User says "implement", "build", "code it", "start coding", "develop"
|
|
11
|
-
- For fast-path: user describes a simple change directly (fast-path skips specify, but still requires a simplified plan.md with Tasks section)
|
|
12
|
-
|
|
13
|
-
### When NOT to Use
|
|
14
|
-
- No plan.md exists — run /prizmkit-plan first
|
|
15
|
-
- All tasks in plan.md are already checked off — nothing to implement
|
|
16
|
-
- Trivial one-line changes (typo, config tweak) — edit directly without the full workflow
|
|
17
|
-
- Design/planning phase — use /prizmkit-plan to produce spec and plan first
|
|
18
|
-
|
|
19
|
-
**PRECONDITION:**
|
|
20
|
-
|
|
21
|
-
| Required Artifact | Check | If Missing |
|
|
22
|
-
|---|---|---|
|
|
23
|
-
| `plan.md` with Tasks section | File exists + unchecked tasks | Run `/prizmkit-plan` |
|
|
24
|
-
| `spec.md` | File exists in same directory as plan.md | Run `/prizmkit-plan` |
|
|
25
|
-
|
|
26
|
-
**Artifact directory**: Accept `artifact_dir` from caller. If not provided, scan `.prizmkit/` subdirectories for the most recently modified `plan.md` with unchecked tasks. When invoked as a handoff step in a skill chain, reuse the `artifact_dir` from the previous skill rather than re-detecting — re-detection can resolve to a different feature's directory in a multi-task workspace.
|
|
27
|
-
|
|
28
|
-
## Input
|
|
29
|
-
|
|
30
|
-
| Parameter | Required | Description |
|
|
31
|
-
|-----------|----------|-------------|
|
|
32
|
-
| `artifact_dir` | No | Directory containing spec.md + plan.md. If omitted, auto-detect per precondition above. |
|
|
33
|
-
|
|
34
|
-
## Context Loading
|
|
35
|
-
|
|
36
|
-
Before implementation, load context once:
|
|
37
|
-
|
|
38
|
-
1. **Task context**: Read `plan.md` (including Tasks section) and `spec.md` from the artifact directory. If other companion documents exist in the directory (e.g., `refactor-analysis.md`), read them for additional context.
|
|
39
|
-
2. **Architecture context**: Read `.prizmkit/prizm-docs/root.prizm` (L0 — project overview, module index, tech stack, conventions) and relevant L1/L2 docs for affected modules. Pay special attention to TRAPS (known pitfalls) and DECISIONS (architectural choices).
|
|
40
|
-
3. **Dev rules** (if configured): Check `.prizmkit/prizm-docs/root.prizm` for a `RULES:` line — if present, read all referenced `.prizmkit/rules/<layer>-rules.md` files. If a referenced file does not exist, skip it silently and continue. These define per-layer conventions (frameworks, naming, patterns, state management, etc.) that AI must follow when generating code for that layer. Apply these rules during implementation — if a rule conflicts with what plan.md describes, call it out and ask the user.
|
|
41
|
-
|
|
42
|
-
> `.prizmkit/prizm-docs/` uses a 3-level hierarchy: L0 (`root.prizm`) is the project-wide index. L1 (e.g., `auth.prizm`) covers a module — its key files, interfaces, dependencies, traps, and decisions. L2 is for sub-modules with their own complexity. Implement reads these docs to avoid repeating known mistakes; `/prizmkit-retrospective` is responsible for updating them after implementation.
|
|
43
|
-
|
|
44
|
-
## Execution
|
|
45
|
-
|
|
46
|
-
For each unchecked task in plan.md, in order:
|
|
47
|
-
|
|
48
|
-
1. Read L1/L2 doc for the target file's module — check TRAPS and DECISIONS before modifying files
|
|
49
|
-
2. Apply TDD where applicable: write a failing test first, then implement until it passes. For UI components or configuration changes where unit tests don't apply, skip the test-first step.
|
|
50
|
-
- **Internal ID hygiene**: Do not place PrizmKit feature/bug/refactor IDs (`F-001`, `B-001`, `R-001`), task IDs, session IDs, run IDs, branch names, absolute worktree paths, or `.prizmkit/specs` / `.prizmkit/dev-pipeline` artifact paths in `.prizmkit/prizm-docs/`, user-visible UI text, API responses, emails, notifications, or tests that assert visible product copy. Translate internal references into durable product/domain language before writing memory docs, tests, or UI copy.
|
|
51
|
-
- **Cover three paths for each function**: happy path (valid inputs producing expected behavior), edge cases (boundary values specific to the parameter type and domain — e.g., zero/min/max for numeric, empty collection, boundary index), and error conditions (inputs that should trigger error handling). Determine edge cases from the function's parameter types and domain logic, not from a fixed checklist. If a function has no edge or error paths, don't force them.
|
|
52
|
-
- **No redundant tests**: Check if a test for this behavior already exists before writing. Each test must verify a uniquely different code path — don't write multiple tests that exercise the same logic.
|
|
53
|
-
- **Test your own code only**: Don't test framework behavior, third-party library internals, or language built-ins. For library calls, test the integration point (correct parameters passed, return value correctly handled), not the library itself.
|
|
54
|
-
3. Mark task as `[x]` in `plan.md` immediately after completion — not batched at the end. Immediate marking means plan.md always reflects true progress, even if the session is interrupted.
|
|
55
|
-
4. **Parallel tasks**: If task has `[P]` marker, it can run in parallel with other `[P]` tasks in the same group. Sequential tasks stop on failure (later tasks may depend on this one). Parallel `[P]` tasks continue — report all failures at the end.
|
|
56
|
-
5. **Checkpoint tasks** (`CP:` prefix in plan.md): When a checkpoint task is reached, verify build passes and tests pass before continuing. Checkpoints catch integration errors early — skipping them means cascading failures in later phases.
|
|
57
|
-
6. After all tasks complete: run full test suite.
|
|
58
|
-
|
|
59
|
-
## Recovery
|
|
60
|
-
|
|
61
|
-
If a session is interrupted mid-implementation:
|
|
62
|
-
- Completed tasks are already marked `[x]` in plan.md (because we mark immediately)
|
|
63
|
-
- Resume by re-running `/prizmkit-implement` — it picks up from the first unchecked `[ ]` task
|
|
64
|
-
|
|
65
|
-
**HANDOFF:** `/prizmkit-code-review`
|
|
66
|
-
|
|
67
|
-
## Output
|
|
68
|
-
|
|
69
|
-
- Code files created/modified as specified in plan.md Tasks section
|
|
70
|
-
- `plan.md` Tasks section updated with completion markers `[x]`
|
|
71
|
-
- Implementation summary output to conversation
|
|
@@ -1,356 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "prizmkit-init"
|
|
3
|
-
description: "Project takeover and bootstrap. Scans any project, generates Prizm docs and project brief. Use this skill whenever a user opens a new project for the first time, says 'initialize', 'set up PrizmKit', 'take over this project', 'bootstrap', 'scan this codebase', 'init', or when .prizmkit/prizm-docs/ doesn't exist yet. Also use when PrizmKit was just installed via npx but not yet initialized. (project)"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# PrizmKit Init
|
|
7
|
-
|
|
8
|
-
Project takeover and bootstrap skill. Scans any project (brownfield or greenfield), generates Prizm documentation and project brief. Supports Codex, Claude Code, CodeBuddy, and multi-platform installations.
|
|
9
|
-
|
|
10
|
-
### When to Use
|
|
11
|
-
- Taking over a new project (brownfield or greenfield)
|
|
12
|
-
- User says "initialize PrizmKit", "set up PrizmKit", "take over this project"
|
|
13
|
-
- First time using PrizmKit on a project
|
|
14
|
-
- After `npx prizmkit install` when project has no `.prizmkit/prizm-docs/`
|
|
15
|
-
|
|
16
|
-
### When NOT to Use
|
|
17
|
-
- All artifacts exist and are up to date → use `/prizmkit-prizm-docs` (Update) instead if you only want to resync docs
|
|
18
|
-
- User just wants to update stale docs → use `/prizmkit-prizm-docs` (Update or Rebuild) instead (faster, targeted)
|
|
19
|
-
- User wants to start a feature on an already-initialized project → skip init, go to `/prizmkit-plan`
|
|
20
|
-
|
|
21
|
-
### Error Handling
|
|
22
|
-
- If artifacts already exist: idempotent status check offers regenerate/skip choices (see Phase 3: Idempotent Status Check)
|
|
23
|
-
- If no source files found in any directory: fall back to greenfield mode
|
|
24
|
-
|
|
25
|
-
## Execution Steps
|
|
26
|
-
|
|
27
|
-
**Phase 1: Platform Detection**
|
|
28
|
-
1. Detect which platform is running (Codex, Claude Code, or CodeBuddy) via AI CLI environment.
|
|
29
|
-
2. Hold detected platform value in memory — written to disk in Phase 6 along with other config fields.
|
|
30
|
-
|
|
31
|
-
**Phase 2: Mode Detection**
|
|
32
|
-
- If project has source code: brownfield mode
|
|
33
|
-
- If project is nearly empty: greenfield mode
|
|
34
|
-
|
|
35
|
-
**Phase 3: Idempotent Status Check**
|
|
36
|
-
|
|
37
|
-
Scan all init artifacts and display their status:
|
|
38
|
-
|
|
39
|
-
| Artifact | Path | Check |
|
|
40
|
-
|----------|------|-------|
|
|
41
|
-
| Prizm docs | `.prizmkit/prizm-docs/` | Directory exists + `root.prizm` present |
|
|
42
|
-
| Runtime config | `.prizmkit/config.json` | File exists |
|
|
43
|
-
| Project brief | `.prizmkit/plans/project-brief.md` | File exists |
|
|
44
|
-
|
|
45
|
-
Display status table to user:
|
|
46
|
-
```
|
|
47
|
-
Init Status Check:
|
|
48
|
-
[exists] .prizmkit/prizm-docs/ (N files)
|
|
49
|
-
[exists] .prizmkit/config.json
|
|
50
|
-
[missing] .prizmkit/plans/project-brief.md
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
- **If all missing**: skip interaction, proceed to generate everything.
|
|
54
|
-
- **If some exist**: ask user once:
|
|
55
|
-
- **[A] Regenerate all** — overwrite all existing artifacts (fresh start)
|
|
56
|
-
- **[B] Only generate missing** — skip existing, fill gaps (default)
|
|
57
|
-
- **[C] Pick per item** — ask for each existing artifact: regenerate or skip
|
|
58
|
-
|
|
59
|
-
Each subsequent phase checks its artifact's action before executing:
|
|
60
|
-
- `action == skip` → output "Skipped (exists)" and move on
|
|
61
|
-
- `action == generate | regenerate` → run normally
|
|
62
|
-
- **Special case for `.prizmkit/prizm-docs/`**:
|
|
63
|
-
- `skip` = **Update** mode: preserve existing L1/L2 docs, re-scan tech stack, merge changes, check for missing docs (see `${SKILL_DIR}/references/update-supplement.md`)
|
|
64
|
-
- `regenerate` = **Reinitialize**: overwrite everything
|
|
65
|
-
|
|
66
|
-
BROWNFIELD WORKFLOW (existing project):
|
|
67
|
-
|
|
68
|
-
**Phase 4: Project Scanning**
|
|
69
|
-
1. Detect tech stack from build files (`package.json`, `requirements.txt`, `go.mod`, `pom.xml`, `Cargo.toml`, etc.)
|
|
70
|
-
2. Map directory structure using a TWO-TIER model — flat structures lose the nesting relationships that AI needs to navigate the codebase:
|
|
71
|
-
- TOP-LEVEL modules: directories directly under project root that contain source files or sub-directories with source files (e.g. `src/`, `internal/`, `lib/`)
|
|
72
|
-
- SUB-MODULES: directories INSIDE a top-level module (e.g. `src/routes/`, `src/models/`)
|
|
73
|
-
- A sub-module maps to `.prizmkit/prizm-docs/<M>/<S>.prizm`, never to `.prizmkit/prizm-docs/<S>.prizm` — flattening would create ambiguous paths when two modules have identically-named sub-modules
|
|
74
|
-
- Exclude: `.git/`, `node_modules/`, `vendor/`, `build/`, `dist/`, `__pycache__/`, `target/`, `bin/`, `.agents/`, `.codex/`, `.claude/`, `.codebuddy/`, `.prizmkit/`
|
|
75
|
-
- **Scan command** — run this to get a 2-level directory tree (excludes noise directories):
|
|
76
|
-
```powershell
|
|
77
|
-
Get-ChildItem -Path . -Directory -Recurse -Depth 2 -Force -ErrorAction SilentlyContinue |
|
|
78
|
-
Where-Object {
|
|
79
|
-
$_.FullName -notmatch '\\(node_modules|\.git|dist|build|__pycache__|vendor|\.agents|\.codex|\.claude|\.codebuddy|\.prizmkit|target)(\\|$)'
|
|
80
|
-
} |
|
|
81
|
-
ForEach-Object {
|
|
82
|
-
$relative = Resolve-Path -Relative $_.FullName
|
|
83
|
-
$depth = (($relative -replace '^[.][\\/]', '') -split '[\\/]').Count - 1
|
|
84
|
-
(' ' * [Math]::Max(0, $depth)) + ($relative -replace '^[.][\\/]', '')
|
|
85
|
-
}
|
|
86
|
-
```
|
|
87
|
-
3. Identify entry points by language convention
|
|
88
|
-
4. Catalog dependencies (external packages)
|
|
89
|
-
5. Count source files per directory
|
|
90
|
-
6. Detect detailed tech stack (adaptive — only include fields that apply):
|
|
91
|
-
→ Read `${SKILL_DIR}/references/tech-stack-catalog.md` for the full field catalog.
|
|
92
|
-
|
|
93
|
-
**IMPORTANT**: Not all projects have all fields. A pure backend API will have no `frontend_framework` or `frontend_styling`. A library may have no database. Only record what is actually detected — never generate empty or placeholder values.
|
|
94
|
-
|
|
95
|
-
**Phase 4.5: Layer Detection**
|
|
96
|
-
|
|
97
|
-
After tech stack detection, determine which development layers exist in the project — these are code domains that may benefit from custom dev rules (frontend, backend, database, mobile). This is a quick detection step, not an interactive Q&A — rules can be configured later based on detected layers.
|
|
98
|
-
|
|
99
|
-
1. Read `${SKILL_DIR}/references/rules/layer-detection.md` for the detection signal table and AI judgment guidelines.
|
|
100
|
-
2. Scan the project against each signal, and supplement with your own judgment — the signal table is a guide, not exhaustive. If you see clear evidence of a layer not covered by the table, include it. If a signal matches but context is misleading, downgrade or ignore it:
|
|
101
|
-
- **frontend**: React/Vue/Angular/etc. in dependencies, or `src/components/` with UI files
|
|
102
|
-
- **backend**: Express/FastAPI/Gin/etc. in dependencies, or `routes/`/`controllers/` with server code
|
|
103
|
-
- **database**: Prisma/TypeORM/SQLAlchemy/etc. in dependencies, or `migrations/`/`prisma/` directory
|
|
104
|
-
- **mobile**: `pubspec.yaml` (Flutter), `react-native` in package.json, or simultaneous `ios/`+`android/` directories
|
|
105
|
-
3. For mobile signals — if ambiguous (e.g., monorepo with web + ios/android dirs), use `AskUserQuestion` to confirm: "Mobile platform signals detected. Is this project a mobile app?" Options: "Yes, this is a mobile app" / "No, these are for another purpose".
|
|
106
|
-
4. Assemble `detected_layers` array (e.g., `["frontend", "backend", "database"]`). If no layers detected (library/CLI project), array is empty.
|
|
107
|
-
|
|
108
|
-
**Phase 4.6: Infrastructure Quick Scan**
|
|
109
|
-
|
|
110
|
-
Detect database and deployment signals, then ask 1-2 brief questions. This phase is **optional** — users can skip and configure later.
|
|
111
|
-
|
|
112
|
-
- **BROWNFIELD**: Auto-detect infrastructure signals from existing files, then ask 1-2 brief questions (pre-filled with detection results)
|
|
113
|
-
- **GREENFIELD**: No auto-detection possible — ask the 2 brief questions directly (database need and deployment target)
|
|
114
|
-
|
|
115
|
-
1. **Auto-detect infrastructure signals** (no user interaction):
|
|
116
|
-
- **Database signals**: ORM/database client dependencies in `package.json`, `requirements.txt`, `go.mod`, `Cargo.toml`, `pyproject.toml` (look for: prisma, typeorm, sequelize, mongoose, sqlalchemy, django, gorm, diesel, sqlx, pg, mysql2, etc.); directories named `migrations/`, `db/`, `schema/`, `prisma/`; environment variables `DATABASE_URL`, `DB_HOST`, `DB_NAME`, `MONGO_URI` in `.env*` files
|
|
117
|
-
- **Deployment signals**: `Dockerfile`, `docker-compose.yml`, `vercel.json`, `fly.toml`, `railway.json`, `netlify.toml`, `cloudflare.json`, `.github/workflows/`, `Procfile`, `app.yaml`, `serverless.yml`, `terraform/`, `pulumi/`
|
|
118
|
-
|
|
119
|
-
2. **Brief inquiry** (using `AskUserQuestion`, max 2 questions):
|
|
120
|
-
|
|
121
|
-
**Question 1 — Database**:
|
|
122
|
-
- If database signals detected: pre-fill with detected info
|
|
123
|
-
- Question: "Does your project use a database?"
|
|
124
|
-
- Options:
|
|
125
|
-
- "Yes — {detected ORM/DB}" (if detected, mark as Recommended)
|
|
126
|
-
- "Yes — different database" (let user specify)
|
|
127
|
-
- "No database needed"
|
|
128
|
-
- "Skip — decide later"
|
|
129
|
-
- If "Yes": follow up to confirm database type (MySQL / PostgreSQL / MongoDB / SQLite / Other) — skip this follow-up if already clear from detection
|
|
130
|
-
|
|
131
|
-
**Question 2 — Deployment target**:
|
|
132
|
-
- If deployment signals detected: pre-fill with detected info
|
|
133
|
-
- Question: "Where will this project be deployed?"
|
|
134
|
-
- Options:
|
|
135
|
-
- "{Detected platform}" (if detected, e.g., "Vercel" from vercel.json, mark as Recommended)
|
|
136
|
-
- "Own server / VPS"
|
|
137
|
-
- "SaaS platform" (if no specific platform detected)
|
|
138
|
-
- "Container (Docker / K8s)"
|
|
139
|
-
- "Skip — decide later"
|
|
140
|
-
- If "SaaS platform": follow up with platform selection (Vercel / Railway / Fly.io / Cloudflare / AWS / Other)
|
|
141
|
-
|
|
142
|
-
3. **Write results**:
|
|
143
|
-
- Append `### Infrastructure` section to the detected platform instruction file (`AGENTS.md` for Codex, `CLAUDE.md` for Claude Code, `CODEBUDDY.md` for CodeBuddy) with detection results and user answers. Format:
|
|
144
|
-
```markdown
|
|
145
|
-
### Infrastructure
|
|
146
|
-
|
|
147
|
-
#### Database
|
|
148
|
-
- **Type**: [PostgreSQL / MySQL / MongoDB / SQLite / none]
|
|
149
|
-
- **ORM**: [detected ORM or "none detected"]
|
|
150
|
-
|
|
151
|
-
#### Deployment
|
|
152
|
-
- **Target**: [platform name or "undecided"]
|
|
153
|
-
```
|
|
154
|
-
→ This is intentionally minimal (Quick Scan). Full conventions and deployment details can be added later.
|
|
155
|
-
- If user selects "Skip — decide later" for BOTH topics: write deferred marker instead:
|
|
156
|
-
```markdown
|
|
157
|
-
### Infrastructure
|
|
158
|
-
<!-- infrastructure: deferred -->
|
|
159
|
-
```
|
|
160
|
-
- If user skips only one topic, write the answered one normally and mark the skipped one:
|
|
161
|
-
```markdown
|
|
162
|
-
#### Database
|
|
163
|
-
<!-- database: deferred -->
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
**Phase 4.7: Rules Quick Entry**
|
|
167
|
-
|
|
168
|
-
After Infrastructure Quick Scan completes, check if `detected_layers` is non-empty (from Phase 4.5). If layers were detected, offer a lightweight entry point for rules configuration.
|
|
169
|
-
|
|
170
|
-
1. If `detected_layers` is empty (library/CLI project) → skip this phase entirely, proceed to Phase 5.
|
|
171
|
-
2. If layers detected, use `AskUserQuestion`:
|
|
172
|
-
|
|
173
|
-
**Question**: "Detected **{list detected layers}** code. Would you like to set up custom development rules for AI to follow? This helps AI generate code that matches your conventions."
|
|
174
|
-
- **Configure later (Recommended)** — Record layers and configure rules later
|
|
175
|
-
- **Skip entirely** — no custom rules, AI uses general best practices
|
|
176
|
-
|
|
177
|
-
3. If user picked "Skip entirely" → clear `detected_layers` to empty array, proceed to Phase 5.
|
|
178
|
-
4. If user picked "Configure later" → keep `detected_layers`, proceed to Phase 5. The layers will be written to config.json in Phase 6.
|
|
179
|
-
|
|
180
|
-
**Phase 5: Prizm Documentation Generation**
|
|
181
|
-
Invoke prizmkit-prizm-docs (Init operation), passing the two-tier module structure from Phase 4:
|
|
182
|
-
- Create `.prizmkit/prizm-docs/` directory structure mirroring the source tree (sub-module dirs become subdirectories under `.prizmkit/prizm-docs/<top-level>/`)
|
|
183
|
-
- Generate `root.prizm` (L0) with project meta and MODULE_INDEX listing only top-level modules. If module count > 15, use MODULE_GROUPS format instead (group by functional domain).
|
|
184
|
-
- For each module entry in MODULE_INDEX/MODULE_GROUPS, include keyword tags extracted from the module's source files — scan for: exported symbols, imported packages, domain terms in file/directory names. Format: `- module-name [tag1, tag2, tag3]: ...`. Tags help AI match user intent to relevant modules.
|
|
185
|
-
- Generate L1 docs for top-level modules at `.prizmkit/prizm-docs/<M>.prizm` and for sub-modules at `.prizmkit/prizm-docs/<M>/<S>.prizm`
|
|
186
|
-
- Skip L2 (lazy generation) — L2 is generated on first file modification, saving tokens upfront
|
|
187
|
-
- Do not create auxiliary `changelog.prizm`, CHANGELOG sections/files, UPDATED/date metadata, feature/bug/refactor/task/session/run/pipeline/workflow IDs, branch names, absolute worktree paths, or `.prizmkit/specs` / `.prizmkit/dev-pipeline` artifact paths; git history is the source of change history
|
|
188
|
-
|
|
189
|
-
**Phase 6: Workspace Initialization**
|
|
190
|
-
6a. Create `.prizmkit/` directory structure (if missing):
|
|
191
|
-
- `.prizmkit/config.json` (adoption_mode, speckit_hooks_enabled, platform)
|
|
192
|
-
- `.prizmkit/specs/` (empty)
|
|
193
|
-
- `.prizmkit/plans/` (empty — needed by Phase 7 and future pipeline tasks)
|
|
194
|
-
|
|
195
|
-
6b. Write detected tech stack to `.prizmkit/config.json`:
|
|
196
|
-
→ Read `${SKILL_DIR}/references/config-schema.md` for merge strategy, field definitions, and examples.
|
|
197
|
-
|
|
198
|
-
6c. Write `detected_layers` to `.prizmkit/config.json` (alongside `tech_stack`):
|
|
199
|
-
- Field: `"detected_layers": ["frontend", "backend"]` — the layers from Phase 4.5
|
|
200
|
-
- If user chose "Skip entirely" in Phase 4.7, write empty array `[]`
|
|
201
|
-
- For greenfield projects (Phase 4.5 skipped): write `[]` — no code layers to configure rules for yet; user can configure rules later when code exists
|
|
202
|
-
- This field indicates which development layers exist in the project and can be used to determine available rule configuration options.
|
|
203
|
-
|
|
204
|
-
**Phase 7: Project Brief Generation**
|
|
205
|
-
|
|
206
|
-
If action for project brief == skip, output "Project brief: skipped (exists)" and proceed to Phase 8 (Report).
|
|
207
|
-
|
|
208
|
-
Otherwise, generate a project brief to capture the user's overall product vision. This file is referenced by `root.prizm` so every new AI session understands the project goals.
|
|
209
|
-
|
|
210
|
-
→ Read `${SKILL_DIR}/assets/project-brief-template.md` for the brief format rules and checklist template.
|
|
211
|
-
|
|
212
|
-
**Brownfield** (existing codebase):
|
|
213
|
-
1. Infer project goals from:
|
|
214
|
-
- Generated `root.prizm` (tech stack, module structure, module groups)
|
|
215
|
-
- `README.md` (if exists)
|
|
216
|
-
- Package metadata (`package.json` description, `pyproject.toml`, etc.)
|
|
217
|
-
- Quick scan of key entry points identified in L1 docs
|
|
218
|
-
2. Generate a draft in the checklist format defined in the template
|
|
219
|
-
3. Present the draft to the user and ask:
|
|
220
|
-
- Is this inference correct?
|
|
221
|
-
- Anything to add, remove, or modify?
|
|
222
|
-
4. Apply user edits and write to `.prizmkit/plans/project-brief.md`
|
|
223
|
-
|
|
224
|
-
**Greenfield** (new/empty project):
|
|
225
|
-
1. Use **progressive questioning** (defined in template) to fully understand the user's intent:
|
|
226
|
-
- Round 1: Problem & Vision → Round 2: Scope & Features → Round 3: Technical Constraints → Round 4: Clarification (adaptive)
|
|
227
|
-
- Stop when completion criteria are met: problem, users, core features, boundaries, and technical direction are all clear
|
|
228
|
-
- If answers are vague, probe deeper — don't accept shallow responses
|
|
229
|
-
2. Generate brief from answers in checklist format
|
|
230
|
-
3. Present to user for confirmation/editing
|
|
231
|
-
4. Write to `.prizmkit/plans/project-brief.md`
|
|
232
|
-
|
|
233
|
-
**After writing the brief**:
|
|
234
|
-
- Check if `root.prizm` already contains a `PROJECT_BRIEF:` line
|
|
235
|
-
- If exact match `PROJECT_BRIEF: .prizmkit/plans/project-brief.md` exists: skip (already correct)
|
|
236
|
-
- If `PROJECT_BRIEF:` exists with a different path: warn user and ask to confirm update or keep old path
|
|
237
|
-
- If not present: add `PROJECT_BRIEF: .prizmkit/plans/project-brief.md` at the end of `root.prizm`, after all standard sections
|
|
238
|
-
- This ensures every AI session that loads L0 knows to read the project brief
|
|
239
|
-
|
|
240
|
-
**Phase 8: Report**
|
|
241
|
-
Output summary: platform detected, tech stack detected (with detail), modules discovered, L1 docs generated, project brief status, next recommended steps.
|
|
242
|
-
|
|
243
|
-
Tech stack report format (only show detected fields, adapt to project type):
|
|
244
|
-
```
|
|
245
|
-
Tech stack detected:
|
|
246
|
-
Language: TypeScript
|
|
247
|
-
Runtime: Node.js 20
|
|
248
|
-
Frontend: React + Tailwind CSS
|
|
249
|
-
Backend: Express.js
|
|
250
|
-
Database: PostgreSQL (Prisma)
|
|
251
|
-
Testing: Vitest
|
|
252
|
-
Bundler: Vite
|
|
253
|
-
Project type: fullstack
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
Adapt fields to match project type — only show detected fields.
|
|
257
|
-
|
|
258
|
-
Saved to: `.prizmkit/config.json` → `tech_stack` field
|
|
259
|
-
|
|
260
|
-
Next step: "Use `/prizmkit-plan` to start your first feature"
|
|
261
|
-
|
|
262
|
-
GREENFIELD WORKFLOW (new project):
|
|
263
|
-
- Skip Phase 4 code scanning (no code to scan — Phase 4.5 Layer Detection and Phase 4.7 Rules Quick Entry are skipped; no layers to detect yet):
|
|
264
|
-
- Ask the user about their intended tech stack:
|
|
265
|
-
- "What language/framework will you use?" (e.g. React + Node.js, Python + FastAPI, etc.)
|
|
266
|
-
- Record answers in `config.json` `tech_stack` with `"_auto_detected": false` (user-provided, not auto-detected)
|
|
267
|
-
- If user is unsure, skip tech_stack — it can be populated later on re-init after code exists
|
|
268
|
-
- Phase 4.6: Run Infrastructure Quick Scan — in greenfield mode, no auto-detection is possible, so only ask the 2 brief questions (database need and deployment target). If user is unsure, skip — these can be configured later.
|
|
269
|
-
- Phase 5: Create minimal `.prizmkit/prizm-docs/` with just `root.prizm` skeleton (populate TECH_STACK from user answers if provided)
|
|
270
|
-
- Phase 7: Generate project brief (greenfield flow — ask user about project goals, see Phase 7 above)
|
|
271
|
-
- Phases 6, 8: Same as brownfield (Phase 8 Report recommends `/prizmkit-plan` for first feature)
|
|
272
|
-
|
|
273
|
-
## Example
|
|
274
|
-
|
|
275
|
-
**Brownfield init on a fullstack Node.js project:**
|
|
276
|
-
```
|
|
277
|
-
$ /prizmkit-init
|
|
278
|
-
|
|
279
|
-
Platform detected: Claude Code
|
|
280
|
-
Init Status Check:
|
|
281
|
-
[missing] .prizmkit/prizm-docs/
|
|
282
|
-
[missing] .prizmkit/config.json
|
|
283
|
-
[missing] .prizmkit/plans/project-brief.md
|
|
284
|
-
→ All missing, generating everything.
|
|
285
|
-
|
|
286
|
-
Mode: Brownfield (154 source files found)
|
|
287
|
-
|
|
288
|
-
Tech stack detected:
|
|
289
|
-
Language: TypeScript
|
|
290
|
-
Runtime: Node.js 20
|
|
291
|
-
Frontend: React + Tailwind CSS
|
|
292
|
-
Backend: Express.js
|
|
293
|
-
Database: PostgreSQL (Prisma)
|
|
294
|
-
Testing: Vitest
|
|
295
|
-
Bundler: Vite
|
|
296
|
-
Project type: fullstack
|
|
297
|
-
|
|
298
|
-
Layer Detection:
|
|
299
|
-
Detected layers: frontend, backend, database (from dependency + directory signals)
|
|
300
|
-
→ Stored for config.json
|
|
301
|
-
|
|
302
|
-
Infrastructure Quick Scan:
|
|
303
|
-
Database: PostgreSQL (Prisma) — detected from dependencies
|
|
304
|
-
Deployment: Vercel — detected from vercel.json
|
|
305
|
-
→ Written to the detected platform instruction file `### Infrastructure`
|
|
306
|
-
|
|
307
|
-
Rules Quick Entry:
|
|
308
|
-
Matched layers: frontend (React), backend (Express.js), database (Prisma) → keeping default rules
|
|
309
|
-
|
|
310
|
-
Modules discovered:
|
|
311
|
-
src/routes/ → .prizmkit/prizm-docs/routes.prizm (12 files)
|
|
312
|
-
src/models/ → .prizmkit/prizm-docs/models.prizm (8 files)
|
|
313
|
-
src/services/ → .prizmkit/prizm-docs/services.prizm (15 files)
|
|
314
|
-
src/middleware/ → .prizmkit/prizm-docs/middleware.prizm (5 files)
|
|
315
|
-
|
|
316
|
-
Project brief: inferred from codebase → confirmed by user
|
|
317
|
-
→ .prizmkit/plans/project-brief.md
|
|
318
|
-
|
|
319
|
-
Generated: root.prizm + 4 L1 docs
|
|
320
|
-
Saved: .prizmkit/config.json (tech_stack + detected_layers recorded)
|
|
321
|
-
|
|
322
|
-
Next: Use /prizmkit-plan to start your first feature
|
|
323
|
-
```
|
|
324
|
-
|
|
325
|
-
UPDATE SUPPLEMENT (runs after tech stack merge in Update mode):
|
|
326
|
-
→ Read `${SKILL_DIR}/references/update-supplement.md` for the 5-step gap-fill procedure.
|
|
327
|
-
|
|
328
|
-
**Re-init after PrizmKit upgrade (existing config preserved):**
|
|
329
|
-
```
|
|
330
|
-
$ /prizmkit-init
|
|
331
|
-
|
|
332
|
-
Init Status Check:
|
|
333
|
-
[exists] .prizmkit/prizm-docs/ (12 files)
|
|
334
|
-
[exists] .prizmkit/config.json
|
|
335
|
-
[missing] .prizmkit/plans/project-brief.md
|
|
336
|
-
|
|
337
|
-
Missing items will be generated.
|
|
338
|
-
For existing items: [A] Regenerate all [B] Only generate missing (default) [C] Pick per item
|
|
339
|
-
> B (Only generate missing)
|
|
340
|
-
|
|
341
|
-
Tech stack changes detected:
|
|
342
|
-
+ bundler: Vite (newly detected)
|
|
343
|
-
~ testing: Jest → Vitest (updated)
|
|
344
|
-
= language: TypeScript (unchanged)
|
|
345
|
-
= frontend: React (unchanged)
|
|
346
|
-
|
|
347
|
-
Documentation gap-fill:
|
|
348
|
-
+ app/share/[token].prizm (L2) — created (3 source files, meaningful logic)
|
|
349
|
-
= routes.prizm (L1) — up to date
|
|
350
|
-
~ models.prizm (L1) — FILES count updated (8 → 10)
|
|
351
|
-
|
|
352
|
-
Project brief: inferred from codebase → confirmed by user
|
|
353
|
-
→ .prizmkit/plans/project-brief.md (generated)
|
|
354
|
-
|
|
355
|
-
Merged into .prizmkit/config.json (2 fields updated, user overrides preserved)
|
|
356
|
-
```
|