@polymorphism-tech/morph-spec 4.2.0 → 4.3.1
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/CLAUDE.md +108 -946
- package/bin/morph-spec.js +284 -9
- package/bin/task-manager.cjs +102 -14
- package/bin/validate.js +4 -4
- package/docs/{v3.0 → next-generation}/AGENTS.md +1 -1
- package/docs/next-generation/CONTEXT-OPTIMIZATION.md +267 -0
- package/docs/next-generation/EXECUTION-FLOW.md +274 -0
- package/docs/next-generation/META-PROMPTS.md +235 -0
- package/docs/next-generation/MIGRATION-GUIDE.md +253 -0
- package/docs/next-generation/THREAD-MANAGEMENT.md +240 -0
- package/package.json +5 -5
- package/src/commands/agents/agents-fuse.js +97 -0
- package/src/commands/agents/micro-agent.js +112 -0
- package/src/commands/agents/spawn-team.js +69 -4
- package/src/commands/agents/squad-template.js +146 -0
- package/src/commands/analytics/analytics.js +176 -0
- package/src/commands/context/context-prime.js +63 -0
- package/src/commands/context/core-four.js +54 -0
- package/src/commands/mcp/mcp.js +102 -0
- package/src/commands/project/detect-agents.js +32 -2
- package/src/commands/project/detect.js +11 -1
- package/src/commands/project/doctor.js +573 -356
- package/src/commands/project/init.js +9 -2
- package/src/commands/project/update.js +13 -3
- package/src/commands/state/advance-phase.js +448 -416
- package/src/commands/state/state.js +14 -12
- package/src/commands/tasks/task.js +1 -1
- package/src/commands/templates/template-render.js +80 -1
- package/src/commands/threads/thread-template.js +103 -0
- package/src/commands/threads/threads.js +261 -0
- package/src/commands/trust/trust.js +205 -0
- package/src/{orchestrator.js → core/orchestrator.js} +8 -8
- package/src/core/state/state-manager.js +37 -17
- package/src/core/workflows/workflow-detector.js +114 -3
- package/src/lib/agents/micro-agent-factory.js +161 -0
- package/src/lib/analytics/analytics-engine.js +345 -0
- package/src/lib/checkpoints/checkpoint-hooks.js +298 -258
- package/src/lib/context/context-bundler.js +240 -0
- package/src/lib/context/context-optimizer.js +212 -0
- package/src/lib/context/context-tracker.js +273 -0
- package/src/lib/context/core-four-tracker.js +201 -0
- package/src/lib/context/mcp-optimizer.js +200 -0
- package/src/lib/detectors/index.js +1 -1
- package/src/lib/detectors/standards-generator.js +77 -17
- package/src/lib/detectors/structure-detector.js +67 -39
- package/src/lib/execution/fusion-executor.js +304 -0
- package/src/lib/execution/parallel-executor.js +270 -0
- package/src/lib/generators/context-generator.js +3 -3
- package/src/lib/generators/recap-generator.js +32 -12
- package/src/lib/hooks/hook-executor.js +169 -0
- package/src/lib/hooks/stop-hook-executor.js +286 -0
- package/src/lib/hops/hop-composer.js +221 -0
- package/src/lib/threads/thread-coordinator.js +238 -0
- package/src/lib/threads/thread-manager.js +317 -0
- package/src/lib/tracking/artifact-trail.js +202 -0
- package/src/lib/trust/trust-manager.js +269 -0
- package/src/lib/validators/design-system/design-system-validator.js +2 -2
- package/src/lib/validators/validation-runner.js +14 -30
- package/src/utils/hooks-installer.js +69 -0
- package/stacks/blazor-azure/.morph/config/agents.json +72 -3
- package/stacks/nextjs-supabase/.morph/config/agents.json +3 -3
- package/docs/llm-interaction-config.md +0 -735
- package/docs/v3.0/EXECUTION-FLOW.md +0 -1304
- package/src/commands/utils/migrate-state.js +0 -158
- package/src/commands/utils/upgrade.js +0 -346
- package/src/lib/validators/architecture-validator.js +0 -60
- package/src/lib/validators/content-validator.js +0 -164
- package/src/lib/validators/package-validator.js +0 -61
- package/src/lib/validators/ui-contrast-validator.js +0 -44
- package/stacks/blazor-azure/.claude/commands/morph-apply.md +0 -221
- package/stacks/blazor-azure/.claude/commands/morph-archive.md +0 -79
- package/stacks/blazor-azure/.claude/commands/morph-deploy.md +0 -529
- package/stacks/blazor-azure/.claude/commands/morph-infra.md +0 -209
- package/stacks/blazor-azure/.claude/commands/morph-preflight.md +0 -227
- package/stacks/blazor-azure/.claude/commands/morph-proposal.md +0 -122
- package/stacks/blazor-azure/.claude/commands/morph-status.md +0 -86
- package/stacks/blazor-azure/.claude/commands/morph-troubleshoot.md +0 -122
- package/stacks/blazor-azure/.claude/skills/level-0-meta/README.md +0 -7
- package/stacks/blazor-azure/.claude/skills/level-0-meta/code-review.md +0 -226
- package/stacks/blazor-azure/.claude/skills/level-0-meta/morph-checklist.md +0 -117
- package/stacks/blazor-azure/.claude/skills/level-0-meta/simulation-checklist.md +0 -77
- package/stacks/blazor-azure/.claude/skills/level-1-workflows/README.md +0 -7
- package/stacks/blazor-azure/.claude/skills/level-1-workflows/morph-replicate.md +0 -213
- package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-clarify.md +0 -131
- package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-design.md +0 -213
- package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-setup.md +0 -106
- package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-tasks.md +0 -164
- package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-uiux.md +0 -169
- package/stacks/blazor-azure/.claude/skills/level-2-domains/README.md +0 -14
- package/stacks/blazor-azure/.claude/skills/level-2-domains/ai-agents/ai-system-architect.md +0 -192
- package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/po-pm-advisor.md +0 -197
- package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/prompt-engineer.md +0 -189
- package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/seo-growth-hacker.md +0 -320
- package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/standards-architect.md +0 -156
- package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/api-designer.md +0 -59
- package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/dotnet-senior.md +0 -77
- package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/ef-modeler.md +0 -58
- package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/hangfire-orchestrator.md +0 -126
- package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/ms-agent-expert.md +0 -45
- package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/blazor-builder.md +0 -210
- package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/nextjs-expert.md +0 -154
- package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/ui-ux-designer.md +0 -191
- package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/azure-architect.md +0 -142
- package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/azure-deploy-specialist.md +0 -699
- package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/bicep-architect.md +0 -126
- package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/container-specialist.md +0 -131
- package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/devops-engineer.md +0 -119
- package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/asaas-financial.md +0 -130
- package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/azure-identity.md +0 -142
- package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/clerk-auth.md +0 -108
- package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/hangfire-orchestrator.md +0 -64
- package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/resend-email.md +0 -119
- package/stacks/blazor-azure/.claude/skills/level-2-domains/quality/code-analyzer.md +0 -235
- package/stacks/blazor-azure/.claude/skills/level-2-domains/quality/testing-specialist.md +0 -126
- package/stacks/blazor-azure/.claude/skills/level-3-technologies/README.md +0 -7
- package/stacks/blazor-azure/.claude/skills/level-4-patterns/README.md +0 -7
- package/stacks/blazor-azure/.morph/archive/.gitkeep +0 -25
- package/stacks/blazor-azure/.morph/features/.gitkeep +0 -25
- package/stacks/blazor-azure/.morph/schemas/agent.schema.json +0 -296
- package/stacks/blazor-azure/.morph/schemas/tasks.schema.json +0 -220
- package/stacks/blazor-azure/.morph/specs/.gitkeep +0 -20
- package/stacks/blazor-azure/.morph/test-infra/example.bicep +0 -59
- package/stacks/nextjs-supabase/.claude/commands/morph-apply.md +0 -221
- package/stacks/nextjs-supabase/.claude/commands/morph-archive.md +0 -79
- package/stacks/nextjs-supabase/.claude/commands/morph-deploy.md +0 -529
- package/stacks/nextjs-supabase/.claude/commands/morph-infra.md +0 -209
- package/stacks/nextjs-supabase/.claude/commands/morph-preflight.md +0 -227
- package/stacks/nextjs-supabase/.claude/commands/morph-proposal.md +0 -122
- package/stacks/nextjs-supabase/.claude/commands/morph-status.md +0 -86
- package/stacks/nextjs-supabase/.claude/commands/morph-troubleshoot.md +0 -122
- package/stacks/nextjs-supabase/.claude/settings.local.json +0 -6
- package/stacks/nextjs-supabase/.claude/skills/level-2-domains/backend/dotnet-supabase.md +0 -244
- package/stacks/nextjs-supabase/.claude/skills/level-2-domains/frontend/nextjs-supabase.md +0 -335
- package/stacks/nextjs-supabase/.claude/skills/level-2-domains/infrastructure/easypanel-deployer.md +0 -189
- package/stacks/nextjs-supabase/.claude/skills/level-2-domains/integrations/supabase-expert.md +0 -50
- /package/docs/{v3.0 → next-generation}/ANALYSIS.md +0 -0
- /package/docs/{v3.0 → next-generation}/ARCHITECTURE.md +0 -0
- /package/docs/{v3.0 → next-generation}/FEATURES.md +0 -0
- /package/docs/{v3.0 → next-generation}/README.md +0 -0
- /package/docs/{v3.0 → next-generation}/ROADMAP.md +0 -0
|
@@ -18,7 +18,8 @@ import {
|
|
|
18
18
|
createDirectoryLink
|
|
19
19
|
} from '../../utils/file-copier.js';
|
|
20
20
|
import { saveProjectMorphVersion, getInstalledCLIVersion } from '../../utils/version-checker.js';
|
|
21
|
-
import {
|
|
21
|
+
import { installClaudeHooks } from '../../utils/hooks-installer.js';
|
|
22
|
+
import { AutoContextOrchestrator } from '../../core/orchestrator.js';
|
|
22
23
|
import { detectClaudeCode } from '../../llm/environment-detector.js';
|
|
23
24
|
|
|
24
25
|
export async function initCommand(options) {
|
|
@@ -155,8 +156,9 @@ Run \`morph-spec detect\` to analyze your project.
|
|
|
155
156
|
}
|
|
156
157
|
|
|
157
158
|
// 9. Copy .claude commands and create symlinks for skills
|
|
159
|
+
// Source: framework root .claude/ (canonical for all stacks)
|
|
158
160
|
spinner.text = 'Setting up Claude Code integration...';
|
|
159
|
-
const claudeSrc = join(
|
|
161
|
+
const claudeSrc = join(import.meta.dirname, '..', '..', '..', '.claude');
|
|
160
162
|
const claudeDest = join(targetPath, '.claude');
|
|
161
163
|
|
|
162
164
|
let symlinkCount = 0;
|
|
@@ -217,6 +219,10 @@ Run \`morph-spec detect\` to analyze your project.
|
|
|
217
219
|
}
|
|
218
220
|
}
|
|
219
221
|
|
|
222
|
+
// 9b. Install/update agent-teams hooks in .claude/settings.local.json
|
|
223
|
+
spinner.text = 'Installing Claude Code hooks...';
|
|
224
|
+
const hooksInstalled = await installClaudeHooks(targetPath);
|
|
225
|
+
|
|
220
226
|
// 10. Save version info
|
|
221
227
|
spinner.text = 'Saving version info...';
|
|
222
228
|
const cliVersion = getInstalledCLIVersion();
|
|
@@ -251,6 +257,7 @@ Run \`morph-spec detect\` to analyze your project.
|
|
|
251
257
|
logger.dim(` ✓ .morph/templates/ (Bicep, integrations, saas, ...)`);
|
|
252
258
|
logger.dim(` ✓ .morph/project/ (context, standards, outputs)`);
|
|
253
259
|
logger.dim(` ✓ .claude/commands/ (slash commands)`);
|
|
260
|
+
logger.dim(` ✓ .claude/settings.local.json (agent-teams hooks)`);
|
|
254
261
|
|
|
255
262
|
if (symlinkCount > 0) {
|
|
256
263
|
const linkType = process.platform === 'win32' ? 'junction-linked' : 'symlinked';
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import { join } from 'path';
|
|
1
|
+
import { join, dirname } from 'path';
|
|
2
|
+
import { fileURLToPath } from 'url';
|
|
3
|
+
|
|
4
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
2
5
|
import fs from 'fs-extra';
|
|
3
6
|
import ora from 'ora';
|
|
4
7
|
import chalk from 'chalk';
|
|
@@ -19,7 +22,8 @@ import {
|
|
|
19
22
|
getUpdateInstructions,
|
|
20
23
|
detectInstallMethod
|
|
21
24
|
} from '../../utils/version-checker.js';
|
|
22
|
-
import {
|
|
25
|
+
import { installClaudeHooks } from '../../utils/hooks-installer.js';
|
|
26
|
+
import { AutoContextOrchestrator } from '../../core/orchestrator.js';
|
|
23
27
|
import { detectClaudeCode } from '../../llm/environment-detector.js';
|
|
24
28
|
|
|
25
29
|
export async function updateCommand(options) {
|
|
@@ -117,8 +121,9 @@ export async function updateCommand(options) {
|
|
|
117
121
|
}
|
|
118
122
|
|
|
119
123
|
// Update .claude commands and skills
|
|
124
|
+
// Source: framework root .claude/ (canonical for all stacks)
|
|
120
125
|
updateSpinner.text = 'Updating Claude commands and skills...';
|
|
121
|
-
const claudeSrc = join(
|
|
126
|
+
const claudeSrc = join(__dirname, '..', '..', '..', '.claude');
|
|
122
127
|
const claudeDest = join(targetPath, '.claude');
|
|
123
128
|
if (await pathExists(claudeSrc)) {
|
|
124
129
|
// Copy commands (always copy, these are small)
|
|
@@ -154,6 +159,10 @@ export async function updateCommand(options) {
|
|
|
154
159
|
}
|
|
155
160
|
}
|
|
156
161
|
|
|
162
|
+
// Update agent-teams hooks in .claude/settings.local.json
|
|
163
|
+
updateSpinner.text = 'Updating Claude Code hooks...';
|
|
164
|
+
await installClaudeHooks(targetPath);
|
|
165
|
+
|
|
157
166
|
// Update CLAUDE.md
|
|
158
167
|
updateSpinner.text = 'Updating CLAUDE.md...';
|
|
159
168
|
const claudeMdSrc = join(contentDir, 'CLAUDE.md');
|
|
@@ -192,6 +201,7 @@ export async function updateCommand(options) {
|
|
|
192
201
|
if (updateStandards) logger.dim(' ✓ .morph/standards/');
|
|
193
202
|
logger.dim(' ✓ .morph/config/agents.json');
|
|
194
203
|
logger.dim(' ✓ .claude/commands/ and .claude/skills/');
|
|
204
|
+
logger.dim(' ✓ .claude/settings.local.json (agent-teams hooks)');
|
|
195
205
|
logger.dim(' ✓ CLAUDE.md');
|
|
196
206
|
logger.blank();
|
|
197
207
|
logger.info('Your config.json was preserved.');
|