@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.
Files changed (160) hide show
  1. package/.cursor/commands/create_intent_from_issue.md +28 -0
  2. package/.cursor/commands/create_pr.md +28 -0
  3. package/.cursor/commands/dashboard.md +39 -0
  4. package/.cursor/commands/deploy.md +152 -0
  5. package/.cursor/commands/drift_check.md +36 -0
  6. package/.cursor/commands/fix.md +39 -0
  7. package/.cursor/commands/generate_release_plan.md +31 -0
  8. package/.cursor/commands/generate_roadmap.md +38 -0
  9. package/.cursor/commands/help.md +37 -0
  10. package/.cursor/commands/init_project.md +26 -0
  11. package/.cursor/commands/kill.md +72 -0
  12. package/.cursor/commands/new_intent.md +68 -0
  13. package/.cursor/commands/pr.md +77 -0
  14. package/.cursor/commands/revert-plan.md +58 -0
  15. package/.cursor/commands/risk.md +64 -0
  16. package/.cursor/commands/rollback.md +43 -0
  17. package/.cursor/commands/scope_project.md +53 -0
  18. package/.cursor/commands/ship.md +345 -0
  19. package/.cursor/commands/status.md +71 -0
  20. package/.cursor/commands/suggest.md +44 -0
  21. package/.cursor/commands/test_shipit.md +197 -0
  22. package/.cursor/commands/verify.md +50 -0
  23. package/.cursor/rules/architect.mdc +84 -0
  24. package/.cursor/rules/assumption-extractor.mdc +95 -0
  25. package/.cursor/rules/docs.mdc +66 -0
  26. package/.cursor/rules/implementer.mdc +112 -0
  27. package/.cursor/rules/pm.mdc +136 -0
  28. package/.cursor/rules/qa.mdc +97 -0
  29. package/.cursor/rules/security.mdc +90 -0
  30. package/.cursor/rules/steward.mdc +99 -0
  31. package/.cursor/rules/test-runner.mdc +196 -0
  32. package/AGENTS.md +121 -0
  33. package/README.md +264 -0
  34. package/_system/architecture/CANON.md +159 -0
  35. package/_system/architecture/invariants.yml +87 -0
  36. package/_system/architecture/project-schema.json +98 -0
  37. package/_system/architecture/workflow-state-layout.md +68 -0
  38. package/_system/artifacts/SYSTEM_STATE.md +43 -0
  39. package/_system/artifacts/confidence-calibration.json +16 -0
  40. package/_system/artifacts/dependencies.md +46 -0
  41. package/_system/artifacts/framework-files-manifest.json +179 -0
  42. package/_system/artifacts/usage.json +1 -0
  43. package/_system/behaviors/DO_RELEASE.md +371 -0
  44. package/_system/behaviors/DO_RELEASE_AI.md +329 -0
  45. package/_system/behaviors/PREPARE_RELEASE.md +373 -0
  46. package/_system/behaviors/PREPARE_RELEASE_AI.md +234 -0
  47. package/_system/behaviors/WORK_ROOT_PLATFORM_ISSUES.md +140 -0
  48. package/_system/behaviors/WORK_TEST_PLAN_ISSUES.md +380 -0
  49. package/_system/do-not-repeat/abandoned-designs.md +18 -0
  50. package/_system/do-not-repeat/bad-patterns.md +19 -0
  51. package/_system/do-not-repeat/failed-experiments.md +18 -0
  52. package/_system/do-not-repeat/rejected-libraries.md +19 -0
  53. package/_system/drift/baselines.md +49 -0
  54. package/_system/drift/metrics.md +33 -0
  55. package/_system/golden-data/.gitkeep +0 -0
  56. package/_system/golden-data/README.md +47 -0
  57. package/_system/reports/mutation/mutation.html +492 -0
  58. package/_system/security/audit-allowlist.json +4 -0
  59. package/bin/create-shipit-app +29 -0
  60. package/bin/shipit +183 -0
  61. package/cli/src/commands/check.js +82 -0
  62. package/cli/src/commands/create.js +195 -0
  63. package/cli/src/commands/init.js +267 -0
  64. package/cli/src/commands/upgrade.js +196 -0
  65. package/cli/src/utils/config.js +27 -0
  66. package/cli/src/utils/file-copy.js +144 -0
  67. package/cli/src/utils/gitignore-merge.js +44 -0
  68. package/cli/src/utils/manifest.js +105 -0
  69. package/cli/src/utils/package-json-merge.js +163 -0
  70. package/cli/src/utils/project-json-merge.js +57 -0
  71. package/cli/src/utils/prompts.js +30 -0
  72. package/cli/src/utils/stack-detection.js +56 -0
  73. package/cli/src/utils/stack-files.js +364 -0
  74. package/cli/src/utils/upgrade-backup.js +159 -0
  75. package/cli/src/utils/version.js +64 -0
  76. package/dashboard-app/README.md +73 -0
  77. package/dashboard-app/eslint.config.js +23 -0
  78. package/dashboard-app/index.html +13 -0
  79. package/dashboard-app/package.json +30 -0
  80. package/dashboard-app/pnpm-lock.yaml +2721 -0
  81. package/dashboard-app/public/dashboard.json +66 -0
  82. package/dashboard-app/public/vite.svg +1 -0
  83. package/dashboard-app/src/App.css +141 -0
  84. package/dashboard-app/src/App.tsx +155 -0
  85. package/dashboard-app/src/assets/react.svg +1 -0
  86. package/dashboard-app/src/index.css +68 -0
  87. package/dashboard-app/src/main.tsx +10 -0
  88. package/dashboard-app/tsconfig.app.json +28 -0
  89. package/dashboard-app/tsconfig.json +4 -0
  90. package/dashboard-app/tsconfig.node.json +26 -0
  91. package/dashboard-app/vite.config.ts +7 -0
  92. package/package.json +116 -0
  93. package/scripts/README.md +70 -0
  94. package/scripts/audit-check.sh +125 -0
  95. package/scripts/calibration-report.sh +198 -0
  96. package/scripts/check-readiness.sh +155 -0
  97. package/scripts/collect-metrics.sh +116 -0
  98. package/scripts/command-manifest.yml +131 -0
  99. package/scripts/create-test-plan-issue.sh +110 -0
  100. package/scripts/dashboard-start.sh +16 -0
  101. package/scripts/deploy.sh +170 -0
  102. package/scripts/drift-check.sh +93 -0
  103. package/scripts/execute-rollback.sh +177 -0
  104. package/scripts/export-dashboard-json.js +208 -0
  105. package/scripts/fix-intents.sh +239 -0
  106. package/scripts/generate-dashboard.sh +136 -0
  107. package/scripts/generate-docs.sh +279 -0
  108. package/scripts/generate-project-context.sh +142 -0
  109. package/scripts/generate-release-plan.sh +443 -0
  110. package/scripts/generate-roadmap.sh +189 -0
  111. package/scripts/generate-system-state.sh +95 -0
  112. package/scripts/gh/create-intent-from-issue.sh +82 -0
  113. package/scripts/gh/create-issue-from-intent.sh +59 -0
  114. package/scripts/gh/create-pr.sh +41 -0
  115. package/scripts/gh/link-issue.sh +44 -0
  116. package/scripts/gh/on-ship-update-issue.sh +42 -0
  117. package/scripts/headless/README.md +8 -0
  118. package/scripts/headless/call-llm.js +109 -0
  119. package/scripts/headless/run-phase.sh +99 -0
  120. package/scripts/help.sh +271 -0
  121. package/scripts/init-project.sh +976 -0
  122. package/scripts/kill-intent.sh +125 -0
  123. package/scripts/lib/common.sh +29 -0
  124. package/scripts/lib/intent.sh +61 -0
  125. package/scripts/lib/progress.sh +57 -0
  126. package/scripts/lib/suggest-next.sh +131 -0
  127. package/scripts/lib/validate-intents.sh +240 -0
  128. package/scripts/lib/verify-outputs.sh +55 -0
  129. package/scripts/lib/workflow_state.sh +201 -0
  130. package/scripts/new-intent.sh +271 -0
  131. package/scripts/publish-npm.sh +28 -0
  132. package/scripts/scope-project.sh +380 -0
  133. package/scripts/setup-worktrees.sh +125 -0
  134. package/scripts/status.sh +278 -0
  135. package/scripts/suggest.sh +173 -0
  136. package/scripts/test-headless.sh +47 -0
  137. package/scripts/test-shipit.sh +52 -0
  138. package/scripts/test-workflow-state.sh +49 -0
  139. package/scripts/usage-report.sh +47 -0
  140. package/scripts/usage.sh +58 -0
  141. package/scripts/validate-cursor.sh +151 -0
  142. package/scripts/validate-project.sh +71 -0
  143. package/scripts/validate-vscode.sh +146 -0
  144. package/scripts/verify.sh +153 -0
  145. package/scripts/workflow-orchestrator.sh +97 -0
  146. package/scripts/workflow-templates/01_analysis.md.tpl +25 -0
  147. package/scripts/workflow-templates/02_plan.md.tpl +30 -0
  148. package/scripts/workflow-templates/03_implementation.md.tpl +25 -0
  149. package/scripts/workflow-templates/04_verification.md.tpl +29 -0
  150. package/scripts/workflow-templates/05_release_notes.md.tpl +16 -0
  151. package/scripts/workflow-templates/05_verification_legacy.md.tpl +6 -0
  152. package/scripts/workflow-templates/active.md.tpl +18 -0
  153. package/scripts/workflow-templates/phases.yml +39 -0
  154. package/stryker.conf.json +8 -0
  155. package/work/intent/templates/api-endpoint.md +124 -0
  156. package/work/intent/templates/bugfix.md +116 -0
  157. package/work/intent/templates/frontend-feature.md +115 -0
  158. package/work/intent/templates/generic.md +122 -0
  159. package/work/intent/templates/infra-change.md +121 -0
  160. package/work/intent/templates/refactor.md +116 -0
