@nlaprell/shipit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursor/commands/create_intent_from_issue.md +28 -0
- package/.cursor/commands/create_pr.md +28 -0
- package/.cursor/commands/dashboard.md +39 -0
- package/.cursor/commands/deploy.md +152 -0
- package/.cursor/commands/drift_check.md +36 -0
- package/.cursor/commands/fix.md +39 -0
- package/.cursor/commands/generate_release_plan.md +31 -0
- package/.cursor/commands/generate_roadmap.md +38 -0
- package/.cursor/commands/help.md +37 -0
- package/.cursor/commands/init_project.md +26 -0
- package/.cursor/commands/kill.md +72 -0
- package/.cursor/commands/new_intent.md +68 -0
- package/.cursor/commands/pr.md +77 -0
- package/.cursor/commands/revert-plan.md +58 -0
- package/.cursor/commands/risk.md +64 -0
- package/.cursor/commands/rollback.md +43 -0
- package/.cursor/commands/scope_project.md +53 -0
- package/.cursor/commands/ship.md +345 -0
- package/.cursor/commands/status.md +71 -0
- package/.cursor/commands/suggest.md +44 -0
- package/.cursor/commands/test_shipit.md +197 -0
- package/.cursor/commands/verify.md +50 -0
- package/.cursor/rules/architect.mdc +84 -0
- package/.cursor/rules/assumption-extractor.mdc +95 -0
- package/.cursor/rules/docs.mdc +66 -0
- package/.cursor/rules/implementer.mdc +112 -0
- package/.cursor/rules/pm.mdc +136 -0
- package/.cursor/rules/qa.mdc +97 -0
- package/.cursor/rules/security.mdc +90 -0
- package/.cursor/rules/steward.mdc +99 -0
- package/.cursor/rules/test-runner.mdc +196 -0
- package/AGENTS.md +121 -0
- package/README.md +264 -0
- package/_system/architecture/CANON.md +159 -0
- package/_system/architecture/invariants.yml +87 -0
- package/_system/architecture/project-schema.json +98 -0
- package/_system/architecture/workflow-state-layout.md +68 -0
- package/_system/artifacts/SYSTEM_STATE.md +43 -0
- package/_system/artifacts/confidence-calibration.json +16 -0
- package/_system/artifacts/dependencies.md +46 -0
- package/_system/artifacts/framework-files-manifest.json +179 -0
- package/_system/artifacts/usage.json +1 -0
- package/_system/behaviors/DO_RELEASE.md +371 -0
- package/_system/behaviors/DO_RELEASE_AI.md +329 -0
- package/_system/behaviors/PREPARE_RELEASE.md +373 -0
- package/_system/behaviors/PREPARE_RELEASE_AI.md +234 -0
- package/_system/behaviors/WORK_ROOT_PLATFORM_ISSUES.md +140 -0
- package/_system/behaviors/WORK_TEST_PLAN_ISSUES.md +380 -0
- package/_system/do-not-repeat/abandoned-designs.md +18 -0
- package/_system/do-not-repeat/bad-patterns.md +19 -0
- package/_system/do-not-repeat/failed-experiments.md +18 -0
- package/_system/do-not-repeat/rejected-libraries.md +19 -0
- package/_system/drift/baselines.md +49 -0
- package/_system/drift/metrics.md +33 -0
- package/_system/golden-data/.gitkeep +0 -0
- package/_system/golden-data/README.md +47 -0
- package/_system/reports/mutation/mutation.html +492 -0
- package/_system/security/audit-allowlist.json +4 -0
- package/bin/create-shipit-app +29 -0
- package/bin/shipit +183 -0
- package/cli/src/commands/check.js +82 -0
- package/cli/src/commands/create.js +195 -0
- package/cli/src/commands/init.js +267 -0
- package/cli/src/commands/upgrade.js +196 -0
- package/cli/src/utils/config.js +27 -0
- package/cli/src/utils/file-copy.js +144 -0
- package/cli/src/utils/gitignore-merge.js +44 -0
- package/cli/src/utils/manifest.js +105 -0
- package/cli/src/utils/package-json-merge.js +163 -0
- package/cli/src/utils/project-json-merge.js +57 -0
- package/cli/src/utils/prompts.js +30 -0
- package/cli/src/utils/stack-detection.js +56 -0
- package/cli/src/utils/stack-files.js +364 -0
- package/cli/src/utils/upgrade-backup.js +159 -0
- package/cli/src/utils/version.js +64 -0
- package/dashboard-app/README.md +73 -0
- package/dashboard-app/eslint.config.js +23 -0
- package/dashboard-app/index.html +13 -0
- package/dashboard-app/package.json +30 -0
- package/dashboard-app/pnpm-lock.yaml +2721 -0
- package/dashboard-app/public/dashboard.json +66 -0
- package/dashboard-app/public/vite.svg +1 -0
- package/dashboard-app/src/App.css +141 -0
- package/dashboard-app/src/App.tsx +155 -0
- package/dashboard-app/src/assets/react.svg +1 -0
- package/dashboard-app/src/index.css +68 -0
- package/dashboard-app/src/main.tsx +10 -0
- package/dashboard-app/tsconfig.app.json +28 -0
- package/dashboard-app/tsconfig.json +4 -0
- package/dashboard-app/tsconfig.node.json +26 -0
- package/dashboard-app/vite.config.ts +7 -0
- package/package.json +116 -0
- package/scripts/README.md +70 -0
- package/scripts/audit-check.sh +125 -0
- package/scripts/calibration-report.sh +198 -0
- package/scripts/check-readiness.sh +155 -0
- package/scripts/collect-metrics.sh +116 -0
- package/scripts/command-manifest.yml +131 -0
- package/scripts/create-test-plan-issue.sh +110 -0
- package/scripts/dashboard-start.sh +16 -0
- package/scripts/deploy.sh +170 -0
- package/scripts/drift-check.sh +93 -0
- package/scripts/execute-rollback.sh +177 -0
- package/scripts/export-dashboard-json.js +208 -0
- package/scripts/fix-intents.sh +239 -0
- package/scripts/generate-dashboard.sh +136 -0
- package/scripts/generate-docs.sh +279 -0
- package/scripts/generate-project-context.sh +142 -0
- package/scripts/generate-release-plan.sh +443 -0
- package/scripts/generate-roadmap.sh +189 -0
- package/scripts/generate-system-state.sh +95 -0
- package/scripts/gh/create-intent-from-issue.sh +82 -0
- package/scripts/gh/create-issue-from-intent.sh +59 -0
- package/scripts/gh/create-pr.sh +41 -0
- package/scripts/gh/link-issue.sh +44 -0
- package/scripts/gh/on-ship-update-issue.sh +42 -0
- package/scripts/headless/README.md +8 -0
- package/scripts/headless/call-llm.js +109 -0
- package/scripts/headless/run-phase.sh +99 -0
- package/scripts/help.sh +271 -0
- package/scripts/init-project.sh +976 -0
- package/scripts/kill-intent.sh +125 -0
- package/scripts/lib/common.sh +29 -0
- package/scripts/lib/intent.sh +61 -0
- package/scripts/lib/progress.sh +57 -0
- package/scripts/lib/suggest-next.sh +131 -0
- package/scripts/lib/validate-intents.sh +240 -0
- package/scripts/lib/verify-outputs.sh +55 -0
- package/scripts/lib/workflow_state.sh +201 -0
- package/scripts/new-intent.sh +271 -0
- package/scripts/publish-npm.sh +28 -0
- package/scripts/scope-project.sh +380 -0
- package/scripts/setup-worktrees.sh +125 -0
- package/scripts/status.sh +278 -0
- package/scripts/suggest.sh +173 -0
- package/scripts/test-headless.sh +47 -0
- package/scripts/test-shipit.sh +52 -0
- package/scripts/test-workflow-state.sh +49 -0
- package/scripts/usage-report.sh +47 -0
- package/scripts/usage.sh +58 -0
- package/scripts/validate-cursor.sh +151 -0
- package/scripts/validate-project.sh +71 -0
- package/scripts/validate-vscode.sh +146 -0
- package/scripts/verify.sh +153 -0
- package/scripts/workflow-orchestrator.sh +97 -0
- package/scripts/workflow-templates/01_analysis.md.tpl +25 -0
- package/scripts/workflow-templates/02_plan.md.tpl +30 -0
- package/scripts/workflow-templates/03_implementation.md.tpl +25 -0
- package/scripts/workflow-templates/04_verification.md.tpl +29 -0
- package/scripts/workflow-templates/05_release_notes.md.tpl +16 -0
- package/scripts/workflow-templates/05_verification_legacy.md.tpl +6 -0
- package/scripts/workflow-templates/active.md.tpl +18 -0
- package/scripts/workflow-templates/phases.yml +39 -0
- package/stryker.conf.json +8 -0
- package/work/intent/templates/api-endpoint.md +124 -0
- package/work/intent/templates/bugfix.md +116 -0
- package/work/intent/templates/frontend-feature.md +115 -0
- package/work/intent/templates/generic.md +122 -0
- package/work/intent/templates/infra-change.md +121 -0
- package/work/intent/templates/refactor.md +116 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# F-###: Title
|
|
2
|
+
|
|
3
|
+
## Type
|
|
4
|
+
|
|
5
|
+
feature | bug | tech-debt
|
|
6
|
+
|
|
7
|
+
## Status
|
|
8
|
+
|
|
9
|
+
planned | active | blocked | validating | shipped | killed
|
|
10
|
+
|
|
11
|
+
## Priority
|
|
12
|
+
|
|
13
|
+
p0 | p1 | p2 | p3
|
|
14
|
+
|
|
15
|
+
## Effort
|
|
16
|
+
|
|
17
|
+
s | m | l
|
|
18
|
+
|
|
19
|
+
## Release Target
|
|
20
|
+
|
|
21
|
+
R1 | R2 | R3 | R4
|
|
22
|
+
|
|
23
|
+
## Motivation
|
|
24
|
+
|
|
25
|
+
(Why it exists, 1–3 bullets)
|
|
26
|
+
|
|
27
|
+
## Resources
|
|
28
|
+
|
|
29
|
+
- (Infra resources touched: e.g. DB, queue, k8s, CDN)
|
|
30
|
+
- (New resources or changes to existing)
|
|
31
|
+
|
|
32
|
+
## Rollout Steps
|
|
33
|
+
|
|
34
|
+
- (Ordered steps: e.g. 1) Deploy new config 2) Migrate data 3) Switch traffic)
|
|
35
|
+
- (Checkpoints and validation between steps)
|
|
36
|
+
|
|
37
|
+
## Rollback
|
|
38
|
+
|
|
39
|
+
- (How to roll back each step)
|
|
40
|
+
- (Runbook or script references)
|
|
41
|
+
- (Rollback tested before rollout)
|
|
42
|
+
|
|
43
|
+
## Confidence
|
|
44
|
+
|
|
45
|
+
Requirements: 0.0–1.0
|
|
46
|
+
Domain assumptions: 0.0–1.0
|
|
47
|
+
(If either < threshold, document why proceeding or request human interrupt)
|
|
48
|
+
|
|
49
|
+
## Invariants (Hard Constraints)
|
|
50
|
+
|
|
51
|
+
- No single point of failure introduced
|
|
52
|
+
- Rollback path tested (dry run or staging)
|
|
53
|
+
- (Add infra-specific invariants)
|
|
54
|
+
|
|
55
|
+
Executable (add to \_system/architecture/invariants.yml if applicable):
|
|
56
|
+
|
|
57
|
+
```yaml
|
|
58
|
+
invariants:
|
|
59
|
+
- rollback_tested: true
|
|
60
|
+
success_metrics:
|
|
61
|
+
- zero_data_loss_on_rollback: true
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Acceptance (Executable)
|
|
65
|
+
|
|
66
|
+
These are the ONLY criteria for "done." If it can't be checked automatically, it doesn't belong here.
|
|
67
|
+
|
|
68
|
+
- [ ] Infra tests or runbooks: deployment/rollback steps validated
|
|
69
|
+
- [ ] Rollback tested (staging or dry run)
|
|
70
|
+
- [ ] CLI: `pnpm test` green (if app tests apply)
|
|
71
|
+
- [ ] (Add infra-specific checks: e.g. health checks, capacity)
|
|
72
|
+
|
|
73
|
+
## Assumptions (MUST BE EXPLICIT)
|
|
74
|
+
|
|
75
|
+
- (ex: "Maintenance window is available" — confirm?)
|
|
76
|
+
- (ex: "Backup is current before migration" — verify?)
|
|
77
|
+
|
|
78
|
+
## Risk Level
|
|
79
|
+
|
|
80
|
+
low | medium | high
|
|
81
|
+
|
|
82
|
+
Risk triggers:
|
|
83
|
+
|
|
84
|
+
- high: auth, data migration, permissions, infra, PII
|
|
85
|
+
- medium: new dependencies, capacity, networking
|
|
86
|
+
- low: docs, config-only changes
|
|
87
|
+
|
|
88
|
+
## Kill Criteria (Stop Conditions)
|
|
89
|
+
|
|
90
|
+
- Rollback fails or is not tested
|
|
91
|
+
- Single point of failure introduced
|
|
92
|
+
- Data loss risk without mitigation
|
|
93
|
+
- (Add infra-specific kill criteria)
|
|
94
|
+
|
|
95
|
+
## Rollback Plan
|
|
96
|
+
|
|
97
|
+
REQUIRED before implementation begins. Must match "Rollback" section above.
|
|
98
|
+
|
|
99
|
+
- (Step-by-step rollback; same order as Rollout in reverse where applicable)
|
|
100
|
+
- (Data: down migration or restore from backup)
|
|
101
|
+
- (Config: revert to previous version)
|
|
102
|
+
|
|
103
|
+
## Dependencies
|
|
104
|
+
|
|
105
|
+
- (Other intent IDs that must ship first)
|
|
106
|
+
- (Infra team or vendor dependencies)
|
|
107
|
+
- (Maintenance windows)
|
|
108
|
+
|
|
109
|
+
## GitHub issue
|
|
110
|
+
|
|
111
|
+
(Optional) Link to a GitHub issue. Use `#123` or `owner/repo#123`.
|
|
112
|
+
|
|
113
|
+
- (e.g. `#42` or leave blank)
|
|
114
|
+
|
|
115
|
+
## Do Not Repeat Check
|
|
116
|
+
|
|
117
|
+
Before starting, verify this hasn't been tried before:
|
|
118
|
+
|
|
119
|
+
- [ ] Checked \_system/do-not-repeat/abandoned-designs.md
|
|
120
|
+
- [ ] Checked \_system/do-not-repeat/failed-experiments.md
|
|
121
|
+
- [ ] No similar rejected approaches exist
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# F-###: Title
|
|
2
|
+
|
|
3
|
+
## Type
|
|
4
|
+
|
|
5
|
+
feature | bug | tech-debt
|
|
6
|
+
|
|
7
|
+
## Status
|
|
8
|
+
|
|
9
|
+
planned | active | blocked | validating | shipped | killed
|
|
10
|
+
|
|
11
|
+
## Priority
|
|
12
|
+
|
|
13
|
+
p0 | p1 | p2 | p3
|
|
14
|
+
|
|
15
|
+
## Effort
|
|
16
|
+
|
|
17
|
+
s | m | l
|
|
18
|
+
|
|
19
|
+
## Release Target
|
|
20
|
+
|
|
21
|
+
R1 | R2 | R3 | R4
|
|
22
|
+
|
|
23
|
+
## Motivation
|
|
24
|
+
|
|
25
|
+
(Why it exists, 1–3 bullets — e.g. "Reduce duplication; enable future feature X; meet new standard")
|
|
26
|
+
|
|
27
|
+
## Current State
|
|
28
|
+
|
|
29
|
+
- (Brief description of current structure or behavior)
|
|
30
|
+
- (Pain points or constraints that motivate the refactor)
|
|
31
|
+
|
|
32
|
+
## Desired State
|
|
33
|
+
|
|
34
|
+
- (Target structure or behavior after refactor)
|
|
35
|
+
- (Success looks like: tests unchanged or added; behavior preserved)
|
|
36
|
+
|
|
37
|
+
## Scope of Change
|
|
38
|
+
|
|
39
|
+
- (In scope: modules, files, APIs to touch)
|
|
40
|
+
- (Out of scope: what must not change)
|
|
41
|
+
- (Optional: phased steps if refactor is large)
|
|
42
|
+
|
|
43
|
+
## Confidence
|
|
44
|
+
|
|
45
|
+
Requirements: 0.0–1.0
|
|
46
|
+
Domain assumptions: 0.0–1.0
|
|
47
|
+
(If either < threshold, document why proceeding or request human interrupt)
|
|
48
|
+
|
|
49
|
+
## Invariants (Hard Constraints)
|
|
50
|
+
|
|
51
|
+
- Behavior preserved: same observable behavior; same or more tests passing
|
|
52
|
+
- (Add refactor-specific invariants: e.g. no API contract change)
|
|
53
|
+
|
|
54
|
+
Executable (add to \_system/architecture/invariants.yml if applicable):
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
invariants:
|
|
58
|
+
- behavior_preserved: true
|
|
59
|
+
success_metrics:
|
|
60
|
+
- test_pass_rate: 99.5
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Acceptance (Executable)
|
|
64
|
+
|
|
65
|
+
These are the ONLY criteria for "done." If it can't be checked automatically, it doesn't belong here.
|
|
66
|
+
|
|
67
|
+
- [ ] Tests: unchanged or added; all pass (no behavior change unless explicitly in scope)
|
|
68
|
+
- [ ] CLI: `pnpm test` green
|
|
69
|
+
- [ ] CLI: `pnpm lint && pnpm typecheck` green
|
|
70
|
+
- [ ] (Optional: snapshot or property tests updated if structure changed)
|
|
71
|
+
- [ ] (Add refactor-specific checks: e.g. bundle size, coverage)
|
|
72
|
+
|
|
73
|
+
## Assumptions (MUST BE EXPLICIT)
|
|
74
|
+
|
|
75
|
+
- (ex: "Current tests adequately cover behavior" — add gaps?)
|
|
76
|
+
- (ex: "No external callers depend on internal structure" — verify?)
|
|
77
|
+
|
|
78
|
+
## Risk Level
|
|
79
|
+
|
|
80
|
+
low | medium | high
|
|
81
|
+
|
|
82
|
+
Risk triggers:
|
|
83
|
+
|
|
84
|
+
- high: auth, money, permissions, infra, PII
|
|
85
|
+
- medium: new dependencies, public API surface change
|
|
86
|
+
- low: docs, internal refactors, tests, tooling
|
|
87
|
+
|
|
88
|
+
## Kill Criteria (Stop Conditions)
|
|
89
|
+
|
|
90
|
+
- Refactor would require breaking public contract without approval
|
|
91
|
+
- Test coverage insufficient to safely refactor
|
|
92
|
+
- (Add refactor-specific kill criteria)
|
|
93
|
+
|
|
94
|
+
## Rollback Plan
|
|
95
|
+
|
|
96
|
+
- Revert commit: clean revert possible (preferred for refactors)
|
|
97
|
+
- (If phased: which phases are independently revertible)
|
|
98
|
+
|
|
99
|
+
## Dependencies
|
|
100
|
+
|
|
101
|
+
- (Other intent IDs that must ship first)
|
|
102
|
+
- (ADRs or design docs if refactor is architectural)
|
|
103
|
+
|
|
104
|
+
## GitHub issue
|
|
105
|
+
|
|
106
|
+
(Optional) Link to a GitHub issue. Use `#123` or `owner/repo#123`.
|
|
107
|
+
|
|
108
|
+
- (e.g. `#42` or leave blank)
|
|
109
|
+
|
|
110
|
+
## Do Not Repeat Check
|
|
111
|
+
|
|
112
|
+
Before starting, verify this hasn't been tried before:
|
|
113
|
+
|
|
114
|
+
- [ ] Checked \_system/do-not-repeat/abandoned-designs.md
|
|
115
|
+
- [ ] Checked \_system/do-not-repeat/failed-experiments.md
|
|
116
|
+
- [ ] No similar rejected approaches exist
|