@williambeto/ai-workflow 1.19.0 → 2.1.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/CHANGELOG.md +56 -837
- package/PUBLISH_MANIFEST.json +34 -0
- package/README.md +70 -149
- package/{packages/ai-workflow/bin → bin}/ai-workflow.js +0 -0
- package/dist-assets/AGENTS.md +27 -0
- package/dist-assets/agents/astra.md +63 -0
- package/dist-assets/agents/atlas.md +169 -0
- package/dist-assets/agents/nexus.md +42 -0
- package/dist-assets/agents/orion.md +44 -0
- package/dist-assets/agents/phoenix.md +42 -0
- package/dist-assets/agents/sage.md +54 -0
- package/dist-assets/commands/README.md +14 -0
- package/dist-assets/commands/atlas.md +12 -0
- package/dist-assets/commands/audit.md +10 -0
- package/dist-assets/commands/deploy.md +12 -0
- package/dist-assets/commands/discover.md +10 -0
- package/dist-assets/commands/implement.md +28 -0
- package/dist-assets/commands/optimize-tokens.md +10 -0
- package/dist-assets/commands/plan.md +10 -0
- package/dist-assets/commands/release.md +12 -0
- package/dist-assets/commands/run.md +26 -0
- package/dist-assets/commands/spec-create.md +10 -0
- package/dist-assets/commands/spec-implement.md +10 -0
- package/dist-assets/commands/spec-review.md +10 -0
- package/dist-assets/commands/update-memory.md +10 -0
- package/dist-assets/commands/validate.md +12 -0
- package/dist-assets/docs/INDEX.md +21 -0
- package/dist-assets/docs/QUICKSTART.md +23 -0
- package/dist-assets/docs/adr/ADR-0000.md +19 -0
- package/dist-assets/docs/adr/ADR-0001.md +45 -0
- package/dist-assets/docs/adr/ADR-0002.md +62 -0
- package/dist-assets/docs/adr/ADR-0003.md +60 -0
- package/dist-assets/docs/adr/ADR-0004.md +71 -0
- package/dist-assets/docs/adr/ADR-0005.md +22 -0
- package/dist-assets/docs/adr/ADR-0006.md +82 -0
- package/dist-assets/docs/adr/ADR-0007.md +78 -0
- package/dist-assets/docs/api-engine-reference.md +7 -0
- package/{docs → dist-assets/docs}/architecture-policy.md +1 -1
- package/dist-assets/docs/cli-reference.md +27 -0
- package/dist-assets/docs/compatibility/provider-usage.md +38 -0
- package/dist-assets/docs/compatibility/runtime-matrix.md +30 -0
- package/dist-assets/docs/consumer-onboarding.md +17 -0
- package/dist-assets/docs/contributing-guide.md +11 -0
- package/{docs → dist-assets/docs}/design-patterns-policy.md +2 -2
- package/dist-assets/docs/full-documentation.md +113 -0
- package/{docs → dist-assets/docs}/npm-consumer-quickstart.md +18 -46
- package/dist-assets/docs/opencode-readme.md +8 -0
- package/dist-assets/docs/policies/01-BRANCH_GATE.md +63 -0
- package/dist-assets/docs/policies/02-SDD_METHODOLOGY.md +95 -0
- package/dist-assets/docs/policies/03-QUALITY_GATE.md +22 -0
- package/dist-assets/docs/policies/05-AGENT_CONTRACT.md +7 -0
- package/dist-assets/docs/policies/06-FINAL_EVIDENCE_CONTRACT.md +31 -0
- package/dist-assets/docs/policies/07-RELEASE_GATE.md +47 -0
- package/dist-assets/docs/policies/08-PRODUCT_TRUTHFULNESS_AND_PROJECT_DOCS.md +18 -0
- package/dist-assets/docs/policies/09-SPEC_VISIBILITY_AND_PUBLICATION.md +28 -0
- package/dist-assets/docs/policies/10-BEHAVIORAL_CONTRACT_HARDENING.md +9 -0
- package/dist-assets/docs/policies/11-EXECUTABLE_DELEGATION_AND_TRUTHFULNESS.md +7 -0
- package/dist-assets/docs/policies/ORCHESTRATION_PROTOCOL.md +15 -0
- package/dist-assets/docs/policies/PROCEDURE_DELIVERY_ARTIFACTS.md +21 -0
- package/dist-assets/docs/policies/PROCEDURE_DOCUMENTATION_CHECKLIST.md +24 -0
- package/dist-assets/docs/policies/PROCEDURE_UI_CHECKLIST.md +54 -0
- package/dist-assets/docs/profiles/README.md +19 -0
- package/dist-assets/docs/profiles/backend-api.md +5 -0
- package/dist-assets/docs/profiles/documentation.md +3 -0
- package/dist-assets/docs/profiles/frontend-product.md +19 -0
- package/dist-assets/docs/profiles/frontend-utility.md +19 -0
- package/dist-assets/docs/profiles/refactor.md +3 -0
- package/dist-assets/docs/profiles/security-review.md +3 -0
- package/dist-assets/docs/references/frontend-quality/landing-page-quality-checklist.md +11 -0
- package/dist-assets/docs/references/frontend-quality/product-copy-truthfulness.md +7 -0
- package/dist-assets/docs/references/frontend-quality/quality-failure-examples.md +20 -0
- package/dist-assets/docs/references/frontend-quality/visual-composition-patterns.md +10 -0
- package/dist-assets/docs/specs/runtime-operational-contract.md +39 -0
- package/dist-assets/docs/troubleshooting-guide.md +21 -0
- package/dist-assets/examples/README.md +10 -0
- package/dist-assets/examples/autopilot-cycle/00-CONTEXT.md +3 -0
- package/dist-assets/examples/autopilot-cycle/01-requirement.md +16 -0
- package/dist-assets/examples/autopilot-cycle/02-gate-a-check.md +23 -0
- package/dist-assets/examples/autopilot-cycle/03-orion-planning.md +20 -0
- package/dist-assets/examples/autopilot-cycle/04-astra-implementation.md +17 -0
- package/dist-assets/examples/autopilot-cycle/05-sage-validation.md +15 -0
- package/dist-assets/examples/autopilot-cycle/06-phoenix-healing.md +12 -0
- package/dist-assets/examples/autopilot-cycle/07-orchestration-report.md +18 -0
- package/dist-assets/examples/backend-api/00-CONTEXT.md +12 -0
- package/dist-assets/examples/backend-api/01-requirement.md +19 -0
- package/dist-assets/examples/backend-api/02-functional-spec.md +20 -0
- package/dist-assets/examples/backend-api/03-technical-plan.md +15 -0
- package/dist-assets/examples/backend-api/04-pr-breakdown.md +10 -0
- package/dist-assets/examples/backend-api/05-execution-handoff.md +13 -0
- package/dist-assets/examples/backend-api/06-validation-report.md +11 -0
- package/dist-assets/examples/backend-api/07-orchestration-report.md +7 -0
- package/dist-assets/examples/blocked-scenarios/00-CONTEXT.md +9 -0
- package/dist-assets/examples/blocked-scenarios/01-branch-gate-block.md +12 -0
- package/dist-assets/examples/blocked-scenarios/02-quality-gate-block.md +13 -0
- package/dist-assets/examples/blocked-scenarios/03-scope-creep-block.md +13 -0
- package/dist-assets/examples/blocked-scenarios/04-unblock-resolution.md +9 -0
- package/dist-assets/examples/blocked-scenarios/05-orchestration-decision-log.md +11 -0
- package/dist-assets/examples/bugfix-critical/00-CONTEXT.md +12 -0
- package/dist-assets/examples/bugfix-critical/01-bug-report.md +11 -0
- package/dist-assets/examples/bugfix-critical/02-diagnosis-hypothesis.md +11 -0
- package/dist-assets/examples/bugfix-critical/03-technical-plan.md +12 -0
- package/dist-assets/examples/bugfix-critical/04-implementation-handoff.md +8 -0
- package/dist-assets/examples/bugfix-critical/05-validation-report.md +10 -0
- package/dist-assets/examples/bugfix-critical/06-orchestration-report.md +7 -0
- package/dist-assets/examples/cli-package/00-CONTEXT.md +9 -0
- package/dist-assets/examples/cli-package/01-requirement.md +14 -0
- package/dist-assets/examples/cli-package/02-technical-spec.md +16 -0
- package/dist-assets/examples/cli-package/03-technical-plan.md +12 -0
- package/dist-assets/examples/cli-package/04-pr-breakdown.md +9 -0
- package/dist-assets/examples/cli-package/05-release-report.md +15 -0
- package/dist-assets/examples/docs-only-repo/01-requirement.md +31 -0
- package/dist-assets/examples/docs-only-repo/02-functional-spec.md +25 -0
- package/dist-assets/examples/docs-only-repo/03-technical-plan.md +21 -0
- package/dist-assets/examples/docs-only-repo/04-pr-breakdown.md +13 -0
- package/dist-assets/examples/docs-only-repo/05-execution-handoff.md +17 -0
- package/dist-assets/examples/docs-only-repo/06-validation-report.md +16 -0
- package/dist-assets/examples/docs-only-repo/README.md +26 -0
- package/dist-assets/examples/full-stack-checkout/00-CONTEXT.md +9 -0
- package/dist-assets/examples/full-stack-checkout/01-requirement.md +12 -0
- package/dist-assets/examples/full-stack-checkout/02-functional-spec.md +15 -0
- package/dist-assets/examples/full-stack-checkout/03-technical-plan.md +15 -0
- package/dist-assets/examples/full-stack-checkout/04-pr-breakdown.md +8 -0
- package/dist-assets/examples/full-stack-checkout/05-execution-handoff.md +14 -0
- package/dist-assets/examples/full-stack-checkout/06-validation-report.md +12 -0
- package/dist-assets/examples/healing-cycle/00-CONTEXT.md +15 -0
- package/dist-assets/examples/healing-cycle/01-broken-implementation.md +10 -0
- package/dist-assets/examples/healing-cycle/02-sage-fails.md +14 -0
- package/dist-assets/examples/healing-cycle/03-phoenix-diagnosis.md +17 -0
- package/dist-assets/examples/healing-cycle/04-phoenix-fix.md +18 -0
- package/dist-assets/examples/healing-cycle/05-sage-revalidation.md +12 -0
- package/dist-assets/examples/healing-cycle/06-orchestration-log.md +14 -0
- package/dist-assets/examples/infra-deploy/00-CONTEXT.md +9 -0
- package/dist-assets/examples/infra-deploy/01-operational-goal.md +12 -0
- package/dist-assets/examples/infra-deploy/02-architecture-specs.md +15 -0
- package/dist-assets/examples/infra-deploy/03-implementation-plan.md +14 -0
- package/dist-assets/examples/infra-deploy/04-step-breakdown.md +9 -0
- package/dist-assets/examples/infra-deploy/05-execution-handoff.md +13 -0
- package/dist-assets/examples/infra-deploy/06-operational-report.md +11 -0
- package/dist-assets/examples/multi-pr-release/00-CONTEXT.md +9 -0
- package/dist-assets/examples/multi-pr-release/01-requirement.md +13 -0
- package/dist-assets/examples/multi-pr-release/02-strategic-plan.md +13 -0
- package/dist-assets/examples/multi-pr-release/03-pr-breakdown.md +14 -0
- package/dist-assets/examples/multi-pr-release/04-release-plan.md +12 -0
- package/dist-assets/examples/multi-pr-release/05-orchestration-report.md +7 -0
- package/dist-assets/examples/nuxt-dashboard/01-requirement.md +81 -0
- package/dist-assets/examples/nuxt-dashboard/02-functional-spec.md +88 -0
- package/dist-assets/examples/nuxt-dashboard/03-technical-plan.md +76 -0
- package/dist-assets/examples/nuxt-dashboard/04-pr-breakdown.md +219 -0
- package/dist-assets/examples/nuxt-dashboard/05-execution-handoff.md +88 -0
- package/dist-assets/examples/nuxt-dashboard/06-validation-report.md +56 -0
- package/dist-assets/examples/nuxt-dashboard/07-orchestration-report.md +79 -0
- package/dist-assets/examples/nuxt-dashboard/README.md +52 -0
- package/dist-assets/examples/react-dashboard/01-requirement.md +84 -0
- package/dist-assets/examples/react-dashboard/02-functional-spec.md +88 -0
- package/dist-assets/examples/react-dashboard/03-technical-plan.md +76 -0
- package/dist-assets/examples/react-dashboard/04-pr-breakdown.md +218 -0
- package/dist-assets/examples/react-dashboard/05-execution-handoff.md +13 -0
- package/dist-assets/examples/react-dashboard/06-validation-report.md +12 -0
- package/dist-assets/examples/react-dashboard/07-orchestration-report.md +7 -0
- package/dist-assets/examples/react-dashboard/README.md +70 -0
- package/dist-assets/examples/refactoring-service/00-CONTEXT.md +9 -0
- package/dist-assets/examples/refactoring-service/01-debt-report.md +12 -0
- package/dist-assets/examples/refactoring-service/02-behavior-spec.md +11 -0
- package/dist-assets/examples/refactoring-service/03-technical-plan.md +13 -0
- package/dist-assets/examples/refactoring-service/04-pr-breakdown.md +9 -0
- package/dist-assets/examples/refactoring-service/05-execution-handoff.md +14 -0
- package/dist-assets/examples/refactoring-service/06-stability-report.md +12 -0
- package/dist-assets/examples/sdd-cycle/00-CONTEXT.md +12 -0
- package/dist-assets/examples/sdd-cycle/01-raw-request.md +13 -0
- package/dist-assets/examples/sdd-cycle/02-spec-creation.md +18 -0
- package/dist-assets/examples/sdd-cycle/03-spec-review.md +12 -0
- package/dist-assets/examples/sdd-cycle/04-technical-plan.md +16 -0
- package/dist-assets/examples/sdd-cycle/05-pr-breakdown.md +9 -0
- package/dist-assets/examples/sdd-cycle/06-spec-implement.md +13 -0
- package/dist-assets/examples/sdd-cycle/07-validation-against-spec.md +13 -0
- package/dist-assets/examples/wordpress-theme/01-requirement.md +29 -0
- package/dist-assets/examples/wordpress-theme/02-functional-spec.md +22 -0
- package/dist-assets/examples/wordpress-theme/03-technical-plan.md +22 -0
- package/dist-assets/examples/wordpress-theme/04-pr-breakdown.md +14 -0
- package/dist-assets/examples/wordpress-theme/05-execution-handoff.md +17 -0
- package/dist-assets/examples/wordpress-theme/06-validation-report.md +16 -0
- package/dist-assets/examples/wordpress-theme/README.md +32 -0
- package/{harness → dist-assets/harness}/handoffs/HANDOFF.template.md +2 -2
- package/{harness → dist-assets/harness}/workflows/agent-evaluation-checklist.md +5 -5
- package/{harness → dist-assets/harness}/workflows/implement-review-validate.md +24 -0
- package/{harness → dist-assets/harness}/workflows/multi-agent-handoff.md +4 -4
- package/{harness → dist-assets/harness}/workflows/planner-executor-workflow.md +5 -5
- package/{harness → dist-assets/harness}/workflows/requirement-to-pr.md +1 -1
- package/dist-assets/runbooks/agent-delegation-workflow.md +50 -0
- package/dist-assets/runbooks/apply-starter-to-real-project.md +45 -0
- package/dist-assets/runbooks/commands-cheatsheet.md +44 -0
- package/dist-assets/runbooks/how-to-use-skills.md +44 -0
- package/dist-assets/runbooks/private-spec-publication-safety.md +35 -0
- package/{runbooks → dist-assets/runbooks}/spec-driven-development.md +3 -6
- package/dist-assets/runbooks/tutorial-walkthroughs.md +23 -0
- package/dist-assets/runbooks/use-linear-for-operational-planning.md +45 -0
- package/dist-assets/runbooks/use-napkin-project-memory.md +33 -0
- package/dist-assets/skills/architecture/SKILL.md +166 -0
- package/dist-assets/skills/backend-development/SKILL.md +166 -0
- package/dist-assets/skills/deployment/SKILL.md +166 -0
- package/dist-assets/skills/design-principles/SKILL.md +166 -0
- package/dist-assets/skills/documentation/SKILL.md +171 -0
- package/dist-assets/skills/frontend-development/SKILL.md +225 -0
- package/dist-assets/skills/full-stack-development/SKILL.md +166 -0
- package/dist-assets/skills/optimize-tokens/SKILL.md +166 -0
- package/dist-assets/skills/pr-workflow/SKILL.md +166 -0
- package/dist-assets/skills/product-discovery/SKILL.md +166 -0
- package/dist-assets/skills/product-planning/SKILL.md +166 -0
- package/dist-assets/skills/project-memory/SKILL.md +166 -0
- package/dist-assets/skills/prompt-engineer/SKILL.md +166 -0
- package/dist-assets/skills/qa-workflow/SKILL.md +186 -0
- package/dist-assets/skills/refactoring/SKILL.md +166 -0
- package/dist-assets/skills/release-workflow/SKILL.md +166 -0
- package/dist-assets/skills/spec-driven-development/SKILL.md +166 -0
- package/dist-assets/skills/technical-leadership/SKILL.md +166 -0
- package/dist-assets/skills/ui-ux-design/SKILL.md +202 -0
- package/dist-assets/templates/.geminiignore.template +8 -0
- package/dist-assets/templates/CLAUDE.md.template +20 -0
- package/dist-assets/templates/CODEX.md.template +20 -0
- package/dist-assets/templates/GEMINI.md.template +20 -0
- package/dist-assets/templates/HANDOFF.template.md +45 -0
- package/dist-assets/templates/SPEC.template.md +38 -0
- package/dist-assets/templates/change-proposal.template.md +14 -0
- package/dist-assets/templates/owner-evidence/astra-implementation.json +10 -0
- package/dist-assets/templates/owner-evidence/phoenix-remediation.json +8 -0
- package/dist-assets/templates/owner-evidence/sage-revalidation.json +8 -0
- package/dist-assets/templates/owner-evidence/sage-validation.json +8 -0
- package/dist-assets/templates/specs/deep.md +48 -0
- package/dist-assets/templates/specs/standard.md +38 -0
- package/dist-assets/templates/specs/tiny.md +19 -0
- package/package.json +42 -47
- package/src/adapters/index.js +3 -0
- package/src/adapters/platforms/claude.js +126 -0
- package/src/adapters/platforms/codex.js +100 -0
- package/src/adapters/platforms/gemini.js +232 -0
- package/src/cli.js +96 -0
- package/src/commands/collect-evidence.js +61 -0
- package/src/commands/doctor.js +186 -0
- package/{packages/ai-workflow/src → src}/commands/init.js +119 -20
- package/src/commands/run.js +111 -0
- package/src/core/completion-contract.js +35 -0
- package/src/core/gates/branch-gate.js +113 -0
- package/src/core/handoff/handoff-engine.js +78 -0
- package/src/core/healing/cli-remediation-executor.js +151 -0
- package/src/core/healing/healer-engine.js +179 -0
- package/src/core/identity.js +43 -0
- package/{packages/ai-workflow/src → src}/core/install-plan.js +3 -3
- package/src/core/opencode-merge.js +149 -0
- package/{packages/ai-workflow/src → src}/core/package-assets.js +29 -10
- package/src/core/sdd/validator.js +67 -0
- package/src/core/statuses.js +29 -0
- package/src/core/symlink-layout.js +93 -0
- package/src/core/templates.js +218 -0
- package/src/core/validation/canonical-finalization.js +43 -0
- package/src/core/validation/evidence-collector.js +109 -0
- package/src/core/validation/quality-guard.js +243 -0
- package/src/core/workflow-profiles.js +107 -0
- package/.agents/napkin.md +0 -89
- package/.agents/skills/backend-implementer/SKILL.md +0 -490
- package/.agents/skills/build-and-validate/SKILL.md +0 -442
- package/.agents/skills/deploy-engineer/SKILL.md +0 -541
- package/.agents/skills/docs-writer/SKILL.md +0 -430
- package/.agents/skills/frontend-implementer/SKILL.md +0 -488
- package/.agents/skills/interface-design/SKILL.md +0 -428
- package/.agents/skills/interface-design/references/critique.md +0 -67
- package/.agents/skills/interface-design/references/example.md +0 -86
- package/.agents/skills/interface-design/references/principles.md +0 -235
- package/.agents/skills/interface-design/references/validation.md +0 -48
- package/.agents/skills/minimal-context/SKILL.md +0 -177
- package/.agents/skills/napkin/SKILL.md +0 -84
- package/.agents/skills/opencode-agent-design/SKILL.md +0 -77
- package/.agents/skills/playwright-cli/SKILL.md +0 -62
- package/.agents/skills/pr-orchestrator/SKILL.md +0 -366
- package/.agents/skills/product-manager/SKILL.md +0 -519
- package/.agents/skills/seo-audit/SKILL.md +0 -176
- package/.agents/skills/stack-variant-creator/SKILL.md +0 -265
- package/.agents/skills/tech-lead/SKILL.md +0 -453
- package/.agents/skills/tester/SKILL.md +0 -399
- package/.agents/skills/token-economy/SKILL.md +0 -137
- package/.agents/skills/vue-nuxt/SKILL.md +0 -102
- package/.agents/skills/wordpress-engineer/SKILL.md +0 -75
- package/.codex/prompts/README.md +0 -44
- package/.codex/prompts/autopilot.md +0 -50
- package/.codex/prompts/deploy.md +0 -33
- package/.codex/prompts/execute-selected-pr.md +0 -35
- package/.codex/prompts/fix-issue.md +0 -34
- package/.codex/prompts/minimal-context-mode.md +0 -55
- package/.codex/prompts/orchestrate-next.md +0 -33
- package/.codex/prompts/plan-from-requirement.md +0 -37
- package/.codex/prompts/review-implementation.md +0 -33
- package/.codex/prompts/roadmap-audit.md +0 -22
- package/.codex/prompts/specs/create-spec-from-requirement.md +0 -26
- package/.codex/prompts/specs/review-spec.md +0 -29
- package/.codex/prompts/specs/spec-to-pr-breakdown.md +0 -23
- package/.codex/prompts/specs/spec-to-technical-plan.md +0 -28
- package/.codex/prompts/start-project.md +0 -29
- package/.codex/prompts/token-economy-mode.md +0 -48
- package/.codex/prompts/validate-work.md +0 -28
- package/checklists/change-spec-readiness-checklist.md +0 -34
- package/docs/full-documentation.md +0 -661
- package/docs/setup-codex-opencode.md +0 -313
- package/harness/README.md +0 -106
- package/opencode/README.md +0 -84
- package/opencode/agents/README.md +0 -113
- package/opencode/agents/atlas.md +0 -127
- package/opencode/agents/discovery.md +0 -61
- package/opencode/agents/fixer.md +0 -51
- package/opencode/agents/implementer.md +0 -61
- package/opencode/agents/orchestrator.md +0 -145
- package/opencode/agents/planner.md +0 -60
- package/opencode/agents/prompt-engineer.md +0 -50
- package/opencode/agents/release-manager.md +0 -50
- package/opencode/agents/reviewer.md +0 -51
- package/opencode/agents/spec-engineer.md +0 -85
- package/opencode/agents/validator.md +0 -50
- package/opencode/agents/wordpress-engineer.md +0 -49
- package/opencode/commands/README.md +0 -48
- package/opencode/commands/autopilot.md +0 -50
- package/opencode/commands/deploy.md +0 -35
- package/opencode/commands/execute.md +0 -47
- package/opencode/commands/orchestrate.md +0 -37
- package/opencode/commands/plan.md +0 -39
- package/opencode/commands/review.md +0 -33
- package/opencode/commands/roadmap-audit.md +0 -30
- package/opencode/commands/ship.md +0 -48
- package/opencode/commands/specs/create-spec-from-request.md +0 -27
- package/opencode/commands/specs/create-spec-from-requirement.md +0 -25
- package/opencode/commands/specs/review-spec.md +0 -26
- package/opencode/commands/specs/spec-to-pr-breakdown.md +0 -19
- package/opencode/commands/specs/spec-to-tasks.md +0 -26
- package/opencode/commands/specs/spec-to-technical-plan.md +0 -27
- package/opencode/commands/start.md +0 -45
- package/opencode/commands/token-economy.md +0 -29
- package/opencode/commands/validate.md +0 -33
- package/opencode.jsonc +0 -235
- package/packages/ai-workflow/README.md +0 -82
- package/packages/ai-workflow/src/cli.js +0 -70
- package/packages/ai-workflow/src/commands/codex.js +0 -37
- package/packages/ai-workflow/src/commands/doctor.js +0 -168
- package/packages/ai-workflow/src/commands/guide.js +0 -194
- package/packages/ai-workflow/src/core/opencode-merge.js +0 -172
- package/packages/ai-workflow/src/core/symlink-layout.js +0 -54
- package/packages/ai-workflow/src/core/templates.js +0 -275
- package/runbooks/agent-delegation-workflow.md +0 -111
- package/runbooks/apply-starter-to-real-project.md +0 -445
- package/runbooks/commands-cheatsheet.md +0 -71
- package/runbooks/how-to-use-skills.md +0 -713
- package/runbooks/quick-start-guide.md +0 -213
- package/runbooks/tutorial-walkthroughs.md +0 -416
- package/runbooks/use-linear-for-operational-planning.md +0 -185
- package/runbooks/use-napkin-project-memory.md +0 -77
- package/templates/AGENTS.template.md +0 -397
- package/templates/DESIGN.template.md +0 -484
- package/templates/PR-PLAN.template.md +0 -172
- package/templates/README.template.md +0 -293
- package/templates/REQUIREMENT.template.md +0 -165
- package/templates/SPEC.template.md +0 -397
- package/templates/TECH-PLAN.template.md +0 -244
- package/templates/change-proposal.template.md +0 -97
- /package/{checklists/spec-readiness-checklist.md → dist-assets/docs/policies/SPEC_READINESS.md} +0 -0
- /package/{prompts → dist-assets/prompts}/00-bootstrap-project.md +0 -0
- /package/{prompts → dist-assets/prompts}/01-create-requirement.md +0 -0
- /package/{prompts → dist-assets/prompts}/02-create-spec.md +0 -0
- /package/{prompts → dist-assets/prompts}/03-create-tech-plan.md +0 -0
- /package/{prompts → dist-assets/prompts}/04-breakdown-prs.md +0 -0
- /package/{prompts → dist-assets/prompts}/05-implement-pr.md +0 -0
- /package/{prompts → dist-assets/prompts}/06-review-and-fix.md +0 -0
- /package/{prompts → dist-assets/prompts}/07-apply-design.md +0 -0
- /package/{prompts → dist-assets/prompts}/08-validate.md +0 -0
- /package/{prompts → dist-assets/prompts}/09-deploy.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/implement.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/requirement.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/spec.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/tech-plan.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/validate.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/branch-cleanup.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/deploy-checklist.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/publication-readiness-checklist.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/publish-package-checklist.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/team-governance-pr-readiness.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/validate-starter-in-real-project.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/validation-checklist.md +0 -0
- /package/{schemas → dist-assets/schemas}/README.md +0 -0
- /package/{schemas → dist-assets/schemas}/functional-spec.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/handoff.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/pr-breakdown.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/requirement.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/technical-plan.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/validation-report.schema.json +0 -0
- /package/{packages/ai-workflow/src → src}/core/backup.js +0 -0
- /package/{packages/ai-workflow/src → src}/core/filesystem.js +0 -0
|
@@ -1,488 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: frontend-implementer
|
|
3
|
-
description: Use when implementing or reviewing frontend changes involving UI components, pages, state, forms, routing, accessibility, styling, or frontend tests.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
> Token economy active: keep output compact, context minimal. Reference: `token-economy` + `minimal-context` skills.
|
|
7
|
-
|
|
8
|
-
# Frontend Implementer Skill
|
|
9
|
-
|
|
10
|
-
## Purpose
|
|
11
|
-
|
|
12
|
-
Use this skill when Codex needs to implement frontend changes in a controlled, maintainable, and reviewable way.
|
|
13
|
-
|
|
14
|
-
The frontend implementer role is responsible for translating requirements, specifications, or technical plans into frontend code while preserving existing behavior, following project patterns, and minimizing regression risk.
|
|
15
|
-
|
|
16
|
-
This skill focuses on UI implementation, component structure, state handling, API integration from the frontend side, accessibility, responsiveness, validation, and user experience.
|
|
17
|
-
|
|
18
|
-
## When to use this skill
|
|
19
|
-
|
|
20
|
-
Use this skill when the task involves:
|
|
21
|
-
|
|
22
|
-
- creating or updating frontend components;
|
|
23
|
-
- implementing UI screens or layouts;
|
|
24
|
-
- connecting UI to existing services or APIs;
|
|
25
|
-
- handling loading, empty, error, and success states;
|
|
26
|
-
- improving accessibility;
|
|
27
|
-
- fixing frontend bugs;
|
|
28
|
-
- refactoring frontend code within a controlled scope;
|
|
29
|
-
- applying design rules;
|
|
30
|
-
- implementing frontend validation;
|
|
31
|
-
- preparing frontend changes for a pull request.
|
|
32
|
-
|
|
33
|
-
## Core responsibilities
|
|
34
|
-
|
|
35
|
-
When acting as frontend implementer, Codex must:
|
|
36
|
-
|
|
37
|
-
1. understand the requirement, specification, or technical plan;
|
|
38
|
-
2. identify the existing frontend structure and conventions;
|
|
39
|
-
3. follow the project’s component, routing, styling, and state-management patterns;
|
|
40
|
-
4. implement the smallest safe change;
|
|
41
|
-
5. preserve existing behavior unless explicitly changed;
|
|
42
|
-
6. handle relevant UI states;
|
|
43
|
-
7. avoid unnecessary abstractions;
|
|
44
|
-
8. keep components readable and maintainable;
|
|
45
|
-
9. protect accessibility basics;
|
|
46
|
-
10. validate the change with relevant checks;
|
|
47
|
-
11. document assumptions, limitations, and untested areas.
|
|
48
|
-
|
|
49
|
-
## Branch safety gate (mandatory before edits)
|
|
50
|
-
|
|
51
|
-
Before changing files, enforce branch safety:
|
|
52
|
-
|
|
53
|
-
1. run `git status -sb`;
|
|
54
|
-
2. if current branch is `main`, create/switch to a scoped branch before writing:
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
git switch -c feat/<short-task-slug>
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
Never implement directly on `main`.
|
|
61
|
-
|
|
62
|
-
## Frontend implementation principles
|
|
63
|
-
|
|
64
|
-
### 1. Existing patterns first
|
|
65
|
-
|
|
66
|
-
Before adding new patterns, Codex must inspect and follow the existing project style.
|
|
67
|
-
|
|
68
|
-
Prefer the project’s conventions for:
|
|
69
|
-
|
|
70
|
-
- component structure;
|
|
71
|
-
- naming;
|
|
72
|
-
- folder organization;
|
|
73
|
-
- routing;
|
|
74
|
-
- composables/hooks;
|
|
75
|
-
- stores/state management;
|
|
76
|
-
- services/adapters;
|
|
77
|
-
- styling;
|
|
78
|
-
- forms;
|
|
79
|
-
- validation;
|
|
80
|
-
- error handling;
|
|
81
|
-
- tests.
|
|
82
|
-
|
|
83
|
-
Do not introduce a new frontend architecture unless explicitly required by the technical plan.
|
|
84
|
-
|
|
85
|
-
### 2. Small, reviewable changes
|
|
86
|
-
|
|
87
|
-
Implement only what is needed for the current task.
|
|
88
|
-
|
|
89
|
-
Avoid combining unrelated work such as:
|
|
90
|
-
|
|
91
|
-
- feature implementation plus large refactor;
|
|
92
|
-
- UI change plus dependency upgrade;
|
|
93
|
-
- bug fix plus formatting rewrite;
|
|
94
|
-
- component creation plus design system redesign;
|
|
95
|
-
- API integration plus state-management migration.
|
|
96
|
-
|
|
97
|
-
### 3. Preserve behavior
|
|
98
|
-
|
|
99
|
-
Existing behavior must remain unchanged unless the requirement explicitly says otherwise.
|
|
100
|
-
|
|
101
|
-
If behavior changes, Codex must state:
|
|
102
|
-
|
|
103
|
-
- what changed;
|
|
104
|
-
- why it changed;
|
|
105
|
-
- where it changed;
|
|
106
|
-
- how it was validated.
|
|
107
|
-
|
|
108
|
-
### 4. UI states are part of the feature
|
|
109
|
-
|
|
110
|
-
A frontend feature is incomplete if relevant states are ignored.
|
|
111
|
-
|
|
112
|
-
Consider:
|
|
113
|
-
|
|
114
|
-
- loading state;
|
|
115
|
-
- empty state;
|
|
116
|
-
- error state;
|
|
117
|
-
- success state;
|
|
118
|
-
- disabled state;
|
|
119
|
-
- validation state;
|
|
120
|
-
- unauthorized state;
|
|
121
|
-
- not found state;
|
|
122
|
-
- slow network state;
|
|
123
|
-
- mobile/responsive state.
|
|
124
|
-
|
|
125
|
-
Use only the states relevant to the task. Do not overbuild.
|
|
126
|
-
|
|
127
|
-
### 5. Accessibility is not optional
|
|
128
|
-
|
|
129
|
-
When changing UI, Codex must consider accessibility basics.
|
|
130
|
-
|
|
131
|
-
At minimum, check:
|
|
132
|
-
|
|
133
|
-
- semantic HTML where possible;
|
|
134
|
-
- keyboard navigation;
|
|
135
|
-
- labels for form controls;
|
|
136
|
-
- button vs link semantics;
|
|
137
|
-
- focus behavior for modals and interactive elements;
|
|
138
|
-
- visible feedback for errors;
|
|
139
|
-
- no critical information communicated by color alone.
|
|
140
|
-
|
|
141
|
-
### 6. Type safety and contracts
|
|
142
|
-
|
|
143
|
-
When the project uses TypeScript or typed contracts, Codex must preserve type safety.
|
|
144
|
-
|
|
145
|
-
Avoid:
|
|
146
|
-
|
|
147
|
-
- unnecessary `any`;
|
|
148
|
-
- unsafe casts;
|
|
149
|
-
- duplicated types;
|
|
150
|
-
- inconsistent API response shapes;
|
|
151
|
-
- ignoring nullable values;
|
|
152
|
-
- bypassing existing domain or service types.
|
|
153
|
-
|
|
154
|
-
Prefer existing types and interfaces.
|
|
155
|
-
|
|
156
|
-
## Implementation checklist
|
|
157
|
-
|
|
158
|
-
Before editing, identify:
|
|
159
|
-
|
|
160
|
-
- the requirement or task objective;
|
|
161
|
-
- the expected user behavior;
|
|
162
|
-
- the files likely to change;
|
|
163
|
-
- the existing pattern to follow;
|
|
164
|
-
- the UI states that matter;
|
|
165
|
-
- the validation checks to run.
|
|
166
|
-
|
|
167
|
-
During implementation:
|
|
168
|
-
|
|
169
|
-
- keep the change small;
|
|
170
|
-
- reuse existing components when appropriate;
|
|
171
|
-
- avoid duplicating logic;
|
|
172
|
-
- avoid unnecessary global state;
|
|
173
|
-
- avoid hardcoded values when project conventions already exist;
|
|
174
|
-
- keep accessibility in mind;
|
|
175
|
-
- keep responsive behavior in mind;
|
|
176
|
-
- keep error handling consistent;
|
|
177
|
-
- update tests when behavior changes;
|
|
178
|
-
- update documentation only when needed.
|
|
179
|
-
|
|
180
|
-
After implementation:
|
|
181
|
-
|
|
182
|
-
- review changed files;
|
|
183
|
-
- check for unrelated changes;
|
|
184
|
-
- run relevant validation;
|
|
185
|
-
- list untested areas;
|
|
186
|
-
- list regression risks;
|
|
187
|
-
- prepare a concise implementation summary.
|
|
188
|
-
|
|
189
|
-
## Component guidelines
|
|
190
|
-
|
|
191
|
-
When creating or updating a component:
|
|
192
|
-
|
|
193
|
-
- give the component one clear responsibility;
|
|
194
|
-
- keep props explicit and typed when applicable;
|
|
195
|
-
- keep emitted events explicit and typed when applicable;
|
|
196
|
-
- avoid hidden side effects;
|
|
197
|
-
- avoid excessive prop drilling;
|
|
198
|
-
- avoid mixing unrelated UI concerns;
|
|
199
|
-
- avoid large components when extraction improves clarity;
|
|
200
|
-
- do not extract prematurely when the logic is still simple;
|
|
201
|
-
- keep names aligned with the project’s naming convention.
|
|
202
|
-
|
|
203
|
-
## State management guidelines
|
|
204
|
-
|
|
205
|
-
Use local state when the state only belongs to one component or screen.
|
|
206
|
-
|
|
207
|
-
Use shared state only when:
|
|
208
|
-
|
|
209
|
-
- multiple screens or components need the same state;
|
|
210
|
-
- the state must survive navigation;
|
|
211
|
-
- the project already centralizes that type of state;
|
|
212
|
-
- the technical plan requires it.
|
|
213
|
-
|
|
214
|
-
Avoid adding global state just for convenience.
|
|
215
|
-
|
|
216
|
-
## API integration guidelines
|
|
217
|
-
|
|
218
|
-
When connecting frontend code to APIs:
|
|
219
|
-
|
|
220
|
-
- use existing HTTP clients, services, repositories, or adapters;
|
|
221
|
-
- do not call APIs directly from random components if the project has an abstraction layer;
|
|
222
|
-
- handle loading, success, empty, and error states when relevant;
|
|
223
|
-
- preserve existing authentication/session behavior;
|
|
224
|
-
- avoid leaking API response details into UI when the project uses domain mapping;
|
|
225
|
-
- avoid duplicating request logic;
|
|
226
|
-
- avoid hardcoding endpoints when the project has configuration utilities.
|
|
227
|
-
|
|
228
|
-
## Styling guidelines
|
|
229
|
-
|
|
230
|
-
Follow the project’s styling approach.
|
|
231
|
-
|
|
232
|
-
This may include:
|
|
233
|
-
|
|
234
|
-
- CSS;
|
|
235
|
-
- SCSS;
|
|
236
|
-
- Tailwind;
|
|
237
|
-
- CSS modules;
|
|
238
|
-
- design-system components;
|
|
239
|
-
- UI framework classes;
|
|
240
|
-
- theme tokens;
|
|
241
|
-
- CSS variables.
|
|
242
|
-
|
|
243
|
-
Do not introduce a new styling approach unless required.
|
|
244
|
-
|
|
245
|
-
Prefer consistent spacing, typography, and component usage over custom one-off styling.
|
|
246
|
-
|
|
247
|
-
## Form guidelines
|
|
248
|
-
|
|
249
|
-
When implementing forms:
|
|
250
|
-
|
|
251
|
-
- use existing form components and validation patterns;
|
|
252
|
-
- validate required fields;
|
|
253
|
-
- handle invalid input;
|
|
254
|
-
- show useful error messages;
|
|
255
|
-
- prevent duplicate submissions when relevant;
|
|
256
|
-
- preserve entered data after validation errors when appropriate;
|
|
257
|
-
- handle server-side validation errors when relevant;
|
|
258
|
-
- keep accessibility labels and error descriptions clear.
|
|
259
|
-
|
|
260
|
-
## Frontend testing guidelines
|
|
261
|
-
|
|
262
|
-
When tests are available, prefer tests that validate behavior instead of implementation details.
|
|
263
|
-
|
|
264
|
-
Relevant frontend tests may include:
|
|
265
|
-
|
|
266
|
-
- unit tests;
|
|
267
|
-
- component tests;
|
|
268
|
-
- integration tests;
|
|
269
|
-
- E2E tests;
|
|
270
|
-
- accessibility checks;
|
|
271
|
-
- visual regression checks when available.
|
|
272
|
-
|
|
273
|
-
Good tests should verify:
|
|
274
|
-
|
|
275
|
-
- user-visible behavior;
|
|
276
|
-
- critical UI states;
|
|
277
|
-
- validation behavior;
|
|
278
|
-
- routing behavior;
|
|
279
|
-
- API interaction outcomes;
|
|
280
|
-
- regression-prone flows.
|
|
281
|
-
|
|
282
|
-
Avoid tests that only verify internal implementation details unless there is a clear reason.
|
|
283
|
-
|
|
284
|
-
## Output format
|
|
285
|
-
|
|
286
|
-
When using this skill before implementation, Codex should respond with:
|
|
287
|
-
|
|
288
|
-
```md
|
|
289
|
-
# Frontend Implementation Plan
|
|
290
|
-
|
|
291
|
-
## Summary
|
|
292
|
-
|
|
293
|
-
Short explanation of the frontend change.
|
|
294
|
-
|
|
295
|
-
## Scope
|
|
296
|
-
|
|
297
|
-
### Included
|
|
298
|
-
|
|
299
|
-
- Item 1
|
|
300
|
-
- Item 2
|
|
301
|
-
|
|
302
|
-
### Not included
|
|
303
|
-
|
|
304
|
-
- Item 1
|
|
305
|
-
- Item 2
|
|
306
|
-
|
|
307
|
-
## Existing patterns to follow
|
|
308
|
-
|
|
309
|
-
- Pattern 1
|
|
310
|
-
- Pattern 2
|
|
311
|
-
|
|
312
|
-
## Files likely to change
|
|
313
|
-
|
|
314
|
-
- `path/to/file` — expected change
|
|
315
|
-
|
|
316
|
-
## UI states to handle
|
|
317
|
-
|
|
318
|
-
- Loading
|
|
319
|
-
- Empty
|
|
320
|
-
- Error
|
|
321
|
-
- Success
|
|
322
|
-
|
|
323
|
-
## Accessibility considerations
|
|
324
|
-
|
|
325
|
-
- Item 1
|
|
326
|
-
- Item 2
|
|
327
|
-
|
|
328
|
-
## Validation plan
|
|
329
|
-
|
|
330
|
-
- `command`
|
|
331
|
-
- Manual check
|
|
332
|
-
|
|
333
|
-
## Risks
|
|
334
|
-
|
|
335
|
-
- Risk 1
|
|
336
|
-
- Risk 2
|
|
337
|
-
```
|
|
338
|
-
|
|
339
|
-
When using this skill after implementation, Codex should respond with:
|
|
340
|
-
|
|
341
|
-
```md
|
|
342
|
-
# Frontend Implementation Summary
|
|
343
|
-
|
|
344
|
-
## Summary
|
|
345
|
-
|
|
346
|
-
Short explanation of what changed.
|
|
347
|
-
|
|
348
|
-
## Files changed
|
|
349
|
-
|
|
350
|
-
- `path/to/file` — what changed and why
|
|
351
|
-
|
|
352
|
-
## Behavior preserved
|
|
353
|
-
|
|
354
|
-
- Existing behavior that should remain unchanged
|
|
355
|
-
|
|
356
|
-
## Behavior changed
|
|
357
|
-
|
|
358
|
-
- Changed behavior, if any
|
|
359
|
-
|
|
360
|
-
## UI states handled
|
|
361
|
-
|
|
362
|
-
- State 1
|
|
363
|
-
- State 2
|
|
364
|
-
|
|
365
|
-
## Accessibility notes
|
|
366
|
-
|
|
367
|
-
- Note 1
|
|
368
|
-
|
|
369
|
-
## Validation
|
|
370
|
-
|
|
371
|
-
### Executed
|
|
372
|
-
|
|
373
|
-
- `command` — result
|
|
374
|
-
|
|
375
|
-
### Not executed
|
|
376
|
-
|
|
377
|
-
- Check not executed — reason
|
|
378
|
-
|
|
379
|
-
## Regression risks
|
|
380
|
-
|
|
381
|
-
- Risk 1
|
|
382
|
-
- Risk 2
|
|
383
|
-
|
|
384
|
-
## Final status
|
|
385
|
-
|
|
386
|
-
Ready for review | Needs changes | Blocked
|
|
387
|
-
|
|
388
|
-
Effort: AI elapsed ~Xm | Senior dev estimate ~Ym
|
|
389
|
-
```
|
|
390
|
-
|
|
391
|
-
## Severity model
|
|
392
|
-
|
|
393
|
-
Use severity when reporting frontend issues.
|
|
394
|
-
|
|
395
|
-
### High
|
|
396
|
-
|
|
397
|
-
Use `High` when the issue can cause:
|
|
398
|
-
|
|
399
|
-
- broken critical user flow;
|
|
400
|
-
- broken route or screen;
|
|
401
|
-
- broken authentication/session behavior;
|
|
402
|
-
- inaccessible critical interaction;
|
|
403
|
-
- data loss through UI action;
|
|
404
|
-
- severe visual or functional regression;
|
|
405
|
-
- build failure;
|
|
406
|
-
- failing required tests.
|
|
407
|
-
|
|
408
|
-
### Medium
|
|
409
|
-
|
|
410
|
-
Use `Medium` when the issue can cause:
|
|
411
|
-
|
|
412
|
-
- incomplete UI state handling;
|
|
413
|
-
- weak error handling;
|
|
414
|
-
- fragile component structure;
|
|
415
|
-
- inconsistent state management;
|
|
416
|
-
- missing tests for important behavior;
|
|
417
|
-
- accessibility issue in a secondary flow;
|
|
418
|
-
- inconsistent design-system usage;
|
|
419
|
-
- maintainability risk.
|
|
420
|
-
|
|
421
|
-
### Low
|
|
422
|
-
|
|
423
|
-
Use `Low` when the issue is related to:
|
|
424
|
-
|
|
425
|
-
- minor naming issue;
|
|
426
|
-
- small styling inconsistency;
|
|
427
|
-
- small readability improvement;
|
|
428
|
-
- minor documentation gap;
|
|
429
|
-
- non-blocking cleanup.
|
|
430
|
-
|
|
431
|
-
## Boundaries
|
|
432
|
-
|
|
433
|
-
When acting as frontend implementer, Codex must not:
|
|
434
|
-
|
|
435
|
-
- redesign the UI without explicit instruction;
|
|
436
|
-
- introduce new architecture without a technical plan;
|
|
437
|
-
- add dependencies without justification;
|
|
438
|
-
- rewrite unrelated components;
|
|
439
|
-
- silently change existing behavior;
|
|
440
|
-
- bypass existing services or state patterns;
|
|
441
|
-
- ignore accessibility basics;
|
|
442
|
-
- ignore loading or error states when relevant;
|
|
443
|
-
- use `any` or unsafe casts without justification in typed projects;
|
|
444
|
-
- claim validation passed without evidence;
|
|
445
|
-
- make commits unless explicitly instructed.
|
|
446
|
-
|
|
447
|
-
## Approval criteria
|
|
448
|
-
|
|
449
|
-
A frontend implementation can be considered ready for review when:
|
|
450
|
-
|
|
451
|
-
- the requirement or technical plan is followed;
|
|
452
|
-
- the scope is controlled;
|
|
453
|
-
- existing patterns are respected;
|
|
454
|
-
- relevant UI states are handled;
|
|
455
|
-
- accessibility basics are considered;
|
|
456
|
-
- TypeScript/type contracts are preserved when applicable;
|
|
457
|
-
- no unrelated changes were introduced;
|
|
458
|
-
- relevant validation was executed or explicitly marked as not executed;
|
|
459
|
-
- regression risks are listed;
|
|
460
|
-
- no high-severity issue remains.
|
|
461
|
-
|
|
462
|
-
Use `Ready for review` when the implementation is safe for another developer to inspect.
|
|
463
|
-
|
|
464
|
-
Use `Needs changes` when important behavior, validation, accessibility, or maintainability issues remain.
|
|
465
|
-
|
|
466
|
-
Use `Blocked` when required context, files, environment, or decisions are missing.
|
|
467
|
-
|
|
468
|
-
## Good frontend implementer behavior
|
|
469
|
-
|
|
470
|
-
A good frontend implementer response is:
|
|
471
|
-
|
|
472
|
-
- scoped;
|
|
473
|
-
- practical;
|
|
474
|
-
- aligned with existing patterns;
|
|
475
|
-
- careful with UI states;
|
|
476
|
-
- strict about accessibility basics;
|
|
477
|
-
- careful with type safety;
|
|
478
|
-
- explicit about validation;
|
|
479
|
-
- explicit about regression risk.
|
|
480
|
-
|
|
481
|
-
The goal is not to produce a large UI rewrite.
|
|
482
|
-
|
|
483
|
-
The goal is to implement the smallest safe frontend change that satisfies the requirement.
|
|
484
|
-
|
|
485
|
-
## Stop conditions
|
|
486
|
-
|
|
487
|
-
- Stop when the implementation is small, scoped, validated, and ready for review.
|
|
488
|
-
- Stop and report `Blocked` if required context, environment, or files are missing.
|