@@ -0,0 +1,271 @@
1
+ #!/bin/bash
2
+
3
+ # Context-aware help system for ShipIt
4
+ # Shows help for commands or general guidance
5
+
6
+ set -euo pipefail
7
+
8
+ # Colors
9
+ GREEN='\033[0;32m'
10
+ YELLOW='\033[1;33m'
11
+ BLUE='\033[0;34m'
12
+ CYAN='\033[0;36m'
13
+ NC='\033[0m'
14
+
15
+ COMMAND="${1:-}"
16
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
17
+ MANIFEST="${SCRIPT_DIR}/command-manifest.yml"
18
+
19
+ show_general_help() {
20
+ echo -e "${BLUE}ShipIt Help${NC}"
21
+ echo ""
22
+ echo "Available commands:"
23
+ echo ""
24
+ last_cat=""
25
+ while IFS='|' read -r cat slash desc; do
26
+ [ -z "$cat" ] && continue
27
+ if [ "$cat" != "$last_cat" ]; then
28
+ [ -n "$last_cat" ] && echo ""
29
+ echo -e "${CYAN}${cat}:${NC}"
30
+ last_cat="$cat"
31
+ fi
32
+ echo " $slash - $desc"
33
+ done < <(env MANIFEST="$MANIFEST" node -e "
34
+ const yaml = require('yaml');
35
+ const fs = require('fs');
36
+ const path = require('path');
37
+ const manifestPath = process.env.MANIFEST || path.join(process.cwd(), 'scripts/command-manifest.yml');
38
+ const manifest = yaml.parse(fs.readFileSync(manifestPath, 'utf8'));
39
+ for (const cmd of manifest.commands || []) {
40
+ const slash = cmd.slash || '';
41
+ const desc = cmd.description || '';
42
+ const cat = cmd.category || 'Other';
43
+ console.log(cat + '|' + slash + '|' + desc);
44
+ }
45
+ " 2>/dev/null)
46
+ echo ""
47
+ echo "Use /help <command> for detailed help on a specific command."
48
+ }
49
+
50
+ show_command_help() {
51
+ case "$COMMAND" in
52
+ init-project|init_project)
53
+ echo -e "${BLUE}/init-project${NC}"
54
+ echo ""
55
+ echo "Initialize a new ShipIt project with full framework setup."
56
+ echo ""
57
+ echo "Usage: /init-project [project-name]"
58
+ echo ""
59
+ echo "Prompts for:"
60
+ echo " - Tech stack (TypeScript/Node.js, Python, Other)"
61
+ echo " - Project description"
62
+ echo " - High-risk domains"
63
+ echo ""
64
+ echo "Creates:"
65
+ echo " - Project structure with all directories"
66
+ echo " - Configuration files (package.json, tsconfig.json, etc.)"
67
+ echo " - Framework commands and rules"
68
+ echo " - Initial intent template"
69
+ ;;
70
+ scope-project|scope_project)
71
+ echo -e "${BLUE}/scope-project${NC}"
72
+ echo ""
73
+ echo "AI-assisted project scoping that breaks down a project into features."
74
+ echo ""
75
+ echo "Usage: /scope-project \"project description\""
76
+ echo ""
77
+ echo "Interactive prompts:"
78
+ echo " - UI type (API-only, CLI, Web)"
79
+ echo " - Persistence (JSON file, SQLite, etc.)"
80
+ echo " - User model (single-user, multi-user)"
81
+ echo " - Authentication requirements"
82
+ echo " - Non-functional requirements"
83
+ echo " - Feature candidates"
84
+ echo ""
85
+ echo "Outputs:"
86
+ echo " - project-scope.md with answers"
87
+ echo " - Generated intent files"
88
+ echo " - Updated roadmap and release plan"
89
+ ;;
90
+ new_intent|new-intent)
91
+ echo -e "${BLUE}/new_intent${NC}"
92
+ echo ""
93
+ echo "Interactive wizard to create a new intent file."
94
+ echo ""
95
+ echo "Usage: /new_intent"
96
+ echo ""
97
+ echo "Prompts for:"
98
+ echo " - Intent type (Feature, Bug, Tech Debt)"
99
+ echo " - Title"
100
+ echo " - Motivation (why it exists)"
101
+ echo " - Priority (p0-p3)"
102
+ echo " - Effort (s/m/l)"
103
+ echo " - Release Target (R1-R4)"
104
+ echo " - Dependencies (other intent IDs)"
105
+ echo " - Risk Level (low/medium/high)"
106
+ echo ""
107
+ echo "Creates: work/intent/<id>.md with all fields filled in."
108
+ ;;
109
+ ship)
110
+ echo -e "${BLUE}/ship${NC}"
111
+ echo ""
112
+ echo "Run the full SDLC workflow for an intent (6 phases)."
113
+ echo ""
114
+ echo "Usage: /ship <intent-id>"
115
+ echo ""
116
+ echo "Phases:"
117
+ echo " 1. Analysis (PM) - Requirements clarification"
118
+ echo " 2. Planning (Architect) - Technical design (requires approval)"
119
+ echo " 3. Tests (QA) - Write tests first"
120
+ echo " 4. Implementation (Implementer) - Write code"
121
+ echo " 5. Verification (QA + Security) - Validate everything"
122
+ echo " 6. Release (Docs + Steward) - Documentation and approval"
123
+ echo ""
124
+ echo "Creates workflow-state files for each phase."
125
+ ;;
126
+ verify)
127
+ echo -e "${BLUE}/verify${NC}"
128
+ echo ""
129
+ echo "Re-run the verification phase for an intent."
130
+ echo ""
131
+ echo "Usage: /verify <intent-id>"
132
+ echo ""
133
+ echo "Runs:"
134
+ echo " - Test suite"
135
+ echo " - Mutation testing"
136
+ echo " - Security audit"
137
+ echo " - Code review"
138
+ echo ""
139
+ echo "Updates work/workflow-state/04_verification.md"
140
+ ;;
141
+ kill)
142
+ echo -e "${BLUE}/kill${NC}"
143
+ echo ""
144
+ echo "Kill an intent with rationale."
145
+ echo ""
146
+ echo "Usage: /kill <intent-id>"
147
+ echo ""
148
+ echo "Prompts for:"
149
+ echo " - Kill rationale (why it's being killed)"
150
+ echo ""
151
+ echo "Updates:"
152
+ echo " - Intent status → killed"
153
+ echo " - Adds kill rationale section"
154
+ echo " - Updates work/workflow-state/active.md"
155
+ ;;
156
+ generate-release-plan|generate_release_plan)
157
+ echo -e "${BLUE}/generate-release-plan${NC}"
158
+ echo ""
159
+ echo "Generate release plan from intents with dependency ordering."
160
+ echo ""
161
+ echo "Usage: /generate-release-plan"
162
+ echo ""
163
+ echo "Outputs: work/release/plan.md with:"
164
+ echo " - Intents grouped by release (R1-R4)"
165
+ echo " - Dependency-ordered within each release"
166
+ echo " - Missing dependencies section"
167
+ echo " - Excluded intents (shipped/killed)"
168
+ ;;
169
+ generate-roadmap|generate_roadmap)
170
+ echo -e "${BLUE}/generate-roadmap${NC}"
171
+ echo ""
172
+ echo "Generate roadmap files (now/next/later) from intents."
173
+ echo ""
174
+ echo "Usage: /generate-roadmap"
175
+ echo ""
176
+ echo "Outputs:"
177
+ echo " - work/roadmap/now.md (intents with no dependencies)"
178
+ echo " - work/roadmap/next.md (intents with dependencies)"
179
+ echo " - work/roadmap/later.md (blocked/backlog)"
180
+ ;;
181
+ deploy)
182
+ echo -e "${BLUE}/deploy${NC}"
183
+ echo ""
184
+ echo "Deploy with readiness checks."
185
+ echo ""
186
+ echo "Usage: /deploy [environment]"
187
+ echo ""
188
+ echo "Runs readiness checks:"
189
+ echo " - Tests pass"
190
+ echo " - Typecheck passes"
191
+ echo " - Lint passes"
192
+ echo " - Security audit"
193
+ echo ""
194
+ echo "Requires Steward approval for high-risk domains."
195
+ ;;
196
+ drift_check|drift-check)
197
+ echo -e "${BLUE}/drift_check${NC}"
198
+ echo ""
199
+ echo "Check for entropy/decay in the project."
200
+ echo ""
201
+ echo "Usage: /drift_check"
202
+ echo ""
203
+ echo "Calculates metrics and updates _system/drift/metrics.md"
204
+ ;;
205
+ status)
206
+ echo -e "${BLUE}/status${NC}"
207
+ echo ""
208
+ echo "Show current project status."
209
+ echo ""
210
+ echo "Usage: /status"
211
+ echo ""
212
+ echo "Shows:"
213
+ echo " - Active intent (if any)"
214
+ echo " - Current workflow phase"
215
+ echo " - Intent counts by status"
216
+ echo " - Recent activity"
217
+ ;;
218
+ suggest)
219
+ echo -e "${BLUE}/suggest${NC}"
220
+ echo ""
221
+ echo "Get suggested next actions based on current state."
222
+ echo ""
223
+ echo "Usage: /suggest"
224
+ echo ""
225
+ echo "Suggests actions like:"
226
+ echo " - Create new intent"
227
+ echo " - Continue workflow for active intent"
228
+ echo " - Review pending approvals"
229
+ echo " - Update release plan"
230
+ ;;
231
+ pr)
232
+ echo -e "${BLUE}/pr${NC}"
233
+ echo ""
234
+ echo "Generate PR summary and checklist for an intent."
235
+ echo ""
236
+ echo "Usage: /pr <intent-id>"
237
+ echo ""
238
+ echo "Writes work/workflow-state/pr.md"
239
+ ;;
240
+ risk)
241
+ echo -e "${BLUE}/risk${NC}"
242
+ echo ""
243
+ echo "Force a focused security/threat skim for an intent."
244
+ echo ""
245
+ echo "Usage: /risk <intent-id>"
246
+ echo ""
247
+ echo "Writes work/workflow-state/04_verification.md (Security section)"
248
+ ;;
249
+ revert-plan|revert_plan)
250
+ echo -e "${BLUE}/revert-plan${NC}"
251
+ echo ""
252
+ echo "Write a rollback plan for an intent."
253
+ echo ""
254
+ echo "Usage: /revert-plan <intent-id>"
255
+ echo ""
256
+ echo "Writes work/workflow-state/rollback.md"
257
+ ;;
258
+ *)
259
+ echo -e "${YELLOW}Unknown command: $COMMAND${NC}"
260
+ echo ""
261
+ show_general_help
262
+ exit 1
263
+ ;;
264
+ esac
265
+ }
266
+
267
+ if [ -z "$COMMAND" ]; then
268
+ show_general_help
269
+ else
270
+ show_command_help
271
+ fi