its-magic 0.1.2-9 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1602 -755
- package/bin/its-magic.js +121 -11
- package/bin/postinstall.js +21 -0
- package/installer.ps1 +759 -0
- package/installer.py +981 -0
- package/installer.sh +649 -0
- package/package.json +18 -14
- package/scripts/check_intake_template_parity.py +284 -0
- package/scripts/doc_profile_lib.py +415 -0
- package/scripts/guard_installer_publish.py +88 -0
- package/scripts/intake_bug_routing_guard.py +67 -0
- package/scripts/intake_evidence_lib.py +802 -0
- package/scripts/intake_evidence_validate.py +73 -0
- package/scripts/materialize_codebase_map.py +184 -0
- package/scripts/remote_config_summary.py +243 -0
- package/template/.cursor/agents/curator.mdc +35 -0
- package/template/.cursor/agents/dev.mdc +29 -0
- package/template/.cursor/agents/po.mdc +141 -0
- package/template/.cursor/agents/qa.mdc +28 -0
- package/template/.cursor/agents/release.mdc +28 -0
- package/template/.cursor/agents/security.mdc +98 -0
- package/template/.cursor/agents/tech-lead.mdc +57 -0
- package/template/.cursor/commands/architecture.md +127 -0
- package/template/.cursor/commands/ask.md +55 -0
- package/template/.cursor/commands/auto.md +533 -0
- package/template/.cursor/commands/discovery.md +47 -0
- package/template/.cursor/commands/execute.md +343 -0
- package/template/.cursor/commands/intake.md +323 -0
- package/template/.cursor/commands/map-codebase.md +46 -0
- package/template/.cursor/commands/memory-audit.md +175 -0
- package/template/.cursor/commands/milestone-complete.md +51 -0
- package/template/.cursor/commands/milestone-start.md +59 -0
- package/template/.cursor/commands/pause.md +64 -0
- package/{.cursor/commands/gsd-phase-context.md → template/.cursor/commands/phase-context.md} +6 -2
- package/template/.cursor/commands/plan-verify.md +34 -0
- package/template/.cursor/commands/qa.md +226 -0
- package/template/.cursor/commands/quick.md +41 -0
- package/template/.cursor/commands/refresh-context.md +82 -0
- package/template/.cursor/commands/release.md +505 -0
- package/template/.cursor/commands/research.md +49 -0
- package/template/.cursor/commands/resume.md +67 -0
- package/template/.cursor/commands/security-review.md +81 -0
- package/template/.cursor/commands/sprint-plan.md +103 -0
- package/template/.cursor/commands/status-reconcile.md +95 -0
- package/template/.cursor/commands/verify-work.md +152 -0
- package/template/.cursor/dev-environment.json.example +22 -0
- package/{.cursor → template/.cursor}/hooks/README.md +3 -2
- package/{.cursor/hooks/gsd-hook.py → template/.cursor/hooks/hook.py} +15 -6
- package/template/.cursor/hooks.json +26 -0
- package/template/.cursor/remote.json +31 -0
- package/template/.cursor/rules/caveman.mdc +184 -0
- package/template/.cursor/rules/coding-standards.mdc +39 -0
- package/template/.cursor/rules/core.mdc +111 -0
- package/template/.cursor/rules/handoffs.mdc +27 -0
- package/template/.cursor/rules/quality.mdc +49 -0
- package/template/.cursor/scratchpad.local.example.md +323 -0
- package/template/.cursor/scratchpad.md +324 -0
- package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/SKILL.md +2 -2
- package/template/.cursorignore +6 -0
- package/template/.env.example +28 -0
- package/template/.github/workflows/ci.yml +194 -0
- package/{.github → template/.github}/workflows/deploy.yml +5 -2
- package/template/.its-magic-version +1 -0
- package/template/README.md +1602 -0
- package/template/decisions/DEC-0001.md +11 -0
- package/template/decisions/DEC-0002.md +11 -0
- package/template/docs/developer/README.md +44 -0
- package/template/docs/engineering/architecture.md +9 -0
- package/template/docs/engineering/artifact-ordering-policy.md +48 -0
- package/template/docs/engineering/artifact-ownership-policy.md +57 -0
- package/template/docs/engineering/auto-orchestration-reference.md +1211 -0
- package/{docs → template/docs}/engineering/codebase-map.md +0 -5
- package/template/docs/engineering/compatibility-report.md +20 -0
- package/template/docs/engineering/compatibility-signals.md +7 -0
- package/template/docs/engineering/component-scope-report.md +16 -0
- package/template/docs/engineering/component-scope.md +19 -0
- package/template/docs/engineering/context/installer-owned-paths.manifest +96 -0
- package/template/docs/engineering/context/readme-section-affinity.json +30 -0
- package/template/docs/engineering/decisions.md +16 -0
- package/template/docs/engineering/legacy-drift-audit.md +21 -0
- package/template/docs/engineering/manifests/components/api-gateway.manifest.yaml +12 -0
- package/template/docs/engineering/manifests/registry.manifest.yaml +20 -0
- package/template/docs/engineering/manifests/repo.manifest.yaml +11 -0
- package/template/docs/engineering/phase-context.md +16 -0
- package/template/docs/engineering/release-targets.json +123 -0
- package/template/docs/engineering/research.md +29 -0
- package/template/docs/engineering/runbook.md +2320 -0
- package/template/docs/engineering/runtime-connectivity.md +81 -0
- package/template/docs/engineering/security-review.md +33 -0
- package/template/docs/engineering/spec-pack/README.md +20 -0
- package/template/docs/engineering/state-archive/README.md +15 -0
- package/template/docs/engineering/state.md +20 -0
- package/template/docs/engineering/status-normalization-report.md +19 -0
- package/template/docs/engineering/token-cost-parity-manifest.md +16 -0
- package/template/docs/engineering/us-0084-remote-e2e.md +44 -0
- package/template/docs/product/acceptance.md +1 -0
- package/template/docs/product/backlog.md +5 -0
- package/template/docs/product/vision.md +11 -0
- package/template/docs/user-guides/README.md +40 -0
- package/{handoffs → template/handoffs}/dev_to_qa.md +0 -3
- package/{handoffs → template/handoffs}/po_to_tl.md +0 -3
- package/{handoffs → template/handoffs}/qa_to_dev.md +1 -2
- package/template/handoffs/release_notes.md +51 -0
- package/template/handoffs/release_queue.md +47 -0
- package/template/handoffs/release_to_dev.md +31 -0
- package/template/handoffs/releases/Sxxxx-release-notes.md +62 -0
- package/template/handoffs/resume_brief.md +14 -0
- package/{handoffs → template/handoffs}/tl_to_dev.md +0 -2
- package/template/handoffs/token_cost_runs/README.md +26 -0
- package/template/its_magic/.its-magic-version +1 -0
- package/template/its_magic/README.md +9 -0
- package/template/scripts/auto_outer_driver.py +521 -0
- package/template/scripts/caveman_compress_input.py +903 -0
- package/template/scripts/check_downstream_ci_guard.py +67 -0
- package/template/scripts/check_intake_template_parity.py +284 -0
- package/template/scripts/check_token_cost_parity.py +69 -0
- package/template/scripts/dev_environment_lib.py +463 -0
- package/template/scripts/doc_profile_lib.py +415 -0
- package/template/scripts/downstream_ci_guard_lib.py +222 -0
- package/template/scripts/enforce-triad-hot-surface.py +753 -0
- package/template/scripts/guard_installer_publish.py +88 -0
- package/template/scripts/intake_bug_resume_brief_refresh.py +303 -0
- package/template/scripts/intake_bug_routing_guard.py +67 -0
- package/template/scripts/intake_evidence_lib.py +802 -0
- package/template/scripts/intake_evidence_validate.py +73 -0
- package/template/scripts/materialize_codebase_map.py +184 -0
- package/template/scripts/pack_json_validate.py +130 -0
- package/template/scripts/project_readme_coverage_lib.py +417 -0
- package/template/scripts/readme_feature_coverage_lib.py +608 -0
- package/template/scripts/remote_config_summary.py +243 -0
- package/template/scripts/sync_push_gates.py +198 -0
- package/template/scripts/token_cost_compare.py +40 -0
- package/template/scripts/token_cost_lib.py +108 -0
- package/template/scripts/uat_probe_lib.py +868 -0
- package/template/scripts/validate-and-push.ps1 +280 -0
- package/template/scripts/validate-and-push.sh +243 -0
- package/template/scripts/validate_doc_profile.py +103 -0
- package/template/scripts/validate_project_readme_coverage.py +151 -0
- package/template/scripts/validate_readme_feature_coverage.py +140 -0
- package/template/sprints/S0001/progress.md +1 -0
- package/template/sprints/S0001/qa-findings.md +9 -0
- package/template/sprints/S0001/release-findings.md +24 -0
- package/template/sprints/S0001/sprint.md +9 -0
- package/template/sprints/S0001/summary.md +7 -0
- package/template/sprints/S0001/tasks.md +1 -0
- package/template/sprints/S0001/uat.json +6 -0
- package/template/sprints/S0001/uat.md +5 -0
- package/template/sprints/quick/Q0001/summary.md +1 -0
- package/{sprints → template/sprints}/quick/Q0001/task.json +0 -1
- package/.cursor/agents/curator.mdc +0 -21
- package/.cursor/agents/dev.mdc +0 -20
- package/.cursor/agents/po.mdc +0 -19
- package/.cursor/agents/qa.mdc +0 -19
- package/.cursor/agents/release.mdc +0 -19
- package/.cursor/agents/tech-lead.mdc +0 -21
- package/.cursor/commands/gsd-architecture.md +0 -29
- package/.cursor/commands/gsd-auto.md +0 -27
- package/.cursor/commands/gsd-discovery.md +0 -27
- package/.cursor/commands/gsd-execute.md +0 -32
- package/.cursor/commands/gsd-intake.md +0 -28
- package/.cursor/commands/gsd-map-codebase.md +0 -25
- package/.cursor/commands/gsd-milestone-complete.md +0 -24
- package/.cursor/commands/gsd-milestone-start.md +0 -26
- package/.cursor/commands/gsd-pause.md +0 -25
- package/.cursor/commands/gsd-plan-verify.md +0 -26
- package/.cursor/commands/gsd-qa.md +0 -28
- package/.cursor/commands/gsd-quick.md +0 -24
- package/.cursor/commands/gsd-refresh-context.md +0 -26
- package/.cursor/commands/gsd-release.md +0 -29
- package/.cursor/commands/gsd-research.md +0 -28
- package/.cursor/commands/gsd-resume.md +0 -26
- package/.cursor/commands/gsd-sprint-plan.md +0 -30
- package/.cursor/commands/gsd-verify-work.md +0 -25
- package/.cursor/hooks.json +0 -26
- package/.cursor/plans/cursor-gsd-team-kit_8cfee9b8.plan.md +0 -57
- package/.cursor/remote.json +0 -18
- package/.cursor/rules/gsd-core.mdc +0 -18
- package/.cursor/rules/gsd-handoffs.mdc +0 -10
- package/.cursor/rules/gsd-quality.mdc +0 -15
- package/.cursor/scratchpad.md +0 -34
- package/.github/workflows/ci.yml +0 -47
- package/decisions/DEC-0001.md +0 -21
- package/decisions/DEC-0002.md +0 -21
- package/docs/engineering/architecture.md +0 -354
- package/docs/engineering/decisions.md +0 -6
- package/docs/engineering/research.md +0 -11
- package/docs/engineering/runbook.md +0 -32
- package/docs/engineering/state.md +0 -33
- package/docs/product/acceptance.md +0 -6
- package/docs/product/backlog.md +0 -7
- package/docs/product/vision.md +0 -46
- package/gsd-installer.ps1 +0 -189
- package/gsd-installer.py +0 -195
- package/gsd-installer.sh +0 -201
- package/handoffs/release_notes.md +0 -14
- package/handoffs/resume_brief.md +0 -8
- package/milestones/M0001/milestone.json +0 -7
- package/milestones/M0001/phases.json +0 -9
- package/milestones/M0001/progress.md +0 -3
- package/milestones/M0001/summary.md +0 -3
- package/scripts/generate-release-notes.ps1 +0 -74
- package/scripts/generate-release-notes.sh +0 -63
- package/scripts/release-all.ps1 +0 -423
- package/scripts/release-all.sh +0 -226
- package/sprints/S0001/progress.md +0 -4
- package/sprints/S0001/qa-findings.md +0 -113
- package/sprints/S0001/sprint.md +0 -70
- package/sprints/S0001/summary.md +0 -46
- package/sprints/S0001/tasks.md +0 -35
- package/sprints/S0001/uat.json +0 -8
- package/sprints/S0001/uat.md +0 -8
- package/sprints/quick/Q0001/summary.md +0 -3
- /package/{.cursor/rules/gsd-escalation.mdc → template/.cursor/rules/escalation.mdc} +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/acceptance.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/acceptance.md +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/architecture.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/architecture.md +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/decision.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/decision.md +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/handoff.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/handoff.md +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/milestone.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/phase-context.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/plan-verify.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/sprint.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/sprint.md +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/story.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/story.md +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/uat.json +0 -0
- /package/{docs → template/docs}/engineering/context/phase-template.json +0 -0
- /package/{docs → template/docs}/engineering/dependencies.json +0 -0
- /package/{sprints → template/sprints}/S0001/plan-verify.json +0 -0
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "GSD milestone complete: finalize milestone summary."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /gsd-milestone-complete
|
|
6
|
-
|
|
7
|
-
## Subagents
|
|
8
|
-
- release
|
|
9
|
-
- curator
|
|
10
|
-
|
|
11
|
-
## Inputs
|
|
12
|
-
- `milestones/M0001/summary.md`
|
|
13
|
-
- `handoffs/release_notes.md`
|
|
14
|
-
|
|
15
|
-
## Outputs (artifacts)
|
|
16
|
-
- Updated `milestones/M0001/summary.md`
|
|
17
|
-
- Updated `docs/engineering/state.md`
|
|
18
|
-
|
|
19
|
-
## Stop conditions
|
|
20
|
-
- Decision gate triggered
|
|
21
|
-
|
|
22
|
-
## Steps
|
|
23
|
-
1. Finalize milestone summary.
|
|
24
|
-
2. Confirm release notes and state.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "GSD milestone start: create milestone tracking files."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /gsd-milestone-start
|
|
6
|
-
|
|
7
|
-
## Subagents
|
|
8
|
-
- tech-lead
|
|
9
|
-
- curator
|
|
10
|
-
|
|
11
|
-
## Inputs
|
|
12
|
-
- Milestone name, goals, scope
|
|
13
|
-
|
|
14
|
-
## Outputs (artifacts)
|
|
15
|
-
- `milestones/M0001/milestone.json`
|
|
16
|
-
- `milestones/M0001/phases.json`
|
|
17
|
-
- `milestones/M0001/progress.md`
|
|
18
|
-
- `milestones/M0001/summary.md`
|
|
19
|
-
|
|
20
|
-
## Stop conditions
|
|
21
|
-
- Decision gate triggered
|
|
22
|
-
|
|
23
|
-
## Steps
|
|
24
|
-
1. Define milestone goals and scope.
|
|
25
|
-
2. List phases and intended outcomes.
|
|
26
|
-
3. Initialize progress and summary.
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "GSD pause: write checkpoint and resume brief."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /gsd-pause
|
|
6
|
-
|
|
7
|
-
## Subagents
|
|
8
|
-
- curator
|
|
9
|
-
|
|
10
|
-
## Inputs
|
|
11
|
-
- Current sprint progress and state
|
|
12
|
-
|
|
13
|
-
## Outputs (artifacts)
|
|
14
|
-
- `docs/engineering/state.md`
|
|
15
|
-
- `sprints/S0001/progress.md`
|
|
16
|
-
- `handoffs/resume_brief.md`
|
|
17
|
-
|
|
18
|
-
## Stop conditions
|
|
19
|
-
- Missing state or progress updates
|
|
20
|
-
|
|
21
|
-
## Steps
|
|
22
|
-
1. Write a short checkpoint of current work.
|
|
23
|
-
2. Update sprint progress and state.
|
|
24
|
-
3. Write a resume brief with next actions.
|
|
25
|
-
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "GSD plan verify: verify sprint tasks against acceptance."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /gsd-plan-verify
|
|
6
|
-
|
|
7
|
-
## Subagents
|
|
8
|
-
- tech-lead
|
|
9
|
-
|
|
10
|
-
## Inputs
|
|
11
|
-
- `sprints/S0001/tasks.md`
|
|
12
|
-
- `docs/product/acceptance.md`
|
|
13
|
-
- `docs/engineering/architecture.md`
|
|
14
|
-
|
|
15
|
-
## Outputs (artifacts)
|
|
16
|
-
- `sprints/S0001/plan-verify.json`
|
|
17
|
-
- `docs/engineering/state.md`
|
|
18
|
-
|
|
19
|
-
## Stop conditions
|
|
20
|
-
- Tasks do not cover acceptance criteria
|
|
21
|
-
- Decision gate triggered
|
|
22
|
-
|
|
23
|
-
## Steps
|
|
24
|
-
1. Check each acceptance criterion against tasks.
|
|
25
|
-
2. Record gaps and required changes in `plan-verify.json`.
|
|
26
|
-
3. Update state and handoff if needed.
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "GSD QA: test plan, findings, verify fixes."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /gsd-qa
|
|
6
|
-
|
|
7
|
-
## Subagents
|
|
8
|
-
- qa
|
|
9
|
-
|
|
10
|
-
## Inputs
|
|
11
|
-
- `handoffs/dev_to_qa.md`
|
|
12
|
-
- `sprints/S0001/summary.md`
|
|
13
|
-
|
|
14
|
-
## Outputs (artifacts)
|
|
15
|
-
- `sprints/S0001/qa-findings.md`
|
|
16
|
-
- `handoffs/qa_to_dev.md` (if issues)
|
|
17
|
-
- `docs/engineering/state.md`
|
|
18
|
-
|
|
19
|
-
## Stop conditions
|
|
20
|
-
- Critical defects require decision
|
|
21
|
-
- Missing test plan coverage
|
|
22
|
-
|
|
23
|
-
## Steps
|
|
24
|
-
1. Define a test plan and run verification.
|
|
25
|
-
2. Record findings and severity.
|
|
26
|
-
3. Update state and handoff to dev if needed.
|
|
27
|
-
4. Follow with `/gsd-verify-work` for user acceptance.
|
|
28
|
-
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "GSD quick: execute a small task without full planning."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /gsd-quick
|
|
6
|
-
|
|
7
|
-
## Subagents
|
|
8
|
-
- dev
|
|
9
|
-
|
|
10
|
-
## Inputs
|
|
11
|
-
- Task description
|
|
12
|
-
|
|
13
|
-
## Outputs (artifacts)
|
|
14
|
-
- `sprints/quick/Q0001/task.json`
|
|
15
|
-
- `sprints/quick/Q0001/summary.md`
|
|
16
|
-
- `docs/engineering/state.md`
|
|
17
|
-
|
|
18
|
-
## Stop conditions
|
|
19
|
-
- Decision gate triggered
|
|
20
|
-
|
|
21
|
-
## Steps
|
|
22
|
-
1. Define the task in `task.json`.
|
|
23
|
-
2. Implement the change quickly.
|
|
24
|
-
3. Write a short summary and update state.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "GSD refresh context: compact state and decisions."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /gsd-refresh-context
|
|
6
|
-
|
|
7
|
-
## Subagents
|
|
8
|
-
- curator
|
|
9
|
-
|
|
10
|
-
## Inputs
|
|
11
|
-
- Current sprint artifacts
|
|
12
|
-
- Decisions and handoffs
|
|
13
|
-
|
|
14
|
-
## Outputs (artifacts)
|
|
15
|
-
- `docs/engineering/state.md`
|
|
16
|
-
- `docs/engineering/decisions.md`
|
|
17
|
-
- `sprints/S0001/summary.md`
|
|
18
|
-
|
|
19
|
-
## Stop conditions
|
|
20
|
-
- Missing critical artifacts
|
|
21
|
-
|
|
22
|
-
## Steps
|
|
23
|
-
1. Compact state and decisions into a short context pack.
|
|
24
|
-
2. Update sprint summary with current status.
|
|
25
|
-
3. Ensure handoffs and state are consistent.
|
|
26
|
-
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "GSD release: prepare release notes and runbook updates."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /gsd-release
|
|
6
|
-
|
|
7
|
-
## Subagents
|
|
8
|
-
- release
|
|
9
|
-
|
|
10
|
-
## Inputs
|
|
11
|
-
- `sprints/S0001/summary.md`
|
|
12
|
-
- `docs/engineering/runbook.md`
|
|
13
|
-
|
|
14
|
-
## Outputs (artifacts)
|
|
15
|
-
- `handoffs/release_notes.md`
|
|
16
|
-
- `docs/engineering/runbook.md`
|
|
17
|
-
- `docs/engineering/state.md`
|
|
18
|
-
|
|
19
|
-
## Stop conditions
|
|
20
|
-
- Deploy command missing for requested environment
|
|
21
|
-
- Decision gate triggered
|
|
22
|
-
|
|
23
|
-
## Steps
|
|
24
|
-
1. Write release notes and versioning notes.
|
|
25
|
-
2. Update runbook commands if needed.
|
|
26
|
-
3. Update state and readiness.
|
|
27
|
-
4. If `AUTO_RELEASE_NOTES=1` in `.cursor/scratchpad.md`, generate
|
|
28
|
-
`handoffs/release_notes.md` via the release notes script.
|
|
29
|
-
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "GSD research: gather references and risks before architecture."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /gsd-research
|
|
6
|
-
|
|
7
|
-
## Subagents
|
|
8
|
-
- tech-lead
|
|
9
|
-
- po
|
|
10
|
-
|
|
11
|
-
## Inputs
|
|
12
|
-
- `docs/product/vision.md`
|
|
13
|
-
- `docs/product/backlog.md`
|
|
14
|
-
- `docs/product/acceptance.md`
|
|
15
|
-
|
|
16
|
-
## Outputs (artifacts)
|
|
17
|
-
- `docs/engineering/research.md`
|
|
18
|
-
- `docs/engineering/decisions.md`
|
|
19
|
-
- `docs/engineering/state.md`
|
|
20
|
-
|
|
21
|
-
## Stop conditions
|
|
22
|
-
- Decision gate triggered
|
|
23
|
-
- Missing acceptance criteria
|
|
24
|
-
|
|
25
|
-
## Steps
|
|
26
|
-
1. Research relevant patterns, libraries, and risks.
|
|
27
|
-
2. Summarize findings in `research.md`.
|
|
28
|
-
3. Record any decisions and update state.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "GSD resume: load context pack and continue work."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /gsd-resume
|
|
6
|
-
|
|
7
|
-
## Subagents
|
|
8
|
-
- curator
|
|
9
|
-
|
|
10
|
-
## Inputs
|
|
11
|
-
- `docs/engineering/state.md`
|
|
12
|
-
- `docs/engineering/decisions.md`
|
|
13
|
-
- `sprints/S0001/summary.md`
|
|
14
|
-
- `handoffs/resume_brief.md`
|
|
15
|
-
|
|
16
|
-
## Outputs (artifacts)
|
|
17
|
-
- Updated `docs/engineering/state.md` (if needed)
|
|
18
|
-
|
|
19
|
-
## Stop conditions
|
|
20
|
-
- Missing resume brief or stale state
|
|
21
|
-
|
|
22
|
-
## Steps
|
|
23
|
-
1. Load the context pack and open decisions.
|
|
24
|
-
2. Summarize current status and next steps.
|
|
25
|
-
3. Hand off to the appropriate phase.
|
|
26
|
-
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "GSD sprint plan: create sprint and atomic tasks."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /gsd-sprint-plan
|
|
6
|
-
|
|
7
|
-
## Subagents
|
|
8
|
-
- tech-lead
|
|
9
|
-
|
|
10
|
-
## Inputs
|
|
11
|
-
- Architecture and decisions
|
|
12
|
-
- Current backlog priorities
|
|
13
|
-
|
|
14
|
-
## Outputs (artifacts)
|
|
15
|
-
- `sprints/S0001/sprint.md`
|
|
16
|
-
- `sprints/S0001/tasks.md`
|
|
17
|
-
- `sprints/S0001/progress.md`
|
|
18
|
-
- `handoffs/tl_to_dev.md`
|
|
19
|
-
- `sprints/S0001/plan-verify.json` (after /gsd-plan-verify)
|
|
20
|
-
|
|
21
|
-
## Stop conditions
|
|
22
|
-
- Missing acceptance criteria
|
|
23
|
-
- Decision gate triggered
|
|
24
|
-
|
|
25
|
-
## Steps
|
|
26
|
-
1. Create a sprint scope and goals.
|
|
27
|
-
2. Break work into atomic tasks.
|
|
28
|
-
3. Write TL -> Dev handoff.
|
|
29
|
-
4. Run `/gsd-plan-verify` to check coverage.
|
|
30
|
-
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "GSD verify work: guided user acceptance testing."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /gsd-verify-work
|
|
6
|
-
|
|
7
|
-
## Subagents
|
|
8
|
-
- qa
|
|
9
|
-
|
|
10
|
-
## Inputs
|
|
11
|
-
- `docs/product/acceptance.md`
|
|
12
|
-
- `sprints/S0001/summary.md`
|
|
13
|
-
|
|
14
|
-
## Outputs (artifacts)
|
|
15
|
-
- `sprints/S0001/uat.json`
|
|
16
|
-
- `sprints/S0001/uat.md`
|
|
17
|
-
- `docs/engineering/state.md`
|
|
18
|
-
|
|
19
|
-
## Stop conditions
|
|
20
|
-
- Decision gate triggered
|
|
21
|
-
|
|
22
|
-
## Steps
|
|
23
|
-
1. Convert acceptance criteria into testable UAT steps.
|
|
24
|
-
2. Record results and failures.
|
|
25
|
-
3. Update state with pass/fail summary.
|
package/.cursor/hooks.json
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"hooks": {
|
|
4
|
-
"beforeShellExecution": [
|
|
5
|
-
{
|
|
6
|
-
"command": "python .cursor/hooks/gsd-hook.py beforeShellExecution"
|
|
7
|
-
}
|
|
8
|
-
],
|
|
9
|
-
"beforeReadFile": [
|
|
10
|
-
{
|
|
11
|
-
"command": "python .cursor/hooks/gsd-hook.py beforeReadFile"
|
|
12
|
-
}
|
|
13
|
-
],
|
|
14
|
-
"afterFileEdit": [
|
|
15
|
-
{
|
|
16
|
-
"command": "python .cursor/hooks/gsd-hook.py afterFileEdit"
|
|
17
|
-
}
|
|
18
|
-
],
|
|
19
|
-
"stop": [
|
|
20
|
-
{
|
|
21
|
-
"command": "python .cursor/hooks/gsd-hook.py stop"
|
|
22
|
-
}
|
|
23
|
-
]
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cursor-gsd-team-kit
|
|
3
|
-
overview: Plan the build of the Cursor-native “GSD Team Kit” template repo described in `Plan.md`, covering commands, rules, skills, agents, hooks, docs, and CI/CD templates.
|
|
4
|
-
todos:
|
|
5
|
-
- id: scaffold-structure
|
|
6
|
-
content: Scaffold directory structure and starter artifacts
|
|
7
|
-
status: pending
|
|
8
|
-
- id: commands-rules
|
|
9
|
-
content: Add 10 commands and 4 rules with IO/stop gates
|
|
10
|
-
status: pending
|
|
11
|
-
- id: skills-agents
|
|
12
|
-
content: Create gsd-team skill, templates, and 6 agents
|
|
13
|
-
status: pending
|
|
14
|
-
- id: hooks-cicd-docs
|
|
15
|
-
content: Implement hooks, CI/CD workflows, and README updates
|
|
16
|
-
status: pending
|
|
17
|
-
isProject: false
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
# Cursor-GSD-Team Kit Plan
|
|
21
|
-
|
|
22
|
-
## Scope Summary
|
|
23
|
-
|
|
24
|
-
Build a drop-in template repo that implements the full GSD workflow (intake → discovery → architecture → sprint plan → execute → QA → release → pause/resume) using Cursor-native artifacts: commands, rules, skills, subagents, hooks, docs, and GitHub Actions. Voice input is documented as an input layer only. CI/CD is template-based and driven by runbook keys.
|
|
25
|
-
|
|
26
|
-
## Key Files and Structures
|
|
27
|
-
|
|
28
|
-
- Template structure per spec: [.cursor/](.cursor/), [docs/](docs/), [sprints/](sprints/), [handoffs/](handoffs/), [decisions/](decisions/), [.github/workflows/](.github/workflows/)
|
|
29
|
-
- Commands: `.cursor/commands/gsd-*.md` (10 commands)
|
|
30
|
-
- Rules: `.cursor/rules/gsd-*.mdc` (4 rules)
|
|
31
|
-
- Skills: `.cursor/skills/gsd-team/SKILL.md` + `templates/*.md`
|
|
32
|
-
- Agents: `.cursor/agents/*.mdc` (PO, tech-lead, dev, QA, release, curator)
|
|
33
|
-
- Hooks: `.cursor/hooks.json`, `.cursor/hooks/gsd-hook.py`, `.cursor/scratchpad.md`
|
|
34
|
-
- Docs templates: `docs/product/*.md`, `docs/engineering/*.md`, `sprints/S0001/*`, `handoffs/*.md`, `decisions/DEC-0001.md`
|
|
35
|
-
- CI/CD: `.github/workflows/ci.yml`, `.github/workflows/deploy.yml`
|
|
36
|
-
- README updates: voice options + runbook usage
|
|
37
|
-
|
|
38
|
-
## Implementation Outline
|
|
39
|
-
|
|
40
|
-
1. **Scaffold repo layout** per section 4 and add starter artifacts in `docs/`, `sprints/`, `handoffs/`, `decisions/`.
|
|
41
|
-
2. **Write 10 commands** in `.cursor/commands/` with explicit inputs/outputs, stop-conditions, and role usage.
|
|
42
|
-
3. **Define rules** in `.cursor/rules/` for phase flow, quality gates, handoffs/state persistence, and escalation.
|
|
43
|
-
4. **Create the skill** in `.cursor/skills/gsd-team/` and template files for story/acceptance/architecture/decision/sprint/handoff.
|
|
44
|
-
5. **Define 6 subagents** with required IO and artifact persistence requirements.
|
|
45
|
-
6. **Implement hooks** (`hooks.json` + dispatcher script) with fail-open logic, context-refresh checks, and safe-command blocking.
|
|
46
|
-
7. **Add CI/CD workflows** that read `docs/engineering/runbook.md` keys and conditionally execute commands.
|
|
47
|
-
8. **Update README** to document quick start, voice input strategies, and runbook-driven CI/CD.
|
|
48
|
-
|
|
49
|
-
## Notes / Constraints
|
|
50
|
-
|
|
51
|
-
- Voice input is documented only; no runtime integration beyond documentation.
|
|
52
|
-
- Hooks and CI/CD must be fail-open unless commands are explicitly set.
|
|
53
|
-
- Decision gate should create `decisions/DEC-xxxx.md` and stop until user decision.
|
|
54
|
-
|
|
55
|
-
## Reference (Plan Spec)
|
|
56
|
-
|
|
57
|
-
Primary source: [Plan.md](Plan.md)
|
package/.cursor/remote.json
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"servers": [
|
|
3
|
-
{
|
|
4
|
-
"name": "local-docker",
|
|
5
|
-
"type": "docker",
|
|
6
|
-
"host": "unix:///var/run/docker.sock",
|
|
7
|
-
"notes": "Example Docker socket configuration"
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"name": "remote-ssh",
|
|
11
|
-
"type": "ssh",
|
|
12
|
-
"host": "example.com",
|
|
13
|
-
"port": 22,
|
|
14
|
-
"user": "ubuntu",
|
|
15
|
-
"notes": "Example SSH configuration"
|
|
16
|
-
}
|
|
17
|
-
]
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "GSD core workflow and context pack rules"
|
|
3
|
-
globs: ["**/*"]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
- Use the GSD phase flow: intake -> discovery -> research -> architecture ->
|
|
7
|
-
sprint plan -> plan verify -> execute -> QA -> verify work -> release ->
|
|
8
|
-
refresh context.
|
|
9
|
-
- `AUTO_FLOW_MODE` controls whether phases run automatically or stop at
|
|
10
|
-
decision gates (`auto_until_decision` recommended).
|
|
11
|
-
- `PHASE_MODE=interactive` means ask questions; `PHASE_MODE=auto` minimizes
|
|
12
|
-
prompts unless decisions are required.
|
|
13
|
-
- Persist decisions and state in files; do not keep critical info only in chat.
|
|
14
|
-
- Pause/resume is first-class. Update `handoffs/resume_brief.md` on pause.
|
|
15
|
-
- Context pack must stay compact: summarize, do not dump raw logs.
|
|
16
|
-
- If `REMOTE_EXECUTION=1` and `.cursor/remote.json` is configured, the agent
|
|
17
|
-
may use the configured remote/docker servers for builds/tests.
|
|
18
|
-
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Handoffs and artifact persistence"
|
|
3
|
-
globs: ["**/*"]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
- Every role writes handoffs to files; nothing important stays in chat only.
|
|
7
|
-
- Update sprint `summary.md` and `progress.md` after task completion.
|
|
8
|
-
- Use `handoffs/*.md` for role-to-role transfers.
|
|
9
|
-
- Keep `docs/engineering/state.md` current and concise.
|
|
10
|
-
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Quality gates and small-step execution"
|
|
3
|
-
globs: ["**/*"]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
- Prefer small, atomic changes tied to a single task.
|
|
7
|
-
- Run tests, lint, and typecheck when commands are configured.
|
|
8
|
-
- If `AUTO_INSTALL_DEPS=1` in `.cursor/scratchpad.md`, install required
|
|
9
|
-
runtimes/libs without asking (package manager only).
|
|
10
|
-
- If `AUTO_RELEASE_NOTES=1` in `.cursor/scratchpad.md`, generate release notes
|
|
11
|
-
automatically (scripted).
|
|
12
|
-
- If `PERMISSION_MODE=auto`, do not ask for routine permission prompts.
|
|
13
|
-
- Update `docs/engineering/state.md` after meaningful changes.
|
|
14
|
-
- If tests fail and commands are set, fix or document before proceeding.
|
|
15
|
-
|
package/.cursor/scratchpad.md
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# GSD scratchpad
|
|
2
|
-
#
|
|
3
|
-
# Core behavior
|
|
4
|
-
# - GSD_CONTEXT_STRICT: 0|1 (require context refresh after code changes)
|
|
5
|
-
# - LOOP_UNTIL_GREEN: 0|1 (optional test loop)
|
|
6
|
-
# - RUN_TESTS_ON_EDIT: 0|1 (run tests after edits)
|
|
7
|
-
# - DONE: 0|1 (stop hook loops)
|
|
8
|
-
GSD_CONTEXT_STRICT=1
|
|
9
|
-
LOOP_UNTIL_GREEN=0
|
|
10
|
-
RUN_TESTS_ON_EDIT=0
|
|
11
|
-
DONE=0
|
|
12
|
-
#
|
|
13
|
-
# Benchmarking
|
|
14
|
-
# - GSD_BENCH_SESSION: free-form id for live benchmark logging
|
|
15
|
-
GSD_BENCH_SESSION=
|
|
16
|
-
#
|
|
17
|
-
# Automation
|
|
18
|
-
# - AUTO_FLOW_MODE: manual|auto_until_decision
|
|
19
|
-
# - PHASE_MODE: interactive|auto
|
|
20
|
-
# - PERMISSION_MODE: interactive|auto
|
|
21
|
-
# - AUTO_INSTALL_DEPS: 0|1
|
|
22
|
-
# - AUTO_RELEASE_NOTES: 0|1
|
|
23
|
-
AUTO_FLOW_MODE=manual
|
|
24
|
-
PHASE_MODE=interactive
|
|
25
|
-
PERMISSION_MODE=interactive
|
|
26
|
-
AUTO_INSTALL_DEPS=0
|
|
27
|
-
AUTO_RELEASE_NOTES=0
|
|
28
|
-
#
|
|
29
|
-
# Remote execution
|
|
30
|
-
# - REMOTE_EXECUTION: 0|1
|
|
31
|
-
# - REMOTE_CONFIG: path to remote config
|
|
32
|
-
REMOTE_EXECUTION=0
|
|
33
|
-
REMOTE_CONFIG=.cursor/remote.json
|
|
34
|
-
|
package/.github/workflows/ci.yml
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
name: ci
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: ["main"]
|
|
6
|
-
pull_request:
|
|
7
|
-
|
|
8
|
-
jobs:
|
|
9
|
-
checks:
|
|
10
|
-
runs-on: ubuntu-latest
|
|
11
|
-
steps:
|
|
12
|
-
- uses: actions/checkout@v4
|
|
13
|
-
- id: runbook
|
|
14
|
-
name: Read runbook commands
|
|
15
|
-
run: |
|
|
16
|
-
python - <<'PY'
|
|
17
|
-
import os
|
|
18
|
-
import pathlib
|
|
19
|
-
import re
|
|
20
|
-
|
|
21
|
-
text = pathlib.Path("docs/engineering/runbook.md").read_text()
|
|
22
|
-
|
|
23
|
-
def get(key):
|
|
24
|
-
m = re.search(rf"^{key}:\s*(.*)$", text, re.M)
|
|
25
|
-
val = (m.group(1) or "").strip() if m else ""
|
|
26
|
-
if val in ("", "...", "<...>", "TODO"):
|
|
27
|
-
return ""
|
|
28
|
-
return val
|
|
29
|
-
|
|
30
|
-
keys = ["TEST_COMMAND", "LINT_COMMAND", "TYPECHECK_COMMAND"]
|
|
31
|
-
with open(os.environ["GITHUB_OUTPUT"], "a") as f:
|
|
32
|
-
for key in keys:
|
|
33
|
-
f.write(f"{key}={get(key)}\n")
|
|
34
|
-
PY
|
|
35
|
-
- name: Test
|
|
36
|
-
if: steps.runbook.outputs.TEST_COMMAND != ''
|
|
37
|
-
run: ${{ steps.runbook.outputs.TEST_COMMAND }}
|
|
38
|
-
- name: Lint
|
|
39
|
-
if: steps.runbook.outputs.LINT_COMMAND != ''
|
|
40
|
-
run: ${{ steps.runbook.outputs.LINT_COMMAND }}
|
|
41
|
-
- name: Typecheck
|
|
42
|
-
if: steps.runbook.outputs.TYPECHECK_COMMAND != ''
|
|
43
|
-
run: ${{ steps.runbook.outputs.TYPECHECK_COMMAND }}
|
|
44
|
-
- name: No commands set
|
|
45
|
-
if: steps.runbook.outputs.TEST_COMMAND == '' && steps.runbook.outputs.LINT_COMMAND == '' && steps.runbook.outputs.TYPECHECK_COMMAND == ''
|
|
46
|
-
run: echo "No runbook commands set."
|
|
47
|
-
|
package/decisions/DEC-0001.md
DELETED