@polymorphism-tech/morph-spec 4.8.12 → 4.8.15
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 +379 -379
- package/bin/morph-spec.js +23 -2
- package/bin/{task-manager.cjs → task-manager.js} +249 -172
- package/claude-plugin.json +14 -14
- package/docs/CHEATSHEET.md +203 -203
- package/docs/QUICKSTART.md +1 -1
- package/framework/agents.json +224 -140
- package/framework/hooks/README.md +202 -202
- package/framework/hooks/claude-code/post-tool-use/dispatch.js +48 -2
- package/framework/hooks/claude-code/post-tool-use/validator-feedback.js +151 -0
- package/framework/hooks/claude-code/pre-tool-use/enforce-phase-writes.js +12 -0
- package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +6 -0
- package/framework/hooks/claude-code/session-start/inject-morph-context.js +34 -0
- package/framework/hooks/claude-code/statusline.py +6 -0
- package/framework/hooks/claude-code/stop/validate-completion.js +38 -4
- package/framework/hooks/claude-code/teammate-idle/teammate-idle.js +87 -0
- package/framework/hooks/claude-code/user-prompt/set-terminal-title.js +58 -0
- package/framework/hooks/shared/phase-utils.js +4 -1
- package/framework/hooks/shared/state-reader.js +1 -0
- package/framework/skills/README.md +1 -0
- package/framework/skills/level-0-meta/brainstorming/SKILL.md +2 -0
- package/framework/skills/level-0-meta/code-review/SKILL.md +16 -0
- package/framework/skills/level-0-meta/code-review/references/review-guidelines.md +100 -0
- package/framework/skills/level-0-meta/code-review/scripts/scan-csharp.mjs +36 -6
- package/framework/skills/level-0-meta/code-review-nextjs/SKILL.md +16 -0
- package/framework/skills/level-0-meta/code-review-nextjs/scripts/scan-nextjs.mjs +189 -0
- package/framework/skills/level-0-meta/frontend-review/SKILL.md +359 -0
- package/framework/skills/level-0-meta/frontend-review/scripts/scan-accessibility.mjs +376 -0
- package/framework/skills/level-0-meta/morph-checklist/SKILL.md +1 -1
- package/framework/skills/level-0-meta/morph-replicate/SKILL.md +10 -8
- package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +70 -0
- package/framework/skills/level-0-meta/post-implementation/SKILL.md +315 -0
- package/framework/skills/level-0-meta/post-implementation/scripts/detect-dev-server.mjs +153 -0
- package/framework/skills/level-0-meta/post-implementation/scripts/detect-stack.mjs +234 -0
- package/framework/skills/level-0-meta/terminal-title/SKILL.md +61 -0
- package/framework/skills/level-0-meta/terminal-title/scripts/set_title.sh +65 -0
- package/framework/skills/level-0-meta/tool-usage-guide/SKILL.md +50 -188
- package/framework/skills/level-0-meta/tool-usage-guide/references/tools-per-phase.md +213 -0
- package/framework/skills/level-0-meta/verification-before-completion/SKILL.md +2 -0
- package/framework/skills/level-1-workflows/phase-clarify/SKILL.md +4 -7
- package/framework/skills/level-1-workflows/phase-codebase-analysis/SKILL.md +1 -1
- package/framework/skills/level-1-workflows/phase-design/SKILL.md +71 -109
- package/framework/skills/level-1-workflows/phase-design/references/architecture-analysis-guide.md +89 -0
- package/framework/skills/level-1-workflows/phase-design/references/spec-authoring-guide.md +55 -0
- package/framework/skills/level-1-workflows/phase-implement/SKILL.md +171 -114
- package/framework/skills/level-1-workflows/phase-implement/references/vsa-implementation-guide.md +92 -0
- package/framework/skills/level-1-workflows/phase-setup/SKILL.md +1 -2
- package/framework/skills/level-1-workflows/phase-tasks/SKILL.md +35 -159
- package/framework/skills/level-1-workflows/phase-tasks/references/task-planning-patterns.md +172 -0
- package/framework/skills/level-1-workflows/phase-uiux/SKILL.md +42 -3
- package/framework/squad-templates/backend-only.json +14 -1
- package/framework/squad-templates/frontend-only.json +14 -1
- package/framework/squad-templates/full-stack.json +25 -8
- package/framework/standards/STANDARDS.json +631 -86
- package/framework/standards/frontend/design-system/aesthetic-direction.md +213 -0
- package/framework/templates/project/validate.js +122 -0
- package/framework/workflows/configs/zero-touch.json +7 -0
- package/package.json +87 -87
- package/src/commands/agents/dispatch-agents.js +53 -10
- package/src/commands/state/advance-phase.js +88 -13
- package/src/commands/state/index.js +2 -1
- package/src/commands/state/phase-runner.js +215 -0
- package/src/commands/tasks/task.js +25 -4
- package/src/core/paths/output-schema.js +2 -1
- package/src/lib/detectors/design-system-detector.js +5 -4
- package/src/lib/generators/recap-generator.js +16 -0
- package/src/lib/orchestration/team-orchestrator.js +171 -89
- package/src/lib/phase-chain/eligibility-checker.js +243 -0
- package/src/lib/standards/digest-builder.js +231 -0
- package/src/lib/tasks/task-parser.js +94 -0
- package/src/lib/validators/blazor/blazor-concurrency-analyzer.js +39 -0
- package/src/lib/validators/content/content-validator.js +34 -106
- package/src/lib/validators/nextjs/next-component-validator.js +2 -0
- package/src/lib/validators/validation-runner.js +2 -2
- package/src/utils/file-copier.js +1 -0
- package/src/utils/hooks-installer.js +31 -7
package/bin/morph-spec.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
1
|
+
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { program } from 'commander';
|
|
4
4
|
import chalk from 'chalk';
|
|
@@ -22,12 +22,13 @@ import { stateCommand } from '../src/commands/state/state.js';
|
|
|
22
22
|
import { validatePhaseCommand } from '../src/commands/state/validate-phase.js';
|
|
23
23
|
import { advancePhaseCommand } from '../src/commands/state/advance-phase.js';
|
|
24
24
|
import { approveCommand, approvalStatusCommand, unapproveCommand } from '../src/commands/state/approve.js';
|
|
25
|
+
import { phaseRunCommand } from '../src/commands/state/phase-runner.js';
|
|
25
26
|
|
|
26
27
|
// Agent commands
|
|
27
28
|
import { dispatchAgentsCommand } from '../src/commands/agents/dispatch-agents.js';
|
|
28
29
|
|
|
29
30
|
// Task commands
|
|
30
|
-
import { taskDoneCommand, taskStartCommand, taskNextCommand } from '../src/commands/tasks/task.js';
|
|
31
|
+
import { taskDoneCommand, taskStartCommand, taskNextCommand, taskBulkDoneCommand } from '../src/commands/tasks/task.js';
|
|
31
32
|
|
|
32
33
|
// Validation commands
|
|
33
34
|
import { validateCommand } from './validate.js';
|
|
@@ -129,8 +130,19 @@ taskCommand
|
|
|
129
130
|
.command('done <feature> <task-ids...>')
|
|
130
131
|
.description('Mark tasks as completed (runs validation first)')
|
|
131
132
|
.option('--skip-validation', 'Skip code validation (not recommended)')
|
|
133
|
+
.option('--dry-run', 'Show validation results without marking tasks as complete')
|
|
132
134
|
.action((feature, taskIds, options) => taskDoneCommand(feature, taskIds, options));
|
|
133
135
|
|
|
136
|
+
taskCommand
|
|
137
|
+
.command('bulk-done <feature> [range]')
|
|
138
|
+
.description('Bulk-complete tasks (--all | --from T001 --to T053 | T001..T082)')
|
|
139
|
+
.option('--all', 'Complete all pending tasks')
|
|
140
|
+
.option('--from <id>', 'Start task ID for range')
|
|
141
|
+
.option('--to <id>', 'End task ID for range')
|
|
142
|
+
.option('--skip-validation', 'Skip code validation (not recommended)')
|
|
143
|
+
.option('--dry-run', 'Show validation results without marking tasks as complete')
|
|
144
|
+
.action((feature, range, options) => taskBulkDoneCommand(feature, range, options));
|
|
145
|
+
|
|
134
146
|
taskCommand
|
|
135
147
|
.command('start <feature> <task-id>')
|
|
136
148
|
.description('Start a task (mark as in_progress)')
|
|
@@ -191,6 +203,14 @@ phaseCommand
|
|
|
191
203
|
.option('--skip-optional', 'Skip optional phases (uiux, sync)')
|
|
192
204
|
.action((feature, options) => advancePhaseCommand(feature, options));
|
|
193
205
|
|
|
206
|
+
phaseCommand
|
|
207
|
+
.command('run <feature>')
|
|
208
|
+
.description('Automated phase chain runner — advances phases until blocker or max reached')
|
|
209
|
+
.option('--dry-run', 'Show decision tree without executing')
|
|
210
|
+
.option('--max-phases <n>', 'Max phases to auto-advance (default: 6)', parseInt)
|
|
211
|
+
.option('--skip-approval', 'Skip approval gate checks')
|
|
212
|
+
.action((feature, options) => phaseRunCommand(feature, options));
|
|
213
|
+
|
|
194
214
|
// Phase validation command (also available as standalone)
|
|
195
215
|
program
|
|
196
216
|
.command('validate-phase <feature> <phase>')
|
|
@@ -294,6 +314,7 @@ program
|
|
|
294
314
|
.command('dispatch-agents <feature> <phase>')
|
|
295
315
|
.description('Build dispatch config for parallel agent orchestration (design | tasks | implement)')
|
|
296
316
|
.option('--table', 'Human-readable table output instead of JSON')
|
|
317
|
+
.option('--mode <mode>', 'Dispatch mode: validate (includes Tier-4 validators as read-only)')
|
|
297
318
|
.option('-v, --verbose', 'Show stack trace on error')
|
|
298
319
|
.action((feature, phase, options) => dispatchAgentsCommand(feature, phase, options));
|
|
299
320
|
|