@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,28 @@
|
|
|
1
|
+
# /create-intent-from-issue
|
|
2
|
+
|
|
3
|
+
Create a new intent from an existing GitHub issue (fetch title/body, create intent file, set GitHub issue link).
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/create-intent-from-issue <issue-number>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Example: `/create-intent-from-issue 42`
|
|
12
|
+
|
|
13
|
+
## What It Does
|
|
14
|
+
|
|
15
|
+
1. Fetches the issue with `gh issue view <number> --json title,body,number`.
|
|
16
|
+
2. Creates a new intent file under `work/intent/features/` with the next F-XXX ID.
|
|
17
|
+
3. Sets the intent title from the issue title, motivation from the issue body.
|
|
18
|
+
4. Writes `## GitHub issue` with `#<number>` in the new intent file.
|
|
19
|
+
|
|
20
|
+
## Prerequisites
|
|
21
|
+
|
|
22
|
+
- `gh` CLI installed and authenticated.
|
|
23
|
+
- `jq` installed (for parsing JSON from gh).
|
|
24
|
+
|
|
25
|
+
## Instructions
|
|
26
|
+
|
|
27
|
+
1. Run: `pnpm create-intent-from-issue <issue-number>` (or `./scripts/gh/create-intent-from-issue.sh <issue-number>`).
|
|
28
|
+
2. The script creates e.g. `work/intent/features/F-001.md` with content derived from the issue and links it via the GitHub issue section.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# /create-pr
|
|
2
|
+
|
|
3
|
+
Generate a PR summary (if needed) and create a GitHub PR for the current intent.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/create-pr <intent-id>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Example: `/create-pr F-001`
|
|
12
|
+
|
|
13
|
+
## What It Does
|
|
14
|
+
|
|
15
|
+
1. Ensures `work/workflow-state/pr.md` exists (or `work/workflow-state/<intent-id>/pr.md` for per-intent layout). If missing, the user should run `/pr <intent-id>` first.
|
|
16
|
+
2. Runs `pnpm gh-create-pr <intent-id>` (or `./scripts/gh/create-pr.sh <intent-id>`) to create a GitHub PR with the PR body from that file.
|
|
17
|
+
|
|
18
|
+
## Prerequisites
|
|
19
|
+
|
|
20
|
+
- `gh` CLI installed and authenticated.
|
|
21
|
+
- Current branch has commits to push (PR will be created from current branch).
|
|
22
|
+
- Intent has workflow state and `/pr` has been run so pr.md exists.
|
|
23
|
+
|
|
24
|
+
## Instructions
|
|
25
|
+
|
|
26
|
+
1. If `work/workflow-state/pr.md` (or `work/workflow-state/<intent-id>/pr.md`) does not exist, run `/pr <intent-id>` first to generate it.
|
|
27
|
+
2. Run: `pnpm gh-create-pr <intent-id>` (or `./scripts/gh/create-pr.sh <intent-id>`).
|
|
28
|
+
3. The script creates the PR with title from the intent and body from pr.md.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# /dashboard
|
|
2
|
+
|
|
3
|
+
Start the ShipIt web dashboard.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/dashboard
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or from CLI: `pnpm dashboard`
|
|
12
|
+
|
|
13
|
+
## What It Does
|
|
14
|
+
|
|
15
|
+
1. Runs `pnpm export-dashboard` to export intents, workflow state, calibration, drift, and doc links to `dashboard-app/public/dashboard.json`
|
|
16
|
+
2. Starts the dashboard dev server (Vite + React)
|
|
17
|
+
3. Opens the dashboard in your browser (or visit the URL shown)
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
- View intents (planned/active/shipped/killed) at a glance
|
|
22
|
+
- See current phase and active intent
|
|
23
|
+
- Check "waiting for approval" status for human gates
|
|
24
|
+
- View confidence calibration metrics
|
|
25
|
+
- Access documentation links
|
|
26
|
+
- Monitor drift metrics
|
|
27
|
+
|
|
28
|
+
## Data Source
|
|
29
|
+
|
|
30
|
+
Read-only. Data is sourced from:
|
|
31
|
+
|
|
32
|
+
- work/intent/
|
|
33
|
+
- work/workflow-state/
|
|
34
|
+
- \_system/artifacts/ (confidence-calibration.json, usage.json)
|
|
35
|
+
- \_system/drift/metrics.md
|
|
36
|
+
|
|
37
|
+
## Refresh
|
|
38
|
+
|
|
39
|
+
The dashboard has a "Refresh" button that reloads the JSON. For fresh data, restart `pnpm dashboard` so the export runs again before the UI loads.
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# /deploy
|
|
2
|
+
|
|
3
|
+
Deploy project to production with automated readiness checks and deployment.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/deploy [environment]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Example: `/deploy production`
|
|
12
|
+
|
|
13
|
+
## What It Does
|
|
14
|
+
|
|
15
|
+
This command performs production deployment:
|
|
16
|
+
|
|
17
|
+
1. **Production Readiness Checks:**
|
|
18
|
+
- All tests pass
|
|
19
|
+
- Coverage thresholds met
|
|
20
|
+
- Security audit clean
|
|
21
|
+
- No high-risk issues
|
|
22
|
+
- Documentation complete
|
|
23
|
+
- No blocking drift violations
|
|
24
|
+
|
|
25
|
+
2. **Deployment Configuration:**
|
|
26
|
+
- Environment setup
|
|
27
|
+
- Configuration validation
|
|
28
|
+
- Secrets management check
|
|
29
|
+
|
|
30
|
+
3. **Deployment Execution:**
|
|
31
|
+
- Run deployment scripts
|
|
32
|
+
- Health checks
|
|
33
|
+
- Rollback preparation
|
|
34
|
+
|
|
35
|
+
4. **Post-Deployment:**
|
|
36
|
+
- Validation
|
|
37
|
+
- Monitoring setup
|
|
38
|
+
- Deployment history tracking
|
|
39
|
+
|
|
40
|
+
## Process
|
|
41
|
+
|
|
42
|
+
**Switch to Steward role** (read `.cursor/rules/steward.mdc`):
|
|
43
|
+
|
|
44
|
+
### Step 1: Pre-Deployment Checks
|
|
45
|
+
|
|
46
|
+
1. **Test Suite:**
|
|
47
|
+
- Run: `pnpm test` (or equivalent)
|
|
48
|
+
- Verify all tests pass
|
|
49
|
+
- Check coverage: `pnpm test:coverage`
|
|
50
|
+
- Verify coverage >= threshold (from `project.json`)
|
|
51
|
+
|
|
52
|
+
2. **Code Quality:**
|
|
53
|
+
- Run: `pnpm lint && pnpm typecheck`
|
|
54
|
+
- Verify no errors
|
|
55
|
+
- Check for blocking issues
|
|
56
|
+
|
|
57
|
+
3. **Security Audit:**
|
|
58
|
+
- Run: `pnpm audit` (or equivalent)
|
|
59
|
+
- Check for high/critical vulnerabilities
|
|
60
|
+
- Verify no secrets in code
|
|
61
|
+
- Review high-risk domain changes
|
|
62
|
+
|
|
63
|
+
4. **Documentation:**
|
|
64
|
+
- Verify README is up to date
|
|
65
|
+
- Check CHANGELOG has entries
|
|
66
|
+
- Verify API docs (if applicable)
|
|
67
|
+
- Check deployment docs exist
|
|
68
|
+
|
|
69
|
+
5. **Drift Check:**
|
|
70
|
+
- Run: `pnpm drift-check`
|
|
71
|
+
- Review drift metrics
|
|
72
|
+
- Verify no critical drift violations
|
|
73
|
+
|
|
74
|
+
6. **Invariants:**
|
|
75
|
+
- Verify `_system/architecture/invariants.yml` is valid
|
|
76
|
+
- Check no invariant violations
|
|
77
|
+
- Review architecture canon compliance
|
|
78
|
+
|
|
79
|
+
### Step 2: Deployment Configuration
|
|
80
|
+
|
|
81
|
+
1. **Environment Selection:**
|
|
82
|
+
- Determine target environment (dev/staging/prod)
|
|
83
|
+
- Load environment-specific config
|
|
84
|
+
- Validate configuration
|
|
85
|
+
|
|
86
|
+
2. **Secrets Check:**
|
|
87
|
+
- Verify required secrets are available
|
|
88
|
+
- Check secrets are not in code
|
|
89
|
+
- Validate secret format
|
|
90
|
+
|
|
91
|
+
3. **Infrastructure:**
|
|
92
|
+
- Check infrastructure is ready
|
|
93
|
+
- Verify resources are available
|
|
94
|
+
- Check quotas/limits
|
|
95
|
+
|
|
96
|
+
### Step 3: Deployment Execution
|
|
97
|
+
|
|
98
|
+
1. **Pre-Deployment:**
|
|
99
|
+
- Create deployment backup
|
|
100
|
+
- Tag current version
|
|
101
|
+
- Prepare rollback plan
|
|
102
|
+
|
|
103
|
+
2. **Deploy:**
|
|
104
|
+
- Run deployment scripts
|
|
105
|
+
- Monitor deployment progress
|
|
106
|
+
- Check for errors
|
|
107
|
+
|
|
108
|
+
3. **Post-Deployment:**
|
|
109
|
+
- Run health checks
|
|
110
|
+
- Verify endpoints are responding
|
|
111
|
+
- Check logs for errors
|
|
112
|
+
- Validate functionality
|
|
113
|
+
|
|
114
|
+
### Step 4: Validation & Tracking
|
|
115
|
+
|
|
116
|
+
1. **Validation:**
|
|
117
|
+
- Run smoke tests
|
|
118
|
+
- Check critical paths
|
|
119
|
+
- Verify metrics are being collected
|
|
120
|
+
|
|
121
|
+
2. **Documentation:**
|
|
122
|
+
- Update deployment history
|
|
123
|
+
- Record deployment time
|
|
124
|
+
- Note any issues
|
|
125
|
+
|
|
126
|
+
3. **Monitoring:**
|
|
127
|
+
- Verify monitoring is active
|
|
128
|
+
- Check alerts are configured
|
|
129
|
+
- Validate dashboards
|
|
130
|
+
|
|
131
|
+
## Output
|
|
132
|
+
|
|
133
|
+
Creates:
|
|
134
|
+
|
|
135
|
+
- Deployment log
|
|
136
|
+
- Deployment history entry
|
|
137
|
+
- Rollback instructions (if needed)
|
|
138
|
+
|
|
139
|
+
## Rollback
|
|
140
|
+
|
|
141
|
+
If deployment fails:
|
|
142
|
+
|
|
143
|
+
1. Run rollback script
|
|
144
|
+
2. Restore previous version
|
|
145
|
+
3. Verify system is stable
|
|
146
|
+
4. Document failure reason
|
|
147
|
+
|
|
148
|
+
## See Also
|
|
149
|
+
|
|
150
|
+
- `scripts/deploy.sh` - Deployment script
|
|
151
|
+
- `scripts/check-readiness.sh` - Readiness checks
|
|
152
|
+
- `project.json` - Project settings
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# /drift_check
|
|
2
|
+
|
|
3
|
+
Calculate and record drift metrics to detect system entropy.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/drift_check
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
Runs the drift metrics script and updates `_system/drift/metrics.md` with:
|
|
14
|
+
|
|
15
|
+
1. **PR Size Trend** - Average files changed in last 20 PRs
|
|
16
|
+
2. **Test-to-Code Ratio** - Ratio of test lines to code lines
|
|
17
|
+
3. **Dependency Growth** - Count of dependencies and devDependencies
|
|
18
|
+
4. **Untracked New Concepts** - New files without corresponding intents
|
|
19
|
+
5. **CI Performance** - Time-to-green metrics (manual update)
|
|
20
|
+
|
|
21
|
+
## Output
|
|
22
|
+
|
|
23
|
+
Updates `_system/drift/metrics.md` with current metrics and compares against baselines in `_system/drift/baselines.md`.
|
|
24
|
+
|
|
25
|
+
## When to Use
|
|
26
|
+
|
|
27
|
+
- Weekly automated check (via CI)
|
|
28
|
+
- Before major releases
|
|
29
|
+
- When investigating system entropy
|
|
30
|
+
- After significant refactoring
|
|
31
|
+
|
|
32
|
+
## See Also
|
|
33
|
+
|
|
34
|
+
- `scripts/drift-check.sh` - The underlying script
|
|
35
|
+
- `_system/drift/baselines.md` - Baseline thresholds
|
|
36
|
+
- `_system/drift/metrics.md` - Current metrics
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# /fix
|
|
2
|
+
|
|
3
|
+
Detect and auto-fix common intent issues.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/fix
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
1. **Scans all intent files** for common issues:
|
|
14
|
+
- Dependency ordering conflicts (dependency in later release than dependent)
|
|
15
|
+
- Whitespace formatting issues in dependency lists
|
|
16
|
+
- Missing dependencies (referenced but don't exist)
|
|
17
|
+
- Circular dependencies
|
|
18
|
+
|
|
19
|
+
2. **Shows preview** of all issues found with fix suggestions
|
|
20
|
+
|
|
21
|
+
3. **Prompts for confirmation** before applying fixes
|
|
22
|
+
|
|
23
|
+
4. **Auto-fixes** issues where possible:
|
|
24
|
+
- Normalizes whitespace in dependency lists
|
|
25
|
+
- Moves dependencies to correct release targets
|
|
26
|
+
- Flags issues requiring manual intervention (missing deps, circular deps)
|
|
27
|
+
|
|
28
|
+
## Output
|
|
29
|
+
|
|
30
|
+
Shows:
|
|
31
|
+
- List of issues found
|
|
32
|
+
- Fix suggestions for each issue
|
|
33
|
+
- Confirmation prompt
|
|
34
|
+
- Summary of fixes applied
|
|
35
|
+
|
|
36
|
+
## See Also
|
|
37
|
+
|
|
38
|
+
- `scripts/fix-intents.sh` - Underlying script
|
|
39
|
+
- `scripts/lib/validate-intents.sh` - Validation library
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# /generate-release-plan
|
|
2
|
+
|
|
3
|
+
Generate a release plan from intents (priorities, dependencies, and status).
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/generate-release-plan
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
1. **Reads intents:**
|
|
14
|
+
- Scans `work/intent/` for intent files
|
|
15
|
+
- Extracts priority, effort, status, dependencies
|
|
16
|
+
2. **Plans releases:**
|
|
17
|
+
- Orders intents by dependency and priority
|
|
18
|
+
- Buckets into releases (R1, R2, R3)
|
|
19
|
+
3. **Writes output:**
|
|
20
|
+
- Creates `work/release/plan.md`
|
|
21
|
+
- Lists missing dependencies and exclusions
|
|
22
|
+
|
|
23
|
+
## Output
|
|
24
|
+
|
|
25
|
+
Creates:
|
|
26
|
+
|
|
27
|
+
- `work/release/plan.md` - Ordered release plan with dependencies
|
|
28
|
+
|
|
29
|
+
## See Also
|
|
30
|
+
|
|
31
|
+
- `scripts/generate-release-plan.sh` - Underlying script
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# /generate-roadmap
|
|
2
|
+
|
|
3
|
+
Regenerate roadmap files from current intents.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/generate-roadmap
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What To Do
|
|
12
|
+
|
|
13
|
+
Run this command in the terminal:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
./scripts/generate-roadmap.sh
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Or if `pnpm` scripts are set up:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pnpm generate-roadmap
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Output
|
|
26
|
+
|
|
27
|
+
Updates these files based on intent status and dependencies:
|
|
28
|
+
|
|
29
|
+
- `work/roadmap/now.md` — Intents with no unmet dependencies (ready to work on)
|
|
30
|
+
- `work/roadmap/next.md` — Intents with dependencies on "Now" items
|
|
31
|
+
- `work/roadmap/later.md` — Intents with deeper dependency chains or lower priority
|
|
32
|
+
- `_system/artifacts/dependencies.md` — Dependency graph visualization
|
|
33
|
+
|
|
34
|
+
## When To Use
|
|
35
|
+
|
|
36
|
+
- After creating or modifying intents
|
|
37
|
+
- After changing intent status or dependencies
|
|
38
|
+
- To verify roadmap reflects current state
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# /help
|
|
2
|
+
|
|
3
|
+
Show context-aware help for ShipIt commands.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/help [command]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
If no command is specified, shows a list of all available commands.
|
|
12
|
+
|
|
13
|
+
If a command is specified, shows detailed help for that command.
|
|
14
|
+
|
|
15
|
+
## Examples
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
/help # Show all commands
|
|
19
|
+
/help ship # Show help for /ship
|
|
20
|
+
/help new_intent # Show help for /new_intent
|
|
21
|
+
/help generate-roadmap # Show help for /generate-roadmap
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Available Commands
|
|
25
|
+
|
|
26
|
+
- `/init-project` - Initialize a new ShipIt project
|
|
27
|
+
- `/scope-project` - AI-assisted feature breakdown
|
|
28
|
+
- `/new_intent` - Create a new intent (interactive wizard)
|
|
29
|
+
- `/ship` - Run full SDLC workflow
|
|
30
|
+
- `/verify` - Re-run verification phase
|
|
31
|
+
- `/kill` - Kill an intent
|
|
32
|
+
- `/generate-release-plan` - Build release plan
|
|
33
|
+
- `/generate-roadmap` - Generate roadmap
|
|
34
|
+
- `/deploy` - Deploy with readiness checks
|
|
35
|
+
- `/drift_check` - Check for entropy
|
|
36
|
+
- `/status` - Show project status
|
|
37
|
+
- `/suggest` - Get suggested next actions
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# /init-project
|
|
2
|
+
|
|
3
|
+
> **⚠️ DEPRECATED for user projects:** This command is deprecated for creating user projects. Use the ShipIt CLI instead:
|
|
4
|
+
>
|
|
5
|
+
> - `create-shipit-app <project-name>` - Create a new ShipIt project
|
|
6
|
+
> - `shipit init` - Attach ShipIt to an existing project
|
|
7
|
+
>
|
|
8
|
+
> **Internal use only:** This command is now only used internally by the framework to create `tests/test-project/` for end-to-end testing.
|
|
9
|
+
|
|
10
|
+
## Internal Use (Framework Testing)
|
|
11
|
+
|
|
12
|
+
This command is used internally to create the test project at `tests/test-project/` for ShipIt framework validation.
|
|
13
|
+
|
|
14
|
+
**Usage (internal only):**
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
./scripts/init-project.sh shipit-test
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
This creates `tests/test-project/` with test fixtures from `tests/fixtures.json`. The script:
|
|
21
|
+
|
|
22
|
+
- Only works when run from ShipIt framework repo root
|
|
23
|
+
- Reads test values from `tests/fixtures.json` (no prompts)
|
|
24
|
+
- Creates test project at `tests/test-project/` (fixed location)
|
|
25
|
+
|
|
26
|
+
**For user projects:** Use `create-shipit-app` or `shipit init` instead.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# /kill
|
|
2
|
+
|
|
3
|
+
Kill an intent with rationale and rollback notes.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/kill <intent-id> [reason]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Example: `/kill F-042 "Cannot satisfy latency invariant"`
|
|
12
|
+
|
|
13
|
+
## What It Does
|
|
14
|
+
|
|
15
|
+
1. **Marks intent as killed:**
|
|
16
|
+
- Updates intent file: `status: killed`
|
|
17
|
+
- Records kill date and reason
|
|
18
|
+
|
|
19
|
+
2. **Documents rationale:**
|
|
20
|
+
- Which kill criteria were triggered
|
|
21
|
+
- Why the intent cannot proceed
|
|
22
|
+
- What was attempted
|
|
23
|
+
|
|
24
|
+
3. **Rollback notes:**
|
|
25
|
+
- What needs to be reverted (if implementation started)
|
|
26
|
+
- Database migrations to roll back
|
|
27
|
+
- Feature flags to disable
|
|
28
|
+
|
|
29
|
+
4. **Updates workflow state:**
|
|
30
|
+
- Marks `work/workflow-state/active.md` as killed
|
|
31
|
+
- Archives state files
|
|
32
|
+
|
|
33
|
+
## Script
|
|
34
|
+
|
|
35
|
+
Run:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
./scripts/kill-intent.sh <intent-id> [reason]
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Kill Criteria
|
|
42
|
+
|
|
43
|
+
An intent is killed when ANY of these trigger:
|
|
44
|
+
|
|
45
|
+
- Cannot satisfy latency invariant without major redesign
|
|
46
|
+
- Requires breaking schema compatibility beyond allowed versions
|
|
47
|
+
- Adds >20% complexity to core execution path
|
|
48
|
+
- Conflicts with architecture canon
|
|
49
|
+
- Requires >N days without progress
|
|
50
|
+
- Cost exceeds budget by >X%
|
|
51
|
+
|
|
52
|
+
## Output
|
|
53
|
+
|
|
54
|
+
Updates the intent file at `work/intent/**/<intent-id>.md` (based on type):
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
## Status
|
|
58
|
+
|
|
59
|
+
killed
|
|
60
|
+
|
|
61
|
+
## Kill Rationale
|
|
62
|
+
|
|
63
|
+
- Kill criterion: Cannot satisfy latency invariant
|
|
64
|
+
- Reason: [detailed explanation]
|
|
65
|
+
- Date: 2026-01-12
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Who Can Kill
|
|
69
|
+
|
|
70
|
+
- **Steward:** Can kill any intent
|
|
71
|
+
- **Any agent:** Can propose kill (Steward decides)
|
|
72
|
+
- **Human:** Can override any kill decision
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# /new_intent
|
|
2
|
+
|
|
3
|
+
Interactive wizard to create a new intent file.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/new_intent
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
This command will guide you through creating a new intent with an interactive wizard.
|
|
12
|
+
|
|
13
|
+
## Interactive Prompts
|
|
14
|
+
|
|
15
|
+
The wizard will ask for:
|
|
16
|
+
|
|
17
|
+
1. **Intent Type** - Feature (F-###), Bug (B-###), or Tech Debt (T-###)
|
|
18
|
+
2. **Template (optional)** - Generic (default), API endpoint, Frontend feature, Infra change, Bugfix, Refactor. Kind-specific templates add sections and prompts (e.g. API: path/method, schema; Bugfix: reproduction, root cause).
|
|
19
|
+
3. **Title** - Short, descriptive title
|
|
20
|
+
4. **Motivation** - Why it exists (1-3 bullets, type 'done' when finished)
|
|
21
|
+
5. **Priority** - p0 (Critical), p1 (High), p2 (Medium), p3 (Low)
|
|
22
|
+
6. **Effort** - Small (s), Medium (m), Large (l)
|
|
23
|
+
7. **Release Target** - R1 (Next), R2 (Following), R3 (Future), R4 (Backlog)
|
|
24
|
+
8. **Dependencies** - Other intent IDs (e.g., F-001, F-002) or 'none'
|
|
25
|
+
9. **Risk Level** - Low, Medium, High
|
|
26
|
+
|
|
27
|
+
## What It Creates
|
|
28
|
+
|
|
29
|
+
- New intent file (by type):
|
|
30
|
+
- Feature: `work/intent/features/<intent-id>.md`
|
|
31
|
+
- Bug: `work/intent/bugs/<intent-id>.md`
|
|
32
|
+
- Tech debt: `work/intent/tech-debt/<intent-id>.md`
|
|
33
|
+
- All fields pre-filled based on your inputs
|
|
34
|
+
- Automatically regenerates roadmap files
|
|
35
|
+
- Automatically regenerates release plan
|
|
36
|
+
|
|
37
|
+
## Example
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
/new_intent
|
|
41
|
+
→ Intent Type: [1] Feature
|
|
42
|
+
→ Title: Add user authentication
|
|
43
|
+
→ Motivation: [Enter bullets, type 'done']
|
|
44
|
+
→ Priority: [2] p1
|
|
45
|
+
→ Effort: [2] Medium
|
|
46
|
+
→ Release Target: [1] R1
|
|
47
|
+
→ Dependencies: F-001, F-002 [or 'none']
|
|
48
|
+
→ Risk Level: [3] High
|
|
49
|
+
|
|
50
|
+
✓ Intent created successfully!
|
|
51
|
+
ID: F-003
|
|
52
|
+
Title: Add user authentication
|
|
53
|
+
...
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Next Steps
|
|
57
|
+
|
|
58
|
+
After creating an intent:
|
|
59
|
+
|
|
60
|
+
1. Review the generated file
|
|
61
|
+
2. Fill in acceptance criteria, invariants, and other details
|
|
62
|
+
3. Run `/ship <intent-id>` to start the workflow
|
|
63
|
+
|
|
64
|
+
## Related Commands
|
|
65
|
+
|
|
66
|
+
- `/ship <id>` - Start working on an intent
|
|
67
|
+
- `/status` - See all intents and their status
|
|
68
|
+
- `/help new_intent` - Detailed help
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# /pr
|
|
2
|
+
|
|
3
|
+
Generate a pull request description and checklist for an intent.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/pr <intent-id>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Example: `/pr F-042`
|
|
12
|
+
|
|
13
|
+
## What It Does
|
|
14
|
+
|
|
15
|
+
Creates a PR-ready summary using the intent and workflow state files.
|
|
16
|
+
|
|
17
|
+
## Inputs
|
|
18
|
+
|
|
19
|
+
- `work/intent/**/<intent-id>.md` (commonly `intent/features/<intent-id>.md`)
|
|
20
|
+
- `work/workflow-state/02_plan.md`
|
|
21
|
+
- `work/workflow-state/03_implementation.md`
|
|
22
|
+
- `work/workflow-state/04_verification.md`
|
|
23
|
+
- `work/workflow-state/05_release_notes.md`
|
|
24
|
+
|
|
25
|
+
## Output
|
|
26
|
+
|
|
27
|
+
Writes `work/workflow-state/pr.md` with:
|
|
28
|
+
|
|
29
|
+
- Intent reference
|
|
30
|
+
- Summary of changes
|
|
31
|
+
- Verification results
|
|
32
|
+
- Risk level
|
|
33
|
+
- Rollback notes
|
|
34
|
+
- Checklist
|
|
35
|
+
|
|
36
|
+
## Instructions
|
|
37
|
+
|
|
38
|
+
1. Read the intent and workflow-state files listed above.
|
|
39
|
+
2. Summarize the implemented changes (what/why).
|
|
40
|
+
3. Include verification evidence (tests, lint, typecheck, audit).
|
|
41
|
+
4. Call out any deviations from plan.
|
|
42
|
+
5. Write the result to `work/workflow-state/pr.md`.
|
|
43
|
+
|
|
44
|
+
## Template
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
# PR: <intent-id> - <title>
|
|
48
|
+
|
|
49
|
+
## Intent
|
|
50
|
+
|
|
51
|
+
- <intent-id>: <short description>
|
|
52
|
+
|
|
53
|
+
## Summary
|
|
54
|
+
|
|
55
|
+
- Change 1
|
|
56
|
+
- Change 2
|
|
57
|
+
|
|
58
|
+
## Verification
|
|
59
|
+
|
|
60
|
+
- `pnpm test` → PASS
|
|
61
|
+
- `pnpm lint && pnpm typecheck` → PASS
|
|
62
|
+
- `pnpm audit --audit-level=high` → PASS
|
|
63
|
+
|
|
64
|
+
## Risk Level
|
|
65
|
+
|
|
66
|
+
- low | medium | high
|
|
67
|
+
|
|
68
|
+
## Rollback
|
|
69
|
+
|
|
70
|
+
- <rollback steps or reference to work/workflow-state/02_plan.md>
|
|
71
|
+
|
|
72
|
+
## Checklist
|
|
73
|
+
|
|
74
|
+
- [ ] Acceptance criteria met
|
|
75
|
+
- [ ] Verification evidence recorded
|
|
76
|
+
- [ ] Rollback plan documented
|
|
77
|
+
```
|