@howlil/ez-agents 3.4.2 → 4.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/README.md +735 -462
- package/agents/ez-architect-agent.md +267 -0
- package/agents/ez-backend-agent.md +303 -0
- package/agents/ez-chief-strategist.md +271 -0
- package/agents/ez-codebase-mapper.md +770 -770
- package/agents/ez-context-manager.md +319 -0
- package/agents/ez-debugger.md +1255 -1255
- package/agents/ez-design-expert.md +347 -0
- package/agents/ez-devops-agent.md +331 -0
- package/agents/ez-executor.md +487 -487
- package/agents/ez-frontend-agent.md +322 -0
- package/agents/ez-phase-researcher.md +553 -553
- package/agents/ez-planner.md +1307 -1307
- package/agents/ez-product-engineer.md +435 -0
- package/agents/ez-project-researcher.md +629 -629
- package/agents/ez-qa-agent.md +320 -0
- package/agents/ez-release-agent.md +333 -0
- package/agents/ez-requirements-agent.md +377 -0
- package/agents/ez-roadmapper.md +650 -650
- package/agents/ez-technical-writer.md +551 -0
- package/agents/ez-ux-expert.md +393 -0
- package/agents/ez-verifier.md +579 -579
- package/bin/guards/autonomy-guard.cjs +346 -0
- package/bin/guards/context-budget-guard.cjs +278 -0
- package/bin/guards/hallucination-guard.cjs +380 -0
- package/bin/guards/hidden-state-guard.cjs +182 -0
- package/bin/guards/team-overhead-guard.cjs +266 -0
- package/bin/guards/tool-sprawl-guard.cjs +271 -0
- package/bin/install.js +3221 -3272
- package/bin/lib/analytics/analytics-collector.cjs +86 -0
- package/bin/lib/analytics/analytics-reporter.cjs +130 -0
- package/bin/lib/analytics/cohort-analyzer.cjs +138 -0
- package/bin/lib/analytics/funnel-analyzer.cjs +147 -0
- package/bin/lib/analytics/nps-tracker.cjs +147 -0
- package/bin/lib/archetype-detector.cjs +289 -0
- package/bin/lib/assistant-adapter.cjs +361 -0
- package/bin/lib/audit-exec.cjs +175 -0
- package/bin/lib/auth.cjs +176 -0
- package/bin/lib/backup-service.cjs +422 -0
- package/bin/lib/bdd-validator.cjs +622 -0
- package/bin/lib/business-flow-mapper.cjs +429 -0
- package/bin/lib/circuit-breaker.cjs +276 -0
- package/bin/lib/code-complexity-analyzer.cjs +360 -0
- package/bin/lib/codebase-analyzer.cjs +241 -0
- package/bin/lib/commands.cjs +691 -0
- package/bin/lib/config.cjs +236 -0
- package/bin/lib/constraint-extractor.cjs +526 -0
- package/bin/lib/content-scanner.cjs +238 -0
- package/bin/lib/context-cache.cjs +154 -0
- package/bin/lib/context-compressor.cjs +102 -0
- package/bin/lib/context-deduplicator.cjs +105 -0
- package/bin/lib/context-errors.cjs +78 -0
- package/bin/lib/context-manager.cjs +338 -0
- package/bin/lib/context-metadata-tracker.cjs +140 -0
- package/bin/lib/context-relevance-scorer.cjs +99 -0
- package/bin/lib/core.cjs +507 -0
- package/bin/lib/cost-alerts.cjs +174 -0
- package/bin/lib/cost-tracker.cjs +275 -0
- package/bin/lib/crash-recovery.cjs +220 -0
- package/bin/lib/dependency-graph.cjs +319 -0
- package/bin/lib/deploy/deploy-audit-log.cjs +76 -0
- package/bin/lib/deploy/deploy-detector.cjs +69 -0
- package/bin/lib/deploy/deploy-env-manager.cjs +109 -0
- package/bin/lib/deploy/deploy-health-check.cjs +88 -0
- package/bin/lib/deploy/deploy-pre-flight.cjs +57 -0
- package/bin/lib/deploy/deploy-rollback.cjs +72 -0
- package/bin/lib/deploy/deploy-runner.cjs +97 -0
- package/bin/lib/deploy/deploy-status.cjs +74 -0
- package/bin/lib/discussion-synthesizer.cjs +439 -0
- package/bin/lib/error-cache.cjs +114 -0
- package/bin/lib/error-registry.cjs +177 -0
- package/bin/lib/file-access.cjs +207 -0
- package/bin/lib/file-lock.cjs +236 -0
- package/bin/lib/finops/budget-enforcer.cjs +126 -0
- package/bin/lib/finops/cost-reporter.cjs +132 -0
- package/bin/lib/finops/finops-analyzer.cjs +112 -0
- package/bin/lib/finops/spot-manager.cjs +118 -0
- package/bin/lib/framework-detector.cjs +396 -0
- package/bin/lib/frontmatter.cjs +313 -0
- package/bin/lib/fs-utils.cjs +153 -0
- package/bin/lib/gate-executor.cjs +272 -0
- package/bin/lib/gates/README.md +374 -0
- package/bin/lib/gates/gate-01-requirement.cjs +303 -0
- package/bin/lib/gates/gate-02-architecture.cjs +555 -0
- package/bin/lib/gates/gate-03-code.cjs +635 -0
- package/bin/lib/gates/gate-04-security.cjs +829 -0
- package/bin/lib/git-errors.cjs +83 -0
- package/bin/lib/git-utils.cjs +321 -0
- package/bin/lib/git-workflow-engine.cjs +1157 -0
- package/bin/lib/health-check.cjs +227 -0
- package/bin/lib/index.cjs +279 -0
- package/bin/lib/init.cjs +725 -0
- package/bin/lib/lock-logger.cjs +194 -0
- package/bin/lib/lock-state.cjs +263 -0
- package/bin/lib/lockfile-validator.cjs +227 -0
- package/bin/lib/log-rotation.cjs +71 -0
- package/bin/lib/logger.cjs +125 -0
- package/bin/lib/memory-compression.cjs +256 -0
- package/bin/lib/milestone.cjs +247 -0
- package/bin/lib/model-provider.cjs +241 -0
- package/bin/lib/package-manager-detector.cjs +203 -0
- package/bin/lib/package-manager-executor.cjs +385 -0
- package/bin/lib/package-manager-service.cjs +216 -0
- package/bin/lib/perf/api-monitor.cjs +88 -0
- package/bin/lib/perf/db-optimizer.cjs +78 -0
- package/bin/lib/perf/frontend-performance.cjs +56 -0
- package/bin/lib/perf/perf-analyzer.cjs +77 -0
- package/bin/lib/perf/perf-baseline.cjs +102 -0
- package/bin/lib/perf/perf-reporter.cjs +117 -0
- package/bin/lib/perf/regression-detector.cjs +92 -0
- package/bin/lib/phase.cjs +963 -0
- package/bin/lib/planning-write.cjs +123 -0
- package/bin/lib/project-reporter.cjs +565 -0
- package/bin/lib/quality-gate.cjs +332 -0
- package/bin/lib/quality-metrics.cjs +324 -0
- package/bin/lib/recovery-manager.cjs +98 -0
- package/bin/lib/release-validator.cjs +617 -0
- package/bin/lib/retry.cjs +119 -0
- package/bin/lib/roadmap.cjs +309 -0
- package/bin/lib/safe-exec.cjs +173 -0
- package/bin/lib/safe-path.cjs +130 -0
- package/bin/lib/security-errors.cjs +62 -0
- package/bin/lib/session-chain.cjs +304 -0
- package/bin/lib/session-errors.cjs +81 -0
- package/bin/lib/session-export.cjs +251 -0
- package/bin/lib/session-import.cjs +262 -0
- package/bin/lib/session-manager.cjs +280 -0
- package/bin/lib/skill-context.cjs +148 -0
- package/bin/lib/skill-matcher.cjs +236 -0
- package/bin/lib/skill-registry.cjs +360 -0
- package/bin/lib/skill-resolver.cjs +449 -0
- package/bin/lib/skill-triggers.cjs +90 -0
- package/bin/lib/skill-validator.cjs +270 -0
- package/bin/lib/skill-versioning.cjs +355 -0
- package/bin/lib/stack-detector.cjs +399 -0
- package/bin/lib/state.cjs +736 -0
- package/bin/lib/tech-debt-analyzer.cjs +309 -0
- package/bin/lib/temp-file.cjs +239 -0
- package/bin/lib/template.cjs +223 -0
- package/bin/lib/test-file-lock.cjs +112 -0
- package/bin/lib/test-graceful.cjs +93 -0
- package/bin/lib/test-logger.cjs +60 -0
- package/bin/lib/test-safe-exec.cjs +38 -0
- package/bin/lib/test-safe-path.cjs +33 -0
- package/bin/lib/test-temp-file.cjs +125 -0
- package/bin/lib/tier-manager.cjs +428 -0
- package/bin/lib/timeout-exec.cjs +63 -0
- package/bin/lib/tradeoff-analyzer.cjs +284 -0
- package/bin/lib/url-fetch.cjs +170 -0
- package/bin/lib/verify.cjs +863 -0
- package/bin/update.js +217 -214
- package/commands/deploy.cjs +53 -0
- package/commands/ez/add-tests.md +41 -41
- package/commands/ez/audit-milestone.md +36 -36
- package/commands/ez/complete-milestone.md +136 -136
- package/commands/ez/discuss-phase.md +90 -90
- package/commands/ez/execute-phase.md +52 -41
- package/commands/ez/help.md +22 -22
- package/commands/ez/map-codebase.md +71 -71
- package/commands/ez/new-milestone.md +44 -44
- package/commands/ez/new-project.md +51 -42
- package/commands/ez/plan-phase.md +53 -45
- package/commands/ez/progress.md +36 -24
- package/commands/ez/quick.md +45 -45
- package/commands/ez/resume-work.md +40 -40
- package/commands/ez/run-phase.md +580 -0
- package/commands/ez/settings.md +36 -36
- package/commands/ez/update.md +37 -37
- package/commands/ez/verify-work.md +402 -38
- package/commands/health-check.cjs +44 -0
- package/commands/rollback.cjs +47 -0
- package/ez-agents/bin/ez-tools.cjs +1692 -716
- package/ez-agents/bin/guards/autonomy-guard.cjs +346 -0
- package/ez-agents/bin/guards/context-budget-guard.cjs +247 -0
- package/ez-agents/bin/guards/hallucination-guard.cjs +271 -0
- package/ez-agents/bin/guards/hidden-state-guard.cjs +182 -0
- package/ez-agents/bin/guards/team-overhead-guard.cjs +266 -0
- package/ez-agents/bin/guards/tool-sprawl-guard.cjs +271 -0
- package/ez-agents/bin/lib/analytics/analytics-collector.cjs +86 -0
- package/ez-agents/bin/lib/analytics/analytics-reporter.cjs +130 -0
- package/ez-agents/bin/lib/analytics/cohort-analyzer.cjs +138 -0
- package/ez-agents/bin/lib/analytics/funnel-analyzer.cjs +147 -0
- package/ez-agents/bin/lib/analytics/nps-tracker.cjs +147 -0
- package/ez-agents/bin/lib/archetype-detector.cjs +289 -0
- package/ez-agents/bin/lib/audit-exec.cjs +166 -167
- package/ez-agents/bin/lib/auth.cjs +176 -176
- package/ez-agents/bin/lib/backup-service.cjs +422 -0
- package/ez-agents/bin/lib/bdd-validator.cjs +622 -0
- package/ez-agents/bin/lib/business-flow-mapper.cjs +429 -0
- package/ez-agents/bin/lib/code-complexity-analyzer.cjs +360 -0
- package/ez-agents/bin/lib/codebase-analyzer.cjs +241 -0
- package/ez-agents/bin/lib/commands.cjs +685 -685
- package/ez-agents/bin/lib/config.cjs +41 -1
- package/ez-agents/bin/lib/constraint-extractor.cjs +526 -0
- package/ez-agents/bin/lib/content-scanner.cjs +238 -0
- package/ez-agents/bin/lib/context-cache.cjs +154 -0
- package/ez-agents/bin/lib/context-errors.cjs +71 -0
- package/ez-agents/bin/lib/context-manager.cjs +220 -0
- package/ez-agents/bin/lib/core.cjs +507 -512
- package/ez-agents/bin/lib/cost-tracker.cjs +243 -0
- package/ez-agents/bin/lib/crash-recovery.cjs +172 -0
- package/ez-agents/bin/lib/dependency-graph.cjs +319 -0
- package/ez-agents/bin/lib/deploy/deploy-audit-log.cjs +76 -0
- package/ez-agents/bin/lib/deploy/deploy-detector.cjs +69 -0
- package/ez-agents/bin/lib/deploy/deploy-env-manager.cjs +109 -0
- package/ez-agents/bin/lib/deploy/deploy-health-check.cjs +88 -0
- package/ez-agents/bin/lib/deploy/deploy-pre-flight.cjs +57 -0
- package/ez-agents/bin/lib/deploy/deploy-rollback.cjs +72 -0
- package/ez-agents/bin/lib/deploy/deploy-runner.cjs +97 -0
- package/ez-agents/bin/lib/deploy/deploy-status.cjs +74 -0
- package/ez-agents/bin/lib/discussion-synthesizer.cjs +458 -0
- package/ez-agents/bin/lib/file-access.cjs +207 -0
- package/ez-agents/bin/lib/finops/budget-enforcer.cjs +126 -0
- package/ez-agents/bin/lib/finops/cost-reporter.cjs +132 -0
- package/ez-agents/bin/lib/finops/finops-analyzer.cjs +112 -0
- package/ez-agents/bin/lib/finops/spot-manager.cjs +118 -0
- package/ez-agents/bin/lib/framework-detector.cjs +396 -0
- package/ez-agents/bin/lib/frontmatter.cjs +3 -1
- package/ez-agents/bin/lib/gates/README.md +374 -0
- package/ez-agents/bin/lib/gates/gate-01-requirement.cjs +303 -0
- package/ez-agents/bin/lib/gates/gate-02-architecture.cjs +555 -0
- package/ez-agents/bin/lib/gates/gate-03-code.cjs +635 -0
- package/ez-agents/bin/lib/gates/gate-04-security.cjs +829 -0
- package/ez-agents/bin/lib/git-errors.cjs +83 -0
- package/ez-agents/bin/lib/git-utils.cjs +118 -0
- package/ez-agents/bin/lib/git-workflow-engine.cjs +1157 -0
- package/ez-agents/bin/lib/health-check.cjs +162 -162
- package/ez-agents/bin/lib/index.cjs +40 -2
- package/ez-agents/bin/lib/init.cjs +0 -2
- package/ez-agents/bin/lib/lockfile-validator.cjs +227 -0
- package/ez-agents/bin/lib/log-rotation.cjs +71 -0
- package/ez-agents/bin/lib/logger.cjs +99 -154
- package/ez-agents/bin/lib/memory-compression.cjs +256 -0
- package/ez-agents/bin/lib/package-manager-detector.cjs +203 -0
- package/ez-agents/bin/lib/package-manager-executor.cjs +385 -0
- package/ez-agents/bin/lib/package-manager-service.cjs +216 -0
- package/ez-agents/bin/lib/perf/api-monitor.cjs +88 -0
- package/ez-agents/bin/lib/perf/db-optimizer.cjs +78 -0
- package/ez-agents/bin/lib/perf/frontend-performance.cjs +56 -0
- package/ez-agents/bin/lib/perf/perf-analyzer.cjs +77 -0
- package/ez-agents/bin/lib/perf/perf-baseline.cjs +102 -0
- package/ez-agents/bin/lib/perf/perf-reporter.cjs +117 -0
- package/ez-agents/bin/lib/perf/regression-detector.cjs +92 -0
- package/ez-agents/bin/lib/project-reporter.cjs +502 -0
- package/ez-agents/bin/lib/quality-gate.cjs +332 -0
- package/ez-agents/bin/lib/recovery-manager.cjs +98 -0
- package/ez-agents/bin/lib/release-validator.cjs +617 -0
- package/ez-agents/bin/lib/safe-exec.cjs +128 -214
- package/ez-agents/bin/lib/security-errors.cjs +62 -0
- package/ez-agents/bin/lib/session-chain.cjs +304 -0
- package/ez-agents/bin/lib/session-errors.cjs +81 -0
- package/ez-agents/bin/lib/session-export.cjs +251 -0
- package/ez-agents/bin/lib/session-import.cjs +262 -0
- package/ez-agents/bin/lib/session-manager.cjs +280 -0
- package/ez-agents/bin/lib/skill-context.cjs +148 -0
- package/ez-agents/bin/lib/skill-matcher.cjs +236 -0
- package/ez-agents/bin/lib/skill-registry.cjs +341 -0
- package/ez-agents/bin/lib/skill-resolver.cjs +449 -0
- package/ez-agents/bin/lib/skill-triggers.cjs +90 -0
- package/ez-agents/bin/lib/skill-validator.cjs +270 -0
- package/ez-agents/bin/lib/skill-versioning.cjs +355 -0
- package/ez-agents/bin/lib/stack-detector.cjs +399 -0
- package/ez-agents/bin/lib/tech-debt-analyzer.cjs +309 -0
- package/ez-agents/bin/lib/tier-manager.cjs +428 -0
- package/ez-agents/bin/lib/tradeoff-analyzer.cjs +284 -0
- package/ez-agents/bin/lib/url-fetch.cjs +170 -0
- package/ez-agents/bin/lib/verify.cjs +863 -863
- package/ez-agents/references/decimal-phase-calculation.md +65 -65
- package/ez-agents/references/git-integration.md +248 -248
- package/ez-agents/references/git-planning-commit.md +38 -38
- package/ez-agents/references/metrics-schema.md +118 -0
- package/ez-agents/references/model-profile-resolution.md +34 -34
- package/ez-agents/references/model-profiles.md +93 -93
- package/ez-agents/references/phase-argument-parsing.md +61 -61
- package/ez-agents/references/planning-config.md +340 -200
- package/ez-agents/references/tier-strategy.md +103 -0
- package/ez-agents/references/ui-brand.md +160 -160
- package/ez-agents/references/verification-patterns.md +612 -612
- package/ez-agents/templates/DEBUG.md +164 -164
- package/ez-agents/templates/UAT.md +247 -247
- package/ez-agents/templates/agent-output-format.md +404 -0
- package/ez-agents/templates/bdd-feature.md +173 -0
- package/ez-agents/templates/codebase/architecture.md +255 -255
- package/ez-agents/templates/codebase/structure.md +285 -285
- package/ez-agents/templates/copilot-instructions.md +7 -7
- package/ez-agents/templates/debug-subagent-prompt.md +91 -91
- package/ez-agents/templates/discovery.md +146 -146
- package/ez-agents/templates/discussion.md +68 -0
- package/ez-agents/templates/handoff-protocol.md +294 -0
- package/ez-agents/templates/incident-runbook.md +205 -0
- package/ez-agents/templates/mode-workflow-templates.md +301 -0
- package/ez-agents/templates/phase-prompt.md +610 -610
- package/ez-agents/templates/planner-subagent-prompt.md +117 -117
- package/ez-agents/templates/project.md +184 -184
- package/ez-agents/templates/release-checklist.md +136 -0
- package/ez-agents/templates/research.md +552 -552
- package/ez-agents/templates/rollback-plan.md +201 -0
- package/ez-agents/templates/security-user-setup.md +244 -0
- package/ez-agents/templates/skill-validation-rules.md +476 -0
- package/ez-agents/templates/state.md +180 -176
- package/ez-agents/templates/summary-complex.md +59 -59
- package/ez-agents/tests/gates/gate-01-02.test.cjs +812 -0
- package/ez-agents/tests/gates/gate-03-04.test.cjs +762 -0
- package/ez-agents/tests/gates/gate-05-validator.test.cjs +145 -0
- package/ez-agents/tests/gates/gate-06-docs-validator.test.cjs +244 -0
- package/ez-agents/tests/gates/gate-07-release-validator.test.cjs +219 -0
- package/ez-agents/tests/guards/context-budget-guard.test.cjs +145 -0
- package/ez-agents/tests/guards/edge-case-guards.test.cjs +238 -0
- package/ez-agents/tests/guards/hallucination-guard.test.cjs +124 -0
- package/ez-agents/workflows/audit-milestone.md +1 -1
- package/ez-agents/workflows/autonomous.md +131 -30
- package/ez-agents/workflows/complete-milestone.md +1 -1
- package/ez-agents/workflows/discuss-phase.md +1 -1
- package/ez-agents/workflows/execute-phase.md +169 -3
- package/ez-agents/workflows/help.md +86 -133
- package/ez-agents/workflows/hotfix.md +291 -0
- package/ez-agents/workflows/new-milestone.md +340 -11
- package/ez-agents/workflows/new-project.md +294 -318
- package/ez-agents/workflows/plan-phase.md +22 -40
- package/ez-agents/workflows/progress.md +15 -25
- package/ez-agents/workflows/release.md +253 -0
- package/ez-agents/workflows/resume-session.md +215 -0
- package/ez-agents/workflows/run-phase.md +531 -0
- package/ez-agents/workflows/settings.md +2 -35
- package/hooks/dist/ez-check-update.js +81 -81
- package/hooks/dist/ez-context-monitor.js +148 -141
- package/hooks/dist/ez-statusline.js +115 -115
- package/package.json +78 -64
- package/scripts/fix-qwen-installation.js +144 -144
- package/agents/ez-integration-checker.md +0 -443
- package/agents/ez-nyquist-auditor.md +0 -176
- package/agents/ez-plan-checker.md +0 -706
- package/agents/ez-research-synthesizer.md +0 -247
- package/agents/ez-ui-auditor.md +0 -439
- package/agents/ez-ui-checker.md +0 -300
- package/agents/ez-ui-researcher.md +0 -353
- package/commands/ez/add-phase.md +0 -43
- package/commands/ez/add-todo.md +0 -47
- package/commands/ez/auth.md +0 -87
- package/commands/ez/autonomous.md +0 -41
- package/commands/ez/check-todos.md +0 -45
- package/commands/ez/cleanup.md +0 -18
- package/commands/ez/debug.md +0 -168
- package/commands/ez/health.md +0 -22
- package/commands/ez/insert-phase.md +0 -32
- package/commands/ez/join-discord.md +0 -18
- package/commands/ez/list-phase-assumptions.md +0 -46
- package/commands/ez/pause-work.md +0 -38
- package/commands/ez/plan-milestone-gaps.md +0 -34
- package/commands/ez/reapply-patches.md +0 -124
- package/commands/ez/remove-phase.md +0 -31
- package/commands/ez/research-phase.md +0 -190
- package/commands/ez/set-profile.md +0 -34
- package/commands/ez/stats.md +0 -18
- package/commands/ez/ui-phase.md +0 -34
- package/commands/ez/ui-review.md +0 -32
- package/commands/ez/validate-phase.md +0 -35
- package/ez-agents/templates/UI-SPEC.md +0 -100
- package/ez-agents/templates/VALIDATION.md +0 -76
- package/ez-agents/templates/context.md +0 -352
- package/ez-agents/templates/verification-report.md +0 -322
- package/ez-agents/workflows/research-phase.md +0 -74
- package/ez-agents/workflows/ui-phase.md +0 -290
- package/ez-agents/workflows/ui-review.md +0 -157
- package/ez-agents/workflows/validate-phase.md +0 -167
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ez:reapply-patches
|
|
3
|
-
description: Reapply local modifications after an EZ Agents update
|
|
4
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
<purpose>
|
|
8
|
-
After an EZ Agents update wipes and reinstalls files, this command merges user's previously saved local modifications back into the new version. Uses intelligent comparison to handle cases where the upstream file also changed.
|
|
9
|
-
</purpose>
|
|
10
|
-
|
|
11
|
-
<process>
|
|
12
|
-
|
|
13
|
-
## Step 1: Detect backed-up patches
|
|
14
|
-
|
|
15
|
-
Check for local patches directory:
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
# Global install — detect runtime config directory
|
|
19
|
-
if [ -d "$HOME/.config/opencode/ez-local-patches" ]; then
|
|
20
|
-
PATCHES_DIR="$HOME/.config/opencode/ez-local-patches"
|
|
21
|
-
elif [ -d "$HOME/.opencode/ez-local-patches" ]; then
|
|
22
|
-
PATCHES_DIR="$HOME/.opencode/ez-local-patches"
|
|
23
|
-
elif [ -d "$HOME/.gemini/ez-local-patches" ]; then
|
|
24
|
-
PATCHES_DIR="$HOME/.gemini/ez-local-patches"
|
|
25
|
-
else
|
|
26
|
-
PATCHES_DIR="$HOME/.claude/ez-local-patches"
|
|
27
|
-
fi
|
|
28
|
-
# Local install fallback — check all runtime directories
|
|
29
|
-
if [ ! -d "$PATCHES_DIR" ]; then
|
|
30
|
-
for dir in .config/opencode .opencode .gemini .claude; do
|
|
31
|
-
if [ -d "./$dir/ez-local-patches" ]; then
|
|
32
|
-
PATCHES_DIR="./$dir/ez-local-patches"
|
|
33
|
-
break
|
|
34
|
-
fi
|
|
35
|
-
done
|
|
36
|
-
fi
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Read `backup-meta.json` from the patches directory.
|
|
40
|
-
|
|
41
|
-
**If no patches found:**
|
|
42
|
-
```
|
|
43
|
-
No local patches found. Nothing to reapply.
|
|
44
|
-
|
|
45
|
-
Local patches are automatically saved when you run /ez:update
|
|
46
|
-
after modifying any EZ Agents workflow, command, or agent files.
|
|
47
|
-
```
|
|
48
|
-
Exit.
|
|
49
|
-
|
|
50
|
-
## Step 2: Show patch summary
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
## Local Patches to Reapply
|
|
54
|
-
|
|
55
|
-
**Backed up from:** v{from_version}
|
|
56
|
-
**Current version:** {read VERSION file}
|
|
57
|
-
**Files modified:** {count}
|
|
58
|
-
|
|
59
|
-
| # | File | Status |
|
|
60
|
-
|---|------|--------|
|
|
61
|
-
| 1 | {file_path} | Pending |
|
|
62
|
-
| 2 | {file_path} | Pending |
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Step 3: Merge each file
|
|
66
|
-
|
|
67
|
-
For each file in `backup-meta.json`:
|
|
68
|
-
|
|
69
|
-
1. **Read the backed-up version** (user's modified copy from `ez-local-patches/`)
|
|
70
|
-
2. **Read the newly installed version** (current file after update)
|
|
71
|
-
3. **Compare and merge:**
|
|
72
|
-
|
|
73
|
-
- If the new file is identical to the backed-up file: skip (modification was incorporated upstream)
|
|
74
|
-
- If the new file differs: identify the user's modifications and apply them to the new version
|
|
75
|
-
|
|
76
|
-
**Merge strategy:**
|
|
77
|
-
- Read both versions fully
|
|
78
|
-
- Identify sections the user added or modified (look for additions, not just differences from path replacement)
|
|
79
|
-
- Apply user's additions/modifications to the new version
|
|
80
|
-
- If a section the user modified was also changed upstream: flag as conflict, show both versions, ask user which to keep
|
|
81
|
-
|
|
82
|
-
4. **Write merged result** to the installed location
|
|
83
|
-
5. **Report status:**
|
|
84
|
-
- `Merged` — user modifications applied cleanly
|
|
85
|
-
- `Skipped` — modification already in upstream
|
|
86
|
-
- `Conflict` — user chose resolution
|
|
87
|
-
|
|
88
|
-
## Step 4: Update manifest
|
|
89
|
-
|
|
90
|
-
After reapplying, regenerate the file manifest so future updates correctly detect these as user modifications:
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
# The manifest will be regenerated on next /ez:update
|
|
94
|
-
# For now, just note which files were modified
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Step 5: Cleanup option
|
|
98
|
-
|
|
99
|
-
Ask user:
|
|
100
|
-
- "Keep patch backups for reference?" → preserve `ez-local-patches/`
|
|
101
|
-
- "Clean up patch backups?" → remove `ez-local-patches/` directory
|
|
102
|
-
|
|
103
|
-
## Step 6: Report
|
|
104
|
-
|
|
105
|
-
```
|
|
106
|
-
## Patches Reapplied
|
|
107
|
-
|
|
108
|
-
| # | File | Status |
|
|
109
|
-
|---|------|--------|
|
|
110
|
-
| 1 | {file_path} | ✓ Merged |
|
|
111
|
-
| 2 | {file_path} | ○ Skipped (already upstream) |
|
|
112
|
-
| 3 | {file_path} | ⚠ Conflict resolved |
|
|
113
|
-
|
|
114
|
-
{count} file(s) updated. Your local modifications are active again.
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
</process>
|
|
118
|
-
|
|
119
|
-
<success_criteria>
|
|
120
|
-
- [ ] All backed-up patches processed
|
|
121
|
-
- [ ] User modifications merged into new version
|
|
122
|
-
- [ ] Conflicts resolved with user input
|
|
123
|
-
- [ ] Status reported for each file
|
|
124
|
-
</success_criteria>
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ez:remove-phase
|
|
3
|
-
description: Remove a future phase from roadmap and renumber subsequent phases
|
|
4
|
-
argument-hint: <phase-number>
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Bash
|
|
9
|
-
- Glob
|
|
10
|
-
---
|
|
11
|
-
<objective>
|
|
12
|
-
Remove an unstarted future phase from the roadmap and renumber all subsequent phases to maintain a clean, linear sequence.
|
|
13
|
-
|
|
14
|
-
Purpose: Clean removal of work you've decided not to do, without polluting context with cancelled/deferred markers.
|
|
15
|
-
Output: Phase deleted, all subsequent phases renumbered, git commit as historical record.
|
|
16
|
-
</objective>
|
|
17
|
-
|
|
18
|
-
<execution_context>
|
|
19
|
-
@~/.claude/ez-agents/workflows/remove-phase.md
|
|
20
|
-
</execution_context>
|
|
21
|
-
|
|
22
|
-
<context>
|
|
23
|
-
Phase: $ARGUMENTS
|
|
24
|
-
|
|
25
|
-
Roadmap and state are resolved in-workflow via `init phase-op` and targeted reads.
|
|
26
|
-
</context>
|
|
27
|
-
|
|
28
|
-
<process>
|
|
29
|
-
Execute the remove-phase workflow from @~/.claude/ez-agents/workflows/remove-phase.md end-to-end.
|
|
30
|
-
Preserve all validation gates (future phase check, work check), renumbering logic, and commit.
|
|
31
|
-
</process>
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ez:research-phase
|
|
3
|
-
description: Research how to implement a phase (standalone - usually use /ez:plan-phase instead)
|
|
4
|
-
argument-hint: "[phase]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Bash
|
|
8
|
-
- Task
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
<objective>
|
|
12
|
-
Research how to implement a phase. Spawns ez-phase-researcher agent with phase context.
|
|
13
|
-
|
|
14
|
-
**Note:** This is a standalone research command. For most workflows, use `/ez:plan-phase` which integrates research automatically.
|
|
15
|
-
|
|
16
|
-
**Use this command when:**
|
|
17
|
-
- You want to research without planning yet
|
|
18
|
-
- You want to re-research after planning is complete
|
|
19
|
-
- You need to investigate before deciding if a phase is feasible
|
|
20
|
-
|
|
21
|
-
**Orchestrator role:** Parse phase, validate against roadmap, check existing research, gather context, spawn researcher agent, present results.
|
|
22
|
-
|
|
23
|
-
**Why subagent:** Research burns context fast (WebSearch, Context7 queries, source verification). Fresh 200k context for investigation. Main context stays lean for user interaction.
|
|
24
|
-
</objective>
|
|
25
|
-
|
|
26
|
-
<context>
|
|
27
|
-
Phase number: $ARGUMENTS (required)
|
|
28
|
-
|
|
29
|
-
Normalize phase input in step 1 before any directory lookups.
|
|
30
|
-
</context>
|
|
31
|
-
|
|
32
|
-
<process>
|
|
33
|
-
|
|
34
|
-
## 0. Initialize Context
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
INIT=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" init phase-op "$ARGUMENTS")
|
|
38
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Extract from init JSON: `phase_dir`, `phase_number`, `phase_name`, `phase_found`, `commit_docs`, `has_research`, `state_path`, `requirements_path`, `context_path`, `research_path`.
|
|
42
|
-
|
|
43
|
-
Resolve researcher model:
|
|
44
|
-
```bash
|
|
45
|
-
RESEARCHER_MODEL=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" resolve-model ez-phase-researcher --raw)
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## 1. Validate Phase
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
PHASE_INFO=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" roadmap get-phase "${phase_number}")
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
**If `found` is false:** Error and exit. **If `found` is true:** Extract `phase_number`, `phase_name`, `goal` from JSON.
|
|
55
|
-
|
|
56
|
-
## 2. Check Existing Research
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
ls .planning/phases/${PHASE}-*/RESEARCH.md 2>/dev/null
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**If exists:** Offer: 1) Update research, 2) View existing, 3) Skip. Wait for response.
|
|
63
|
-
|
|
64
|
-
**If doesn't exist:** Continue.
|
|
65
|
-
|
|
66
|
-
## 3. Gather Phase Context
|
|
67
|
-
|
|
68
|
-
Use paths from INIT (do not inline file contents in orchestrator context):
|
|
69
|
-
- `requirements_path`
|
|
70
|
-
- `context_path`
|
|
71
|
-
- `state_path`
|
|
72
|
-
|
|
73
|
-
Present summary with phase description and what files the researcher will load.
|
|
74
|
-
|
|
75
|
-
## 4. Spawn ez-phase-researcher Agent
|
|
76
|
-
|
|
77
|
-
Research modes: ecosystem (default), feasibility, implementation, comparison.
|
|
78
|
-
|
|
79
|
-
```markdown
|
|
80
|
-
<research_type>
|
|
81
|
-
Phase Research — investigating HOW to implement a specific phase well.
|
|
82
|
-
</research_type>
|
|
83
|
-
|
|
84
|
-
<key_insight>
|
|
85
|
-
The question is NOT "which library should I use?"
|
|
86
|
-
|
|
87
|
-
The question is: "What do I not know that I don't know?"
|
|
88
|
-
|
|
89
|
-
For this phase, discover:
|
|
90
|
-
- What's the established architecture pattern?
|
|
91
|
-
- What libraries form the standard stack?
|
|
92
|
-
- What problems do people commonly hit?
|
|
93
|
-
- What's SOTA vs what Claude's training thinks is SOTA?
|
|
94
|
-
- What should NOT be hand-rolled?
|
|
95
|
-
</key_insight>
|
|
96
|
-
|
|
97
|
-
<objective>
|
|
98
|
-
Research implementation approach for Phase {phase_number}: {phase_name}
|
|
99
|
-
Mode: ecosystem
|
|
100
|
-
</objective>
|
|
101
|
-
|
|
102
|
-
<files_to_read>
|
|
103
|
-
- {requirements_path} (Requirements)
|
|
104
|
-
- {context_path} (Phase context from discuss-phase, if exists)
|
|
105
|
-
- {state_path} (Prior project decisions and blockers)
|
|
106
|
-
</files_to_read>
|
|
107
|
-
|
|
108
|
-
<additional_context>
|
|
109
|
-
**Phase description:** {phase_description}
|
|
110
|
-
</additional_context>
|
|
111
|
-
|
|
112
|
-
<downstream_consumer>
|
|
113
|
-
Your RESEARCH.md will be loaded by `/ez:plan-phase` which uses specific sections:
|
|
114
|
-
- `## Standard Stack` → Plans use these libraries
|
|
115
|
-
- `## Architecture Patterns` → Task structure follows these
|
|
116
|
-
- `## Don't Hand-Roll` → Tasks NEVER build custom solutions for listed problems
|
|
117
|
-
- `## Common Pitfalls` → Verification steps check for these
|
|
118
|
-
- `## Code Examples` → Task actions reference these patterns
|
|
119
|
-
|
|
120
|
-
Be prescriptive, not exploratory. "Use X" not "Consider X or Y."
|
|
121
|
-
</downstream_consumer>
|
|
122
|
-
|
|
123
|
-
<quality_gate>
|
|
124
|
-
Before declaring complete, verify:
|
|
125
|
-
- [ ] All domains investigated (not just some)
|
|
126
|
-
- [ ] Negative claims verified with official docs
|
|
127
|
-
- [ ] Multiple sources for critical claims
|
|
128
|
-
- [ ] Confidence levels assigned honestly
|
|
129
|
-
- [ ] Section names match what plan-phase expects
|
|
130
|
-
</quality_gate>
|
|
131
|
-
|
|
132
|
-
<output>
|
|
133
|
-
Write to: .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md
|
|
134
|
-
</output>
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
```
|
|
138
|
-
Task(
|
|
139
|
-
prompt=filled_prompt,
|
|
140
|
-
subagent_type="ez-phase-researcher",
|
|
141
|
-
model="{researcher_model}",
|
|
142
|
-
description="Research Phase {phase}"
|
|
143
|
-
)
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
## 5. Handle Agent Return
|
|
147
|
-
|
|
148
|
-
**`## RESEARCH COMPLETE`:** Display summary, offer: Plan phase, Dig deeper, Review full, Done.
|
|
149
|
-
|
|
150
|
-
**`## CHECKPOINT REACHED`:** Present to user, get response, spawn continuation.
|
|
151
|
-
|
|
152
|
-
**`## RESEARCH INCONCLUSIVE`:** Show what was attempted, offer: Add context, Try different mode, Manual.
|
|
153
|
-
|
|
154
|
-
## 6. Spawn Continuation Agent
|
|
155
|
-
|
|
156
|
-
```markdown
|
|
157
|
-
<objective>
|
|
158
|
-
Continue research for Phase {phase_number}: {phase_name}
|
|
159
|
-
</objective>
|
|
160
|
-
|
|
161
|
-
<prior_state>
|
|
162
|
-
<files_to_read>
|
|
163
|
-
- .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md (Existing research)
|
|
164
|
-
</files_to_read>
|
|
165
|
-
</prior_state>
|
|
166
|
-
|
|
167
|
-
<checkpoint_response>
|
|
168
|
-
**Type:** {checkpoint_type}
|
|
169
|
-
**Response:** {user_response}
|
|
170
|
-
</checkpoint_response>
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
```
|
|
174
|
-
Task(
|
|
175
|
-
prompt=continuation_prompt,
|
|
176
|
-
subagent_type="ez-phase-researcher",
|
|
177
|
-
model="{researcher_model}",
|
|
178
|
-
description="Continue research Phase {phase}"
|
|
179
|
-
)
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
</process>
|
|
183
|
-
|
|
184
|
-
<success_criteria>
|
|
185
|
-
- [ ] Phase validated against roadmap
|
|
186
|
-
- [ ] Existing research checked
|
|
187
|
-
- [ ] ez-phase-researcher spawned with context
|
|
188
|
-
- [ ] Checkpoints handled correctly
|
|
189
|
-
- [ ] User knows next steps
|
|
190
|
-
</success_criteria>
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ez:set-profile
|
|
3
|
-
description: Switch model profile for EZ Agents agents (quality/balanced/budget)
|
|
4
|
-
argument-hint: <profile>
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Bash
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
<objective>
|
|
12
|
-
Switch the model profile used by EZ Agents agents. Controls which Claude model each agent uses, balancing quality vs token spend.
|
|
13
|
-
|
|
14
|
-
Routes to the set-profile workflow which handles:
|
|
15
|
-
- Argument validation (quality/balanced/budget)
|
|
16
|
-
- Config file creation if missing
|
|
17
|
-
- Profile update in config.json
|
|
18
|
-
- Confirmation with model table display
|
|
19
|
-
</objective>
|
|
20
|
-
|
|
21
|
-
<execution_context>
|
|
22
|
-
@~/.claude/ez-agents/workflows/set-profile.md
|
|
23
|
-
</execution_context>
|
|
24
|
-
|
|
25
|
-
<process>
|
|
26
|
-
**Follow the set-profile workflow** from `@~/.claude/ez-agents/workflows/set-profile.md`.
|
|
27
|
-
|
|
28
|
-
The workflow handles all logic including:
|
|
29
|
-
1. Profile argument validation
|
|
30
|
-
2. Config file ensuring
|
|
31
|
-
3. Config reading and updating
|
|
32
|
-
4. Model table generation from MODEL_PROFILES
|
|
33
|
-
5. Confirmation display
|
|
34
|
-
</process>
|
package/commands/ez/stats.md
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ez:stats
|
|
3
|
-
description: Display project statistics — phases, plans, requirements, git metrics, and timeline
|
|
4
|
-
allowed-tools:
|
|
5
|
-
- Read
|
|
6
|
-
- Bash
|
|
7
|
-
---
|
|
8
|
-
<objective>
|
|
9
|
-
Display comprehensive project statistics including phase progress, plan execution metrics, requirements completion, git history stats, and project timeline.
|
|
10
|
-
</objective>
|
|
11
|
-
|
|
12
|
-
<execution_context>
|
|
13
|
-
@~/.claude/ez-agents/workflows/stats.md
|
|
14
|
-
</execution_context>
|
|
15
|
-
|
|
16
|
-
<process>
|
|
17
|
-
Execute the stats workflow from @~/.claude/ez-agents/workflows/stats.md end-to-end.
|
|
18
|
-
</process>
|
package/commands/ez/ui-phase.md
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ez:ui-phase
|
|
3
|
-
description: Generate UI design contract (UI-SPEC.md) for frontend phases
|
|
4
|
-
argument-hint: "[phase]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Bash
|
|
9
|
-
- Glob
|
|
10
|
-
- Grep
|
|
11
|
-
- Task
|
|
12
|
-
- WebFetch
|
|
13
|
-
- AskUserQuestion
|
|
14
|
-
- mcp__context7__*
|
|
15
|
-
---
|
|
16
|
-
<objective>
|
|
17
|
-
Create a UI design contract (UI-SPEC.md) for a frontend phase.
|
|
18
|
-
Orchestrates ez-ui-researcher and ez-ui-checker.
|
|
19
|
-
Flow: Validate → Research UI → Verify UI-SPEC → Done
|
|
20
|
-
</objective>
|
|
21
|
-
|
|
22
|
-
<execution_context>
|
|
23
|
-
@~/.claude/ez-agents/workflows/ui-phase.md
|
|
24
|
-
@~/.claude/ez-agents/references/ui-brand.md
|
|
25
|
-
</execution_context>
|
|
26
|
-
|
|
27
|
-
<context>
|
|
28
|
-
Phase number: $ARGUMENTS — optional, auto-detects next unplanned phase if omitted.
|
|
29
|
-
</context>
|
|
30
|
-
|
|
31
|
-
<process>
|
|
32
|
-
Execute @~/.claude/ez-agents/workflows/ui-phase.md end-to-end.
|
|
33
|
-
Preserve all workflow gates.
|
|
34
|
-
</process>
|
package/commands/ez/ui-review.md
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ez:ui-review
|
|
3
|
-
description: Retroactive 6-pillar visual audit of implemented frontend code
|
|
4
|
-
argument-hint: "[phase]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Bash
|
|
9
|
-
- Glob
|
|
10
|
-
- Grep
|
|
11
|
-
- Task
|
|
12
|
-
- AskUserQuestion
|
|
13
|
-
---
|
|
14
|
-
<objective>
|
|
15
|
-
Conduct a retroactive 6-pillar visual audit. Produces UI-REVIEW.md with
|
|
16
|
-
graded assessment (1-4 per pillar). Works on any project.
|
|
17
|
-
Output: {phase_num}-UI-REVIEW.md
|
|
18
|
-
</objective>
|
|
19
|
-
|
|
20
|
-
<execution_context>
|
|
21
|
-
@~/.claude/ez-agents/workflows/ui-review.md
|
|
22
|
-
@~/.claude/ez-agents/references/ui-brand.md
|
|
23
|
-
</execution_context>
|
|
24
|
-
|
|
25
|
-
<context>
|
|
26
|
-
Phase: $ARGUMENTS — optional, defaults to last completed phase.
|
|
27
|
-
</context>
|
|
28
|
-
|
|
29
|
-
<process>
|
|
30
|
-
Execute @~/.claude/ez-agents/workflows/ui-review.md end-to-end.
|
|
31
|
-
Preserve all workflow gates.
|
|
32
|
-
</process>
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ez:validate-phase
|
|
3
|
-
description: Retroactively audit and fill Nyquist validation gaps for a completed phase
|
|
4
|
-
argument-hint: "[phase number]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- Task
|
|
13
|
-
- AskUserQuestion
|
|
14
|
-
---
|
|
15
|
-
<objective>
|
|
16
|
-
Audit Nyquist validation coverage for a completed phase. Three states:
|
|
17
|
-
- (A) VALIDATION.md exists — audit and fill gaps
|
|
18
|
-
- (B) No VALIDATION.md, SUMMARY.md exists — reconstruct from artifacts
|
|
19
|
-
- (C) Phase not executed — exit with guidance
|
|
20
|
-
|
|
21
|
-
Output: updated VALIDATION.md + generated test files.
|
|
22
|
-
</objective>
|
|
23
|
-
|
|
24
|
-
<execution_context>
|
|
25
|
-
@~/.claude/ez-agents/workflows/validate-phase.md
|
|
26
|
-
</execution_context>
|
|
27
|
-
|
|
28
|
-
<context>
|
|
29
|
-
Phase: $ARGUMENTS — optional, defaults to last completed phase.
|
|
30
|
-
</context>
|
|
31
|
-
|
|
32
|
-
<process>
|
|
33
|
-
Execute @~/.claude/ez-agents/workflows/validate-phase.md.
|
|
34
|
-
Preserve all workflow gates.
|
|
35
|
-
</process>
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
phase: {N}
|
|
3
|
-
slug: {phase-slug}
|
|
4
|
-
status: draft
|
|
5
|
-
shadcn_initialized: false
|
|
6
|
-
preset: none
|
|
7
|
-
created: {date}
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Phase {N} — UI Design Contract
|
|
11
|
-
|
|
12
|
-
> Visual and interaction contract for frontend phases. Generated by ez-ui-researcher, verified by ez-ui-checker.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Design System
|
|
17
|
-
|
|
18
|
-
| Property | Value |
|
|
19
|
-
|----------|-------|
|
|
20
|
-
| Tool | {shadcn / none} |
|
|
21
|
-
| Preset | {preset string or "not applicable"} |
|
|
22
|
-
| Component library | {radix / base-ui / none} |
|
|
23
|
-
| Icon library | {library} |
|
|
24
|
-
| Font | {font} |
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Spacing Scale
|
|
29
|
-
|
|
30
|
-
Declared values (must be multiples of 4):
|
|
31
|
-
|
|
32
|
-
| Token | Value | Usage |
|
|
33
|
-
|-------|-------|-------|
|
|
34
|
-
| xs | 4px | Icon gaps, inline padding |
|
|
35
|
-
| sm | 8px | Compact element spacing |
|
|
36
|
-
| md | 16px | Default element spacing |
|
|
37
|
-
| lg | 24px | Section padding |
|
|
38
|
-
| xl | 32px | Layout gaps |
|
|
39
|
-
| 2xl | 48px | Major section breaks |
|
|
40
|
-
| 3xl | 64px | Page-level spacing |
|
|
41
|
-
|
|
42
|
-
Exceptions: {list any, or "none"}
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Typography
|
|
47
|
-
|
|
48
|
-
| Role | Size | Weight | Line Height |
|
|
49
|
-
|------|------|--------|-------------|
|
|
50
|
-
| Body | {px} | {weight} | {ratio} |
|
|
51
|
-
| Label | {px} | {weight} | {ratio} |
|
|
52
|
-
| Heading | {px} | {weight} | {ratio} |
|
|
53
|
-
| Display | {px} | {weight} | {ratio} |
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## Color
|
|
58
|
-
|
|
59
|
-
| Role | Value | Usage |
|
|
60
|
-
|------|-------|-------|
|
|
61
|
-
| Dominant (60%) | {hex} | Background, surfaces |
|
|
62
|
-
| Secondary (30%) | {hex} | Cards, sidebar, nav |
|
|
63
|
-
| Accent (10%) | {hex} | {list specific elements only} |
|
|
64
|
-
| Destructive | {hex} | Destructive actions only |
|
|
65
|
-
|
|
66
|
-
Accent reserved for: {explicit list — never "all interactive elements"}
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## Copywriting Contract
|
|
71
|
-
|
|
72
|
-
| Element | Copy |
|
|
73
|
-
|---------|------|
|
|
74
|
-
| Primary CTA | {specific verb + noun} |
|
|
75
|
-
| Empty state heading | {copy} |
|
|
76
|
-
| Empty state body | {copy + next step} |
|
|
77
|
-
| Error state | {problem + solution path} |
|
|
78
|
-
| Destructive confirmation | {action name}: {confirmation copy} |
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## Registry Safety
|
|
83
|
-
|
|
84
|
-
| Registry | Blocks Used | Safety Gate |
|
|
85
|
-
|----------|-------------|-------------|
|
|
86
|
-
| shadcn official | {list} | not required |
|
|
87
|
-
| {third-party name} | {list} | shadcn view + diff required |
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## Checker Sign-Off
|
|
92
|
-
|
|
93
|
-
- [ ] Dimension 1 Copywriting: PASS
|
|
94
|
-
- [ ] Dimension 2 Visuals: PASS
|
|
95
|
-
- [ ] Dimension 3 Color: PASS
|
|
96
|
-
- [ ] Dimension 4 Typography: PASS
|
|
97
|
-
- [ ] Dimension 5 Spacing: PASS
|
|
98
|
-
- [ ] Dimension 6 Registry Safety: PASS
|
|
99
|
-
|
|
100
|
-
**Approval:** {pending / approved YYYY-MM-DD}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
phase: {N}
|
|
3
|
-
slug: {phase-slug}
|
|
4
|
-
status: draft
|
|
5
|
-
nyquist_compliant: false
|
|
6
|
-
wave_0_complete: false
|
|
7
|
-
created: {date}
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Phase {N} — Validation Strategy
|
|
11
|
-
|
|
12
|
-
> Per-phase validation contract for feedback sampling during execution.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Test Infrastructure
|
|
17
|
-
|
|
18
|
-
| Property | Value |
|
|
19
|
-
|----------|-------|
|
|
20
|
-
| **Framework** | {pytest 7.x / jest 29.x / vitest / go test / other} |
|
|
21
|
-
| **Config file** | {path or "none — Wave 0 installs"} |
|
|
22
|
-
| **Quick run command** | `{quick command}` |
|
|
23
|
-
| **Full suite command** | `{full command}` |
|
|
24
|
-
| **Estimated runtime** | ~{N} seconds |
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Sampling Rate
|
|
29
|
-
|
|
30
|
-
- **After every task commit:** Run `{quick run command}`
|
|
31
|
-
- **After every plan wave:** Run `{full suite command}`
|
|
32
|
-
- **Before `/ez:verify-work`:** Full suite must be green
|
|
33
|
-
- **Max feedback latency:** {N} seconds
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Per-Task Verification Map
|
|
38
|
-
|
|
39
|
-
| Task ID | Plan | Wave | Requirement | Test Type | Automated Command | File Exists | Status |
|
|
40
|
-
|---------|------|------|-------------|-----------|-------------------|-------------|--------|
|
|
41
|
-
| {N}-01-01 | 01 | 1 | REQ-{XX} | unit | `{command}` | ✅ / ❌ W0 | ⬜ pending |
|
|
42
|
-
|
|
43
|
-
*Status: ⬜ pending · ✅ green · ❌ red · ⚠️ flaky*
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Wave 0 Requirements
|
|
48
|
-
|
|
49
|
-
- [ ] `{tests/test_file.py}` — stubs for REQ-{XX}
|
|
50
|
-
- [ ] `{tests/conftest.py}` — shared fixtures
|
|
51
|
-
- [ ] `{framework install}` — if no framework detected
|
|
52
|
-
|
|
53
|
-
*If none: "Existing infrastructure covers all phase requirements."*
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## Manual-Only Verifications
|
|
58
|
-
|
|
59
|
-
| Behavior | Requirement | Why Manual | Test Instructions |
|
|
60
|
-
|----------|-------------|------------|-------------------|
|
|
61
|
-
| {behavior} | REQ-{XX} | {reason} | {steps} |
|
|
62
|
-
|
|
63
|
-
*If none: "All phase behaviors have automated verification."*
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## Validation Sign-Off
|
|
68
|
-
|
|
69
|
-
- [ ] All tasks have `<automated>` verify or Wave 0 dependencies
|
|
70
|
-
- [ ] Sampling continuity: no 3 consecutive tasks without automated verify
|
|
71
|
-
- [ ] Wave 0 covers all MISSING references
|
|
72
|
-
- [ ] No watch-mode flags
|
|
73
|
-
- [ ] Feedback latency < {N}s
|
|
74
|
-
- [ ] `nyquist_compliant: true` set in frontmatter
|
|
75
|
-
|
|
76
|
-
**Approval:** {pending / approved YYYY-MM-DD}
|