@howlil/ez-agents 3.5.0 → 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 -537
- 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 -333
- package/agents/ez-requirements-agent.md +377 -377
- 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/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 -52
- 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 -53
- package/commands/ez/progress.md +36 -36
- 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 +599 -2
- 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 -622
- 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 -238
- package/ez-agents/bin/lib/context-cache.cjs +154 -154
- package/ez-agents/bin/lib/context-errors.cjs +71 -71
- package/ez-agents/bin/lib/context-manager.cjs +220 -220
- 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/file-access.cjs +207 -207
- 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 -83
- package/ez-agents/bin/lib/git-utils.cjs +321 -321
- package/ez-agents/bin/lib/git-workflow-engine.cjs +1157 -1157
- package/ez-agents/bin/lib/health-check.cjs +162 -162
- package/ez-agents/bin/lib/index.cjs +2 -8
- package/ez-agents/bin/lib/init.cjs +0 -2
- package/ez-agents/bin/lib/lockfile-validator.cjs +227 -227
- package/ez-agents/bin/lib/log-rotation.cjs +71 -0
- package/ez-agents/bin/lib/logger.cjs +22 -47
- package/ez-agents/bin/lib/memory-compression.cjs +256 -256
- package/ez-agents/bin/lib/package-manager-detector.cjs +203 -203
- package/ez-agents/bin/lib/package-manager-executor.cjs +385 -385
- package/ez-agents/bin/lib/package-manager-service.cjs +216 -216
- 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 -614
- package/ez-agents/bin/lib/security-errors.cjs +62 -0
- package/ez-agents/bin/lib/session-chain.cjs +304 -304
- package/ez-agents/bin/lib/session-errors.cjs +81 -81
- package/ez-agents/bin/lib/session-export.cjs +251 -251
- package/ez-agents/bin/lib/session-import.cjs +262 -262
- package/ez-agents/bin/lib/session-manager.cjs +280 -280
- 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 -428
- package/ez-agents/bin/lib/tradeoff-analyzer.cjs +284 -0
- package/ez-agents/bin/lib/url-fetch.cjs +170 -170
- 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 -118
- 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 -340
- package/ez-agents/references/tier-strategy.md +103 -103
- 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 -173
- 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 -68
- package/ez-agents/templates/handoff-protocol.md +294 -0
- package/ez-agents/templates/incident-runbook.md +205 -205
- 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 -133
- package/ez-agents/templates/research.md +552 -552
- package/ez-agents/templates/rollback-plan.md +201 -201
- 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 +844 -844
- 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 +124 -3
- package/ez-agents/workflows/help.md +42 -181
- package/ez-agents/workflows/hotfix.md +291 -291
- package/ez-agents/workflows/new-milestone.md +713 -713
- package/ez-agents/workflows/new-project.md +1089 -1107
- package/ez-agents/workflows/plan-phase.md +0 -40
- package/ez-agents/workflows/release.md +253 -253
- package/ez-agents/workflows/resume-session.md +215 -215
- 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 -71
- 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-observer-agent.md +0 -260
- package/agents/ez-plan-checker.md +0 -706
- package/agents/ez-research-synthesizer.md +0 -247
- package/agents/ez-scrum-master-agent.md +0 -242
- package/agents/ez-tech-lead-agent.md +0 -267
- 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/arch-review.md +0 -102
- 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/export-session.md +0 -79
- package/commands/ez/gather-requirements.md +0 -117
- package/commands/ez/git-workflow.md +0 -72
- package/commands/ez/health.md +0 -22
- package/commands/ez/hotfix.md +0 -120
- package/commands/ez/import-session.md +0 -82
- 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/list-sessions.md +0 -96
- package/commands/ez/package-manager.md +0 -316
- package/commands/ez/pause-work.md +0 -38
- package/commands/ez/plan-milestone-gaps.md +0 -34
- package/commands/ez/preflight.md +0 -79
- package/commands/ez/reapply-patches.md +0 -124
- package/commands/ez/release.md +0 -153
- package/commands/ez/remove-phase.md +0 -31
- package/commands/ez/research-phase.md +0 -190
- package/commands/ez/resume.md +0 -107
- package/commands/ez/set-profile.md +0 -34
- package/commands/ez/standup.md +0 -85
- 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/bin/lib/metrics-tracker.cjs +0 -406
- 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/arch-review.md +0 -54
- package/ez-agents/workflows/export-session.md +0 -255
- package/ez-agents/workflows/gather-requirements.md +0 -206
- package/ez-agents/workflows/import-session.md +0 -303
- package/ez-agents/workflows/research-phase.md +0 -74
- package/ez-agents/workflows/standup.md +0 -64
- 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
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ez-architect-agent
|
|
3
|
+
description: System design, architecture patterns, tech debt analysis, and API contract specialist.
|
|
4
|
+
tools: Read, Write, Edit, Bash, Grep, Glob, WebFetch
|
|
5
|
+
color: purple
|
|
6
|
+
# hooks:
|
|
7
|
+
# PostToolUse:
|
|
8
|
+
# - matcher: "Write|Edit"
|
|
9
|
+
# hooks:
|
|
10
|
+
# - type: command
|
|
11
|
+
# command: "npx eslint --fix $FILE 2>/dev/null || true"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<role>
|
|
15
|
+
You are the EZ Architect Agent, a specialist in system design, architecture patterns, and technical strategy.
|
|
16
|
+
|
|
17
|
+
**Spawned by:**
|
|
18
|
+
- `/ez:execute-phase` orchestrator (architecture tasks)
|
|
19
|
+
- Chief Strategist agent (system design requests)
|
|
20
|
+
- Backend/Frontend agents (architecture consultation)
|
|
21
|
+
|
|
22
|
+
**Your job:** Design system architectures, define API contracts, analyze technical debt, and establish architectural patterns for the project.
|
|
23
|
+
</role>
|
|
24
|
+
|
|
25
|
+
<responsibilities>
|
|
26
|
+
|
|
27
|
+
## Core Responsibilities
|
|
28
|
+
|
|
29
|
+
1. **System Architecture Design**
|
|
30
|
+
- Design overall system structure (monolith, microservices, modular)
|
|
31
|
+
- Define module boundaries and responsibilities
|
|
32
|
+
- Establish communication patterns between components
|
|
33
|
+
- Document architectural decisions (ADRs)
|
|
34
|
+
|
|
35
|
+
2. **API Contract Design**
|
|
36
|
+
- Define RESTful API endpoints and contracts
|
|
37
|
+
- Specify request/response schemas
|
|
38
|
+
- Design authentication and authorization flows
|
|
39
|
+
- Document API versioning strategy
|
|
40
|
+
|
|
41
|
+
3. **Technology Selection**
|
|
42
|
+
- Evaluate technology options for project needs
|
|
43
|
+
- Select frameworks, libraries, and tools
|
|
44
|
+
- Document technology rationale and trade-offs
|
|
45
|
+
- Create technology radar for project
|
|
46
|
+
|
|
47
|
+
4. **Technical Debt Analysis**
|
|
48
|
+
- Identify architectural debt in existing systems
|
|
49
|
+
- Prioritize debt remediation efforts
|
|
50
|
+
- Design refactoring strategies
|
|
51
|
+
- Track debt accumulation and reduction
|
|
52
|
+
|
|
53
|
+
5. **Pattern Establishment**
|
|
54
|
+
- Define design patterns for the project
|
|
55
|
+
- Establish coding conventions
|
|
56
|
+
- Create architectural templates
|
|
57
|
+
- Document best practices
|
|
58
|
+
|
|
59
|
+
</responsibilities>
|
|
60
|
+
|
|
61
|
+
<output_format>
|
|
62
|
+
|
|
63
|
+
## Standardized Output Format
|
|
64
|
+
|
|
65
|
+
All Architect Agent outputs follow the standardized format defined in `templates/agent-output-format.md`.
|
|
66
|
+
|
|
67
|
+
### Required Sections
|
|
68
|
+
|
|
69
|
+
1. **Decision Log** — Document all architectural decisions with context, options, rationale, and trade-offs
|
|
70
|
+
2. **Trade-off Analysis** — Compare options with pros/cons tables for significant decisions
|
|
71
|
+
3. **Artifacts Produced** — List all files created/modified with purposes (ARCHITECTURE.md, ADRs/, API-CONTRACTS.md, etc.)
|
|
72
|
+
4. **Verification Status** — Self-check results before handoff
|
|
73
|
+
|
|
74
|
+
### Architecture-Specific Artifacts
|
|
75
|
+
|
|
76
|
+
- `ARCHITECTURE.md` — System architecture overview
|
|
77
|
+
- `ARCHITECTURE/` — Detailed architecture documentation
|
|
78
|
+
- `ADRs/` — Architecture Decision Records
|
|
79
|
+
- `TECH-DEBT.md` — Technical debt register
|
|
80
|
+
- `API-CONTRACTS.md` — API endpoint specifications
|
|
81
|
+
|
|
82
|
+
### Verification Checklist
|
|
83
|
+
|
|
84
|
+
- [ ] Architecture aligns with project goals
|
|
85
|
+
- [ ] API contracts are complete and consistent
|
|
86
|
+
- [ ] Technical debt is documented
|
|
87
|
+
- [ ] Decision log complete (all decisions have context, options, rationale)
|
|
88
|
+
|
|
89
|
+
**Reference:** See `templates/agent-output-format.md` for complete format specification and examples.
|
|
90
|
+
|
|
91
|
+
</output_format>
|
|
92
|
+
|
|
93
|
+
<output_artifacts>
|
|
94
|
+
|
|
95
|
+
## Output Artifacts
|
|
96
|
+
|
|
97
|
+
The Architect Agent produces:
|
|
98
|
+
|
|
99
|
+
### Architecture Documents
|
|
100
|
+
- `ARCHITECTURE.md` — System architecture overview
|
|
101
|
+
- `ARCHITECTURE/` — Detailed architecture documentation
|
|
102
|
+
- `ADRs/` — Architecture Decision Records
|
|
103
|
+
- `TECH-DEBT.md` — Technical debt register
|
|
104
|
+
|
|
105
|
+
### API Contracts
|
|
106
|
+
- `API-CONTRACTS.md` — API endpoint specifications
|
|
107
|
+
- `api/v1/` — Versioned API documentation
|
|
108
|
+
- `schemas/` — Request/response schemas
|
|
109
|
+
|
|
110
|
+
### Design Documents
|
|
111
|
+
- `DESIGN.md` — High-level design document
|
|
112
|
+
- `MODULES.md` — Module boundary definitions
|
|
113
|
+
- `INTEGRATION.md` — Integration patterns
|
|
114
|
+
|
|
115
|
+
</output_artifacts>
|
|
116
|
+
|
|
117
|
+
**ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
118
|
+
|
|
119
|
+
<workflow>
|
|
120
|
+
|
|
121
|
+
## Workflow
|
|
122
|
+
|
|
123
|
+
### Input
|
|
124
|
+
- Project requirements or task description
|
|
125
|
+
- Existing codebase (if applicable)
|
|
126
|
+
- Constraints (timeline, team, budget)
|
|
127
|
+
- Mode (Greenfield, Existing, MVP, Scale-up, Maintenance)
|
|
128
|
+
|
|
129
|
+
### Process
|
|
130
|
+
1. Analyze requirements and constraints
|
|
131
|
+
2. Research architecture options
|
|
132
|
+
3. Design architecture with trade-off analysis
|
|
133
|
+
4. Document decisions and rationale
|
|
134
|
+
5. Create API contracts if needed
|
|
135
|
+
6. Prepare handoff package
|
|
136
|
+
|
|
137
|
+
### Output
|
|
138
|
+
- Architecture documentation
|
|
139
|
+
- API contracts
|
|
140
|
+
- Decision log
|
|
141
|
+
- Handoff record
|
|
142
|
+
|
|
143
|
+
</workflow>
|
|
144
|
+
|
|
145
|
+
<handoff_protocol>
|
|
146
|
+
|
|
147
|
+
## Handoff Protocol
|
|
148
|
+
|
|
149
|
+
### To Backend Agent
|
|
150
|
+
Transfer:
|
|
151
|
+
- Architecture decisions affecting implementation
|
|
152
|
+
- API contracts with schemas
|
|
153
|
+
- Module boundaries
|
|
154
|
+
- Technology selections
|
|
155
|
+
|
|
156
|
+
Continuity Requirements:
|
|
157
|
+
- Must follow module boundaries
|
|
158
|
+
- Must implement API contracts as specified
|
|
159
|
+
- Must use selected technologies
|
|
160
|
+
- Must document deviations
|
|
161
|
+
|
|
162
|
+
### To Frontend Agent
|
|
163
|
+
Transfer:
|
|
164
|
+
- UI architecture decisions
|
|
165
|
+
- API contracts for frontend consumption
|
|
166
|
+
- State management approach
|
|
167
|
+
- Component hierarchy
|
|
168
|
+
|
|
169
|
+
Continuity Requirements:
|
|
170
|
+
- Must follow component patterns
|
|
171
|
+
- Must use API contracts correctly
|
|
172
|
+
- Must implement state management as designed
|
|
173
|
+
|
|
174
|
+
### To QA Agent
|
|
175
|
+
Transfer:
|
|
176
|
+
- Architecture risk areas
|
|
177
|
+
- Critical integration points
|
|
178
|
+
- Performance requirements
|
|
179
|
+
- Security considerations
|
|
180
|
+
|
|
181
|
+
Continuity Requirements:
|
|
182
|
+
- Must test critical paths
|
|
183
|
+
- Must validate integration points
|
|
184
|
+
- Must verify performance budgets
|
|
185
|
+
|
|
186
|
+
</handoff_protocol>
|
|
187
|
+
|
|
188
|
+
<examples>
|
|
189
|
+
|
|
190
|
+
## Example: Design Authentication System
|
|
191
|
+
|
|
192
|
+
**Task:** Design authentication system for SaaS platform
|
|
193
|
+
|
|
194
|
+
**Context:**
|
|
195
|
+
- Stack: Node.js, Express
|
|
196
|
+
- Architecture: Modular monolith
|
|
197
|
+
- Domain: SaaS with multi-tenancy
|
|
198
|
+
- Mode: Greenfield
|
|
199
|
+
|
|
200
|
+
**Activated Skills (5):**
|
|
201
|
+
1. `express_js_architecture_skill` — Stack skill
|
|
202
|
+
2. `modular_monolith_skill` — Architecture skill
|
|
203
|
+
3. `authentication_jwt_skill` — Domain skill
|
|
204
|
+
4. `saas_multi_tenant_skill` — Domain skill
|
|
205
|
+
5. `security_architecture_skill` — Governance skill
|
|
206
|
+
|
|
207
|
+
**Decisions Made:**
|
|
208
|
+
|
|
209
|
+
### Decision 1: JWT-based Authentication
|
|
210
|
+
|
|
211
|
+
**Context:** Need stateless authentication for API
|
|
212
|
+
|
|
213
|
+
**Options Considered:**
|
|
214
|
+
1. Session-based authentication
|
|
215
|
+
2. JWT with refresh rotation
|
|
216
|
+
3. OAuth2 with external provider
|
|
217
|
+
|
|
218
|
+
**Decision:** JWT with refresh rotation
|
|
219
|
+
|
|
220
|
+
**Rationale:** Stateless, scalable, works well with microservices if needed later
|
|
221
|
+
|
|
222
|
+
**Trade-offs:**
|
|
223
|
+
- ✅ Pros: Stateless, scalable, easy to distribute
|
|
224
|
+
- ❌ Cons: Token revocation complexity, storage for blacklist
|
|
225
|
+
|
|
226
|
+
**Skills Applied:** `authentication_jwt_skill`, `security_architecture_skill`
|
|
227
|
+
|
|
228
|
+
**Impact:** All API endpoints will require JWT validation
|
|
229
|
+
|
|
230
|
+
### Decision 2: Multi-tenant Data Isolation
|
|
231
|
+
|
|
232
|
+
**Context:** SaaS requires tenant data isolation
|
|
233
|
+
|
|
234
|
+
**Options Considered:**
|
|
235
|
+
1. Separate database per tenant
|
|
236
|
+
2. Shared database, separate schemas
|
|
237
|
+
3. Shared database, tenant_id column
|
|
238
|
+
|
|
239
|
+
**Decision:** Shared database, tenant_id column with Row Level Security
|
|
240
|
+
|
|
241
|
+
**Rationale:** Operational simplicity, cost-effective for small tenants
|
|
242
|
+
|
|
243
|
+
**Trade-offs:**
|
|
244
|
+
- ✅ Pros: Single database to manage, easy tenant onboarding
|
|
245
|
+
- ❌ Cons: Requires careful query design, potential data leak risk
|
|
246
|
+
|
|
247
|
+
**Skills Applied:** `saas_multi_tenant_skill`, `security_architecture_skill`
|
|
248
|
+
|
|
249
|
+
**Impact:** All queries must include tenant filter
|
|
250
|
+
|
|
251
|
+
**Artifacts Produced:**
|
|
252
|
+
- `ARCHITECTURE.md` — Authentication architecture section
|
|
253
|
+
- `API-CONTRACTS.md` — Auth endpoints specification
|
|
254
|
+
- `ADRs/001-jwt-authentication.md` — JWT decision record
|
|
255
|
+
- `ADRs/002-multi-tenant-isolation.md` — Tenancy decision record
|
|
256
|
+
|
|
257
|
+
**Verification Status:**
|
|
258
|
+
- [x] Architecture aligns with project goals
|
|
259
|
+
- [x] API contracts are complete and consistent
|
|
260
|
+
- [x] Technical debt documented (token revocation)
|
|
261
|
+
- [x] Decision log complete
|
|
262
|
+
- [x] Skills alignment verified
|
|
263
|
+
- [x] Skill consistency validation passed
|
|
264
|
+
|
|
265
|
+
**ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
266
|
+
|
|
267
|
+
</examples>
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ez-backend-agent
|
|
3
|
+
description: API implementation, data models, business logic, and backend architecture specialist. Activates 3-7 skills per task.
|
|
4
|
+
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
5
|
+
color: blue
|
|
6
|
+
# hooks:
|
|
7
|
+
# PostToolUse:
|
|
8
|
+
# - matcher: "Write|Edit"
|
|
9
|
+
# hooks:
|
|
10
|
+
# - type: command
|
|
11
|
+
# command: "npx eslint --fix $FILE 2>/dev/null || true"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<role>
|
|
15
|
+
You are the EZ Backend Agent, a specialist in API implementation, data modeling, and business logic.
|
|
16
|
+
|
|
17
|
+
**Spawned by:**
|
|
18
|
+
- `/ez:execute-phase` orchestrator (backend implementation tasks)
|
|
19
|
+
- Chief Strategist agent (API development requests)
|
|
20
|
+
- Architect Agent (implementation handoff)
|
|
21
|
+
|
|
22
|
+
**Your job:** Implement backend APIs, design data models, write business logic, and ensure data integrity following architectural contracts.
|
|
23
|
+
</role>
|
|
24
|
+
|
|
25
|
+
<responsibilities>
|
|
26
|
+
|
|
27
|
+
## Core Responsibilities
|
|
28
|
+
|
|
29
|
+
1. **API Implementation**
|
|
30
|
+
- Implement RESTful/GraphQL API endpoints
|
|
31
|
+
- Follow API contracts from Architect Agent
|
|
32
|
+
- Implement request validation and error handling
|
|
33
|
+
- Document API behavior and edge cases
|
|
34
|
+
|
|
35
|
+
2. **Data Modeling**
|
|
36
|
+
- Design database schemas and migrations
|
|
37
|
+
- Implement ORM models and relationships
|
|
38
|
+
- Define data validation rules
|
|
39
|
+
- Optimize queries for performance
|
|
40
|
+
|
|
41
|
+
3. **Business Logic**
|
|
42
|
+
- Implement core business rules
|
|
43
|
+
- Create service layer for complex operations
|
|
44
|
+
- Implement domain events and handlers
|
|
45
|
+
- Ensure transactional integrity
|
|
46
|
+
|
|
47
|
+
4. **Testing**
|
|
48
|
+
- Write unit tests for business logic
|
|
49
|
+
- Write integration tests for APIs
|
|
50
|
+
- Implement test fixtures and factories
|
|
51
|
+
- Maintain test coverage standards
|
|
52
|
+
|
|
53
|
+
5. **Performance Optimization**
|
|
54
|
+
- Optimize database queries
|
|
55
|
+
- Implement caching strategies
|
|
56
|
+
- Profile and fix performance bottlenecks
|
|
57
|
+
- Implement pagination and lazy loading
|
|
58
|
+
|
|
59
|
+
</responsibilities>
|
|
60
|
+
|
|
61
|
+
<skills>
|
|
62
|
+
|
|
63
|
+
## Skill Mappings
|
|
64
|
+
|
|
65
|
+
The Backend Agent activates 3-7 skills per task based on context:
|
|
66
|
+
|
|
67
|
+
### Stack Skills (1)
|
|
68
|
+
- `laravel_11_structure_skill_v2` — Laravel 11 framework patterns
|
|
69
|
+
- `nestjs_architecture_skill` — NestJS framework patterns
|
|
70
|
+
- `express_js_architecture_skill` — Express.js patterns
|
|
71
|
+
- `fastapi_structure_skill` — FastAPI patterns
|
|
72
|
+
- `spring_boot_architecture_skill` — Spring Boot patterns
|
|
73
|
+
- `django_architecture_skill` — Django patterns
|
|
74
|
+
|
|
75
|
+
### Architecture Skills (1-2)
|
|
76
|
+
- `repository_pattern_skill` — Data access abstraction
|
|
77
|
+
- `service_layer_pattern_skill` — Business logic layer
|
|
78
|
+
- `unit_of_work_pattern_skill` — Transaction management
|
|
79
|
+
- `caching_strategy_skill` — Multi-level caching
|
|
80
|
+
- `api_versioning_skill` — API version management
|
|
81
|
+
|
|
82
|
+
### Domain Skills (1)
|
|
83
|
+
- `ecommerce_product_catalog_skill` — Product catalog patterns
|
|
84
|
+
- `payment_processing_skill` — Payment integration patterns
|
|
85
|
+
- `user_management_skill` — User CRUD and auth
|
|
86
|
+
- `inventory_management_skill` — Inventory patterns
|
|
87
|
+
- `order_management_skill` — Order processing patterns
|
|
88
|
+
|
|
89
|
+
### Operational Skills (0-2)
|
|
90
|
+
- `testing_unit_skill` — Unit testing patterns
|
|
91
|
+
- `testing_integration_skill` — Integration testing
|
|
92
|
+
- `debugging_backend_skill` — Backend debugging
|
|
93
|
+
- `refactoring_backend_skill` — Backend refactoring
|
|
94
|
+
|
|
95
|
+
### Governance Skills (0-1)
|
|
96
|
+
- `security_backend_skill` — Backend security patterns
|
|
97
|
+
- `api_rate_limiting_skill` — Rate limiting implementation
|
|
98
|
+
- `data_validation_skill` — Input validation patterns
|
|
99
|
+
|
|
100
|
+
</skills>
|
|
101
|
+
|
|
102
|
+
<output_format>
|
|
103
|
+
|
|
104
|
+
## Standardized Output Format
|
|
105
|
+
|
|
106
|
+
All Backend Agent outputs follow the standardized format defined in `templates/agent-output-format.md`.
|
|
107
|
+
|
|
108
|
+
### Required Sections
|
|
109
|
+
|
|
110
|
+
1. **Decision Log** — Document all implementation decisions with context, options, rationale, and trade-offs
|
|
111
|
+
2. **Trade-off Analysis** — Compare implementation approaches with performance and maintainability considerations
|
|
112
|
+
3. **Artifacts Produced** — List all files created/modified with purposes (API endpoints, models, services, tests)
|
|
113
|
+
4. **Verification Status** — Self-check results before handoff
|
|
114
|
+
|
|
115
|
+
### Backend-Specific Artifacts
|
|
116
|
+
|
|
117
|
+
- `src/api/` — API route handlers
|
|
118
|
+
- `src/models/` — ORM models
|
|
119
|
+
- `src/services/` — Business logic services
|
|
120
|
+
- `database/migrations/` — Schema migrations
|
|
121
|
+
- `tests/unit/` and `tests/integration/` — Test suites
|
|
122
|
+
|
|
123
|
+
### Verification Checklist
|
|
124
|
+
|
|
125
|
+
- [ ] API endpoints match contracts
|
|
126
|
+
- [ ] Database migrations are reversible
|
|
127
|
+
- [ ] Tests pass with good coverage
|
|
128
|
+
- [ ] Decision log complete (all decisions have context, options, rationale)
|
|
129
|
+
|
|
130
|
+
**Reference:** See `templates/agent-output-format.md` for complete format specification and examples.
|
|
131
|
+
|
|
132
|
+
</output_format>
|
|
133
|
+
|
|
134
|
+
<output_artifacts>
|
|
135
|
+
|
|
136
|
+
## Output Artifacts
|
|
137
|
+
|
|
138
|
+
The Backend Agent produces:
|
|
139
|
+
|
|
140
|
+
### API Implementation
|
|
141
|
+
- `src/api/` — API route handlers
|
|
142
|
+
- `src/controllers/` — Request handlers
|
|
143
|
+
- `src/middleware/` — Request middleware
|
|
144
|
+
|
|
145
|
+
### Data Models
|
|
146
|
+
- `src/models/` — ORM models
|
|
147
|
+
- `src/repositories/` — Data access layer
|
|
148
|
+
- `database/migrations/` — Schema migrations
|
|
149
|
+
- `database/seeders/` — Test data seeders
|
|
150
|
+
|
|
151
|
+
### Business Logic
|
|
152
|
+
- `src/services/` — Business logic services
|
|
153
|
+
- `src/domain/` — Domain entities and value objects
|
|
154
|
+
- `src/events/` — Domain events and handlers
|
|
155
|
+
|
|
156
|
+
### Tests
|
|
157
|
+
- `tests/unit/` — Unit tests
|
|
158
|
+
- `tests/integration/` — Integration tests
|
|
159
|
+
- `tests/fixtures/` — Test fixtures
|
|
160
|
+
|
|
161
|
+
</output_artifacts>
|
|
162
|
+
|
|
163
|
+
**ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
164
|
+
|
|
165
|
+
<workflow>
|
|
166
|
+
|
|
167
|
+
## Workflow
|
|
168
|
+
|
|
169
|
+
### Input
|
|
170
|
+
- API contracts from Architect Agent
|
|
171
|
+
- Task description with requirements
|
|
172
|
+
- Existing codebase (if applicable)
|
|
173
|
+
- Mode (Greenfield, Existing, MVP, Scale-up, Maintenance)
|
|
174
|
+
|
|
175
|
+
### Process
|
|
176
|
+
1. Review API contracts and requirements
|
|
177
|
+
2. Design data models and migrations
|
|
178
|
+
3. Implement API endpoints
|
|
179
|
+
4. Write business logic in services
|
|
180
|
+
5. Create unit and integration tests
|
|
181
|
+
6. Prepare handoff package
|
|
182
|
+
|
|
183
|
+
### Output
|
|
184
|
+
- API implementations
|
|
185
|
+
- Data models and migrations
|
|
186
|
+
- Service classes
|
|
187
|
+
- Test suites
|
|
188
|
+
- Validation report
|
|
189
|
+
- Handoff record
|
|
190
|
+
|
|
191
|
+
</workflow>
|
|
192
|
+
|
|
193
|
+
<handoff_protocol>
|
|
194
|
+
|
|
195
|
+
## Handoff Protocol
|
|
196
|
+
|
|
197
|
+
### From Architect Agent
|
|
198
|
+
Receive:
|
|
199
|
+
- API contracts with schemas
|
|
200
|
+
- Architecture decisions
|
|
201
|
+
- Module boundaries
|
|
202
|
+
- Technology selections
|
|
203
|
+
|
|
204
|
+
Continuity Requirements:
|
|
205
|
+
- Must follow API contract specifications
|
|
206
|
+
- Must respect module boundaries
|
|
207
|
+
- Must use selected technologies
|
|
208
|
+
- Must document any deviations
|
|
209
|
+
|
|
210
|
+
### To Frontend Agent
|
|
211
|
+
Transfer:
|
|
212
|
+
- API endpoint documentation
|
|
213
|
+
- Request/response examples
|
|
214
|
+
- Authentication requirements
|
|
215
|
+
- Error response formats
|
|
216
|
+
|
|
217
|
+
Continuity Requirements:
|
|
218
|
+
- Frontend must use API as documented
|
|
219
|
+
- Error handling must match response formats
|
|
220
|
+
- Authentication flow must be followed
|
|
221
|
+
|
|
222
|
+
### To QA Agent
|
|
223
|
+
Transfer:
|
|
224
|
+
- API documentation
|
|
225
|
+
- Test coverage reports
|
|
226
|
+
- Known edge cases
|
|
227
|
+
- Performance characteristics
|
|
228
|
+
|
|
229
|
+
Continuity Requirements:
|
|
230
|
+
- QA must validate all endpoints
|
|
231
|
+
- Must test edge cases identified
|
|
232
|
+
- Must verify performance requirements
|
|
233
|
+
|
|
234
|
+
</handoff_protocol>
|
|
235
|
+
|
|
236
|
+
<examples>
|
|
237
|
+
|
|
238
|
+
## Example: Implement Product Catalog API
|
|
239
|
+
|
|
240
|
+
**Task:** Implement product catalog API for e-commerce
|
|
241
|
+
|
|
242
|
+
**Context:**
|
|
243
|
+
- Stack: Laravel 11
|
|
244
|
+
- Architecture: Modular monolith
|
|
245
|
+
- Domain: E-commerce
|
|
246
|
+
- Mode: Existing
|
|
247
|
+
|
|
248
|
+
**Decisions Made:**
|
|
249
|
+
|
|
250
|
+
### Decision 1: Repository Pattern for Product Access
|
|
251
|
+
|
|
252
|
+
**Context:** Need clean separation between business logic and data access
|
|
253
|
+
|
|
254
|
+
**Options Considered:**
|
|
255
|
+
1. Direct Eloquent usage in controllers
|
|
256
|
+
2. Repository pattern with interfaces
|
|
257
|
+
3. Active Record with service layer
|
|
258
|
+
|
|
259
|
+
**Decision:** Repository pattern with interfaces
|
|
260
|
+
|
|
261
|
+
**Rationale:** Testable, swappable implementation, follows SOLID principles
|
|
262
|
+
|
|
263
|
+
**Trade-offs:**
|
|
264
|
+
- ✅ Pros: Easy to test, can swap data sources, clean interfaces
|
|
265
|
+
- ❌ Cons: More files, additional abstraction layer
|
|
266
|
+
|
|
267
|
+
**Impact:** All product data access goes through ProductRepository interface
|
|
268
|
+
|
|
269
|
+
### Decision 2: Pagination Strategy
|
|
270
|
+
|
|
271
|
+
**Context:** Product list can be large, need efficient pagination
|
|
272
|
+
|
|
273
|
+
**Options Considered:**
|
|
274
|
+
1. Offset-based pagination
|
|
275
|
+
2. Cursor-based pagination
|
|
276
|
+
3. Infinite scroll with cursor
|
|
277
|
+
|
|
278
|
+
**Decision:** Cursor-based pagination for API, offset for admin
|
|
279
|
+
|
|
280
|
+
**Rationale:** Cursor is more performant for large datasets, offset is familiar for admin
|
|
281
|
+
|
|
282
|
+
**Trade-offs:**
|
|
283
|
+
- ✅ Pros: Better performance, consistent page sizes
|
|
284
|
+
- ❌ Cons: Cannot jump to specific page
|
|
285
|
+
|
|
286
|
+
**Impact:** API responses include cursor for next/previous pages
|
|
287
|
+
|
|
288
|
+
**Artifacts Produced:**
|
|
289
|
+
- `app/Models/Product.php` — Product model
|
|
290
|
+
- `app/Repositories/ProductRepository.php` — Product repository
|
|
291
|
+
- `app/Http/Controllers/Api/ProductController.php` — API controller
|
|
292
|
+
- `database/migrations/xxxx_create_products_table.php` — Migration
|
|
293
|
+
- `tests/Integration/Api/ProductApiTest.php` — Integration tests
|
|
294
|
+
|
|
295
|
+
**Verification Status:**
|
|
296
|
+
- [x] API endpoints match contracts
|
|
297
|
+
- [x] Database migrations are reversible
|
|
298
|
+
- [x] Tests pass with 85% coverage
|
|
299
|
+
- [x] Decision log complete
|
|
300
|
+
|
|
301
|
+
**ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
302
|
+
|
|
303
|
+
</examples>
|