@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.
Files changed (76) hide show
  1. package/README.md +379 -379
  2. package/bin/morph-spec.js +23 -2
  3. package/bin/{task-manager.cjs → task-manager.js} +249 -172
  4. package/claude-plugin.json +14 -14
  5. package/docs/CHEATSHEET.md +203 -203
  6. package/docs/QUICKSTART.md +1 -1
  7. package/framework/agents.json +224 -140
  8. package/framework/hooks/README.md +202 -202
  9. package/framework/hooks/claude-code/post-tool-use/dispatch.js +48 -2
  10. package/framework/hooks/claude-code/post-tool-use/validator-feedback.js +151 -0
  11. package/framework/hooks/claude-code/pre-tool-use/enforce-phase-writes.js +12 -0
  12. package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +6 -0
  13. package/framework/hooks/claude-code/session-start/inject-morph-context.js +34 -0
  14. package/framework/hooks/claude-code/statusline.py +6 -0
  15. package/framework/hooks/claude-code/stop/validate-completion.js +38 -4
  16. package/framework/hooks/claude-code/teammate-idle/teammate-idle.js +87 -0
  17. package/framework/hooks/claude-code/user-prompt/set-terminal-title.js +58 -0
  18. package/framework/hooks/shared/phase-utils.js +4 -1
  19. package/framework/hooks/shared/state-reader.js +1 -0
  20. package/framework/skills/README.md +1 -0
  21. package/framework/skills/level-0-meta/brainstorming/SKILL.md +2 -0
  22. package/framework/skills/level-0-meta/code-review/SKILL.md +16 -0
  23. package/framework/skills/level-0-meta/code-review/references/review-guidelines.md +100 -0
  24. package/framework/skills/level-0-meta/code-review/scripts/scan-csharp.mjs +36 -6
  25. package/framework/skills/level-0-meta/code-review-nextjs/SKILL.md +16 -0
  26. package/framework/skills/level-0-meta/code-review-nextjs/scripts/scan-nextjs.mjs +189 -0
  27. package/framework/skills/level-0-meta/frontend-review/SKILL.md +359 -0
  28. package/framework/skills/level-0-meta/frontend-review/scripts/scan-accessibility.mjs +376 -0
  29. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +1 -1
  30. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +10 -8
  31. package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +70 -0
  32. package/framework/skills/level-0-meta/post-implementation/SKILL.md +315 -0
  33. package/framework/skills/level-0-meta/post-implementation/scripts/detect-dev-server.mjs +153 -0
  34. package/framework/skills/level-0-meta/post-implementation/scripts/detect-stack.mjs +234 -0
  35. package/framework/skills/level-0-meta/terminal-title/SKILL.md +61 -0
  36. package/framework/skills/level-0-meta/terminal-title/scripts/set_title.sh +65 -0
  37. package/framework/skills/level-0-meta/tool-usage-guide/SKILL.md +50 -188
  38. package/framework/skills/level-0-meta/tool-usage-guide/references/tools-per-phase.md +213 -0
  39. package/framework/skills/level-0-meta/verification-before-completion/SKILL.md +2 -0
  40. package/framework/skills/level-1-workflows/phase-clarify/SKILL.md +4 -7
  41. package/framework/skills/level-1-workflows/phase-codebase-analysis/SKILL.md +1 -1
  42. package/framework/skills/level-1-workflows/phase-design/SKILL.md +71 -109
  43. package/framework/skills/level-1-workflows/phase-design/references/architecture-analysis-guide.md +89 -0
  44. package/framework/skills/level-1-workflows/phase-design/references/spec-authoring-guide.md +55 -0
  45. package/framework/skills/level-1-workflows/phase-implement/SKILL.md +171 -114
  46. package/framework/skills/level-1-workflows/phase-implement/references/vsa-implementation-guide.md +92 -0
  47. package/framework/skills/level-1-workflows/phase-setup/SKILL.md +1 -2
  48. package/framework/skills/level-1-workflows/phase-tasks/SKILL.md +35 -159
  49. package/framework/skills/level-1-workflows/phase-tasks/references/task-planning-patterns.md +172 -0
  50. package/framework/skills/level-1-workflows/phase-uiux/SKILL.md +42 -3
  51. package/framework/squad-templates/backend-only.json +14 -1
  52. package/framework/squad-templates/frontend-only.json +14 -1
  53. package/framework/squad-templates/full-stack.json +25 -8
  54. package/framework/standards/STANDARDS.json +631 -86
  55. package/framework/standards/frontend/design-system/aesthetic-direction.md +213 -0
  56. package/framework/templates/project/validate.js +122 -0
  57. package/framework/workflows/configs/zero-touch.json +7 -0
  58. package/package.json +87 -87
  59. package/src/commands/agents/dispatch-agents.js +53 -10
  60. package/src/commands/state/advance-phase.js +88 -13
  61. package/src/commands/state/index.js +2 -1
  62. package/src/commands/state/phase-runner.js +215 -0
  63. package/src/commands/tasks/task.js +25 -4
  64. package/src/core/paths/output-schema.js +2 -1
  65. package/src/lib/detectors/design-system-detector.js +5 -4
  66. package/src/lib/generators/recap-generator.js +16 -0
  67. package/src/lib/orchestration/team-orchestrator.js +171 -89
  68. package/src/lib/phase-chain/eligibility-checker.js +243 -0
  69. package/src/lib/standards/digest-builder.js +231 -0
  70. package/src/lib/tasks/task-parser.js +94 -0
  71. package/src/lib/validators/blazor/blazor-concurrency-analyzer.js +39 -0
  72. package/src/lib/validators/content/content-validator.js +34 -106
  73. package/src/lib/validators/nextjs/next-component-validator.js +2 -0
  74. package/src/lib/validators/validation-runner.js +2 -2
  75. package/src/utils/file-copier.js +1 -0
  76. 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