@williambeto/ai-workflow 1.19.1 → 2.2.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 -838
- package/PUBLISH_MANIFEST.json +34 -0
- package/README.md +78 -148
- 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/docs/visual-validation-guide.md +76 -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 +43 -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 +114 -0
- package/src/commands/collect-evidence.js +61 -0
- package/src/commands/doctor.js +186 -0
- package/src/commands/execute.js +172 -0
- package/{packages/ai-workflow/src → src}/commands/init.js +119 -20
- package/src/commands/run.js +112 -0
- package/src/core/completion-contract.js +35 -0
- package/src/core/execution-planner.js +59 -0
- package/src/core/gates/branch-gate.js +146 -0
- package/src/core/handoff/handoff-engine.js +104 -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/request-classifier.js +58 -0
- package/src/core/runtime/opencode-adapter.js +94 -0
- 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 +221 -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/src/core/workflow-state-machine.js +46 -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 -276
- 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
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Technical Plan: Products Dashboard Area
|
|
2
|
+
|
|
3
|
+
## Architecture Summary
|
|
4
|
+
|
|
5
|
+
Add a small products domain that isolates DummyJSON access from dashboard pages. Dashboard pages should consume typed product contracts and repository functions instead of calling `fetch` directly in every component.
|
|
6
|
+
|
|
7
|
+
The UI should reuse the existing dashboard shell, route middleware, Nuxt UI primitives, and Tailwind conventions. The plan assumes a Nuxt app may use `app/pages/dashboard/products/index.vue`, `app/pages/dashboard/products/[id].vue` or `app/pages/dashboard/products/[id]/index.vue`, `domains/products/`, shared HTTP utilities, route middleware for auth, and a componentized dashboard shell.
|
|
8
|
+
|
|
9
|
+
## Proposed Folders And Files
|
|
10
|
+
|
|
11
|
+
| Path | Purpose |
|
|
12
|
+
| ---- | ------- |
|
|
13
|
+
| `domains/products/types.ts` | Product and product list contracts |
|
|
14
|
+
| `domains/products/repository.ts` | DummyJSON product fetch functions |
|
|
15
|
+
| `domains/products/mappers.ts` | Optional response normalization if needed |
|
|
16
|
+
| `app/pages/dashboard/products/index.vue` | Products list route |
|
|
17
|
+
| `app/pages/dashboard/products/[id].vue` | Product detail route if the app uses flat dynamic pages |
|
|
18
|
+
| `app/pages/dashboard/products/[id]/index.vue` | Product detail route if the app uses folder-based dynamic pages |
|
|
19
|
+
| `components/dashboard/products/` | Product-specific UI components if page files become too large |
|
|
20
|
+
| `shared/http/` | Existing shared HTTP utilities if already present |
|
|
21
|
+
|
|
22
|
+
Do not assume all paths exist. Inspect the target repository before editing and follow the local folder pattern.
|
|
23
|
+
|
|
24
|
+
## Implementation Steps
|
|
25
|
+
|
|
26
|
+
1. Inspect the existing dashboard routes, auth middleware, component structure, and data-fetching helpers.
|
|
27
|
+
2. Add products domain types and repository functions for list, search, pagination, and detail fetches.
|
|
28
|
+
3. Implement the products list page using existing dashboard layout conventions.
|
|
29
|
+
4. Wire search and pagination state with clear loading, empty, and error states.
|
|
30
|
+
5. Add the product detail page using the repository detail fetch.
|
|
31
|
+
6. Add create, edit, and delete placeholders without real mutation calls.
|
|
32
|
+
7. Add or update focused tests where the project already has test infrastructure.
|
|
33
|
+
8. Run typecheck, lint, tests, and build before reporting completion.
|
|
34
|
+
|
|
35
|
+
## Dependencies
|
|
36
|
+
|
|
37
|
+
- Existing Nuxt 4 and Vue 3 app.
|
|
38
|
+
- Existing TypeScript configuration.
|
|
39
|
+
- Existing Nuxt UI and Tailwind setup.
|
|
40
|
+
- Existing route middleware for protected dashboard pages.
|
|
41
|
+
- DummyJSON product endpoints.
|
|
42
|
+
- Existing test and validation commands, when available.
|
|
43
|
+
|
|
44
|
+
No new runtime dependency is required for this plan.
|
|
45
|
+
|
|
46
|
+
## Risks
|
|
47
|
+
|
|
48
|
+
- DummyJSON response fields may need mapping before UI use.
|
|
49
|
+
- Product list search and pagination can produce stale results if query state is not handled carefully.
|
|
50
|
+
- Page files can become too large if list, empty, error, and placeholder action UI are all inline.
|
|
51
|
+
- Placeholder actions can be mistaken for real persistence if labels are unclear.
|
|
52
|
+
- Tests may not exist yet in the target project.
|
|
53
|
+
|
|
54
|
+
## Trade-Offs
|
|
55
|
+
|
|
56
|
+
- A small repository layer adds one extra file but keeps DummyJSON details out of pages.
|
|
57
|
+
- Keeping placeholders non-persistent limits scope but still shows intended CRUD workflow.
|
|
58
|
+
- URL query synchronization improves shareability but may be deferred if it increases PR size.
|
|
59
|
+
- Component extraction should happen only when page complexity justifies it.
|
|
60
|
+
|
|
61
|
+
## Validation Plan
|
|
62
|
+
|
|
63
|
+
- Run `npm run typecheck`.
|
|
64
|
+
- Run `npm run lint`.
|
|
65
|
+
- Run `npm run test` if the target project defines it.
|
|
66
|
+
- Run `npm run build`.
|
|
67
|
+
- Manually verify protected route behavior.
|
|
68
|
+
- Manually verify list loading, search, pagination, empty state, error state, and detail navigation.
|
|
69
|
+
- Confirm CRUD placeholders do not send mutation requests.
|
|
70
|
+
|
|
71
|
+
## Rollback Plan
|
|
72
|
+
|
|
73
|
+
- Revert the selected PR if validation fails and the fix is not small.
|
|
74
|
+
- Remove added product routes from dashboard navigation if navigation was modified.
|
|
75
|
+
- Remove the products domain files added by the failing PR.
|
|
76
|
+
- Keep unrelated dashboard routes and auth middleware unchanged.
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# PR Breakdown: Products Dashboard Area
|
|
2
|
+
|
|
3
|
+
## Strategy
|
|
4
|
+
|
|
5
|
+
Build the products area through small PRs that separate data contracts, list behavior, detail behavior, placeholder actions, and validation hardening. Each PR should preserve existing dashboard behavior and avoid implementing future PR scope.
|
|
6
|
+
|
|
7
|
+
## PR 1 — Products Domain Contracts And Repository
|
|
8
|
+
|
|
9
|
+
Goal:
|
|
10
|
+
|
|
11
|
+
Create the typed products domain boundary for DummyJSON access.
|
|
12
|
+
|
|
13
|
+
Scope:
|
|
14
|
+
|
|
15
|
+
- Define product and product list types.
|
|
16
|
+
- Add repository functions for list/search/pagination and detail fetches.
|
|
17
|
+
- Add response mapping only if DummyJSON fields need normalization.
|
|
18
|
+
|
|
19
|
+
Likely files:
|
|
20
|
+
|
|
21
|
+
- `domains/products/types.ts`
|
|
22
|
+
- `domains/products/repository.ts`
|
|
23
|
+
- `domains/products/mappers.ts`
|
|
24
|
+
- Existing shared HTTP utility files if already present
|
|
25
|
+
|
|
26
|
+
Validation:
|
|
27
|
+
|
|
28
|
+
- Run `npm run typecheck`.
|
|
29
|
+
- Run `npm run lint`.
|
|
30
|
+
- Add or run focused repository tests if the project has test infrastructure.
|
|
31
|
+
|
|
32
|
+
Risks:
|
|
33
|
+
|
|
34
|
+
- Response contracts may not match DummyJSON exactly.
|
|
35
|
+
- Repository helpers may duplicate existing HTTP utilities.
|
|
36
|
+
|
|
37
|
+
Dependencies:
|
|
38
|
+
|
|
39
|
+
- Existing HTTP helper conventions.
|
|
40
|
+
|
|
41
|
+
Estimated size:
|
|
42
|
+
|
|
43
|
+
```txt
|
|
44
|
+
small
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## PR 2 — Products List Page With Search And Pagination
|
|
48
|
+
|
|
49
|
+
Goal:
|
|
50
|
+
|
|
51
|
+
Add the protected products list page with search, pagination, and core list states.
|
|
52
|
+
|
|
53
|
+
Scope:
|
|
54
|
+
|
|
55
|
+
- Add the products list dashboard route.
|
|
56
|
+
- Render product rows or cards using existing dashboard components.
|
|
57
|
+
- Wire search and pagination to the products repository.
|
|
58
|
+
- Show loading, empty, and error states.
|
|
59
|
+
|
|
60
|
+
Likely files:
|
|
61
|
+
|
|
62
|
+
- `app/pages/dashboard/products/index.vue`
|
|
63
|
+
- `components/dashboard/products/ProductList.vue`
|
|
64
|
+
- `components/dashboard/products/ProductSearch.vue`
|
|
65
|
+
- `domains/products/repository.ts`
|
|
66
|
+
|
|
67
|
+
Validation:
|
|
68
|
+
|
|
69
|
+
- Run `npm run typecheck`.
|
|
70
|
+
- Run `npm run lint`.
|
|
71
|
+
- Run `npm run test` if available.
|
|
72
|
+
- Run `npm run build`.
|
|
73
|
+
- Manually verify protected route access, search, pagination, loading, empty, and error states.
|
|
74
|
+
|
|
75
|
+
Risks:
|
|
76
|
+
|
|
77
|
+
- Query state may become inconsistent when search changes.
|
|
78
|
+
- Long product names or missing thumbnails may affect layout.
|
|
79
|
+
|
|
80
|
+
Dependencies:
|
|
81
|
+
|
|
82
|
+
- PR 1.
|
|
83
|
+
|
|
84
|
+
Estimated size:
|
|
85
|
+
|
|
86
|
+
```txt
|
|
87
|
+
medium
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## PR 3 — Product Detail Page
|
|
91
|
+
|
|
92
|
+
Goal:
|
|
93
|
+
|
|
94
|
+
Add a protected product detail route for individual product inspection.
|
|
95
|
+
|
|
96
|
+
Scope:
|
|
97
|
+
|
|
98
|
+
- Add the product detail page.
|
|
99
|
+
- Fetch product by ID through the products repository.
|
|
100
|
+
- Render key product attributes and navigation back to the list.
|
|
101
|
+
- Handle loading, not found, and error states.
|
|
102
|
+
|
|
103
|
+
Likely files:
|
|
104
|
+
|
|
105
|
+
- `app/pages/dashboard/products/[id].vue`
|
|
106
|
+
- `app/pages/dashboard/products/[id]/index.vue`
|
|
107
|
+
- `components/dashboard/products/ProductDetail.vue`
|
|
108
|
+
- `domains/products/repository.ts`
|
|
109
|
+
|
|
110
|
+
Validation:
|
|
111
|
+
|
|
112
|
+
- Run `npm run typecheck`.
|
|
113
|
+
- Run `npm run lint`.
|
|
114
|
+
- Run `npm run test` if available.
|
|
115
|
+
- Run `npm run build`.
|
|
116
|
+
- Manually verify valid, invalid, and failing product detail states.
|
|
117
|
+
|
|
118
|
+
Risks:
|
|
119
|
+
|
|
120
|
+
- Dynamic route pattern may differ from the target project.
|
|
121
|
+
- Invalid IDs may show a generic error instead of a useful not found state.
|
|
122
|
+
|
|
123
|
+
Dependencies:
|
|
124
|
+
|
|
125
|
+
- PR 1.
|
|
126
|
+
- PR 2 for list-to-detail navigation.
|
|
127
|
+
|
|
128
|
+
Estimated size:
|
|
129
|
+
|
|
130
|
+
```txt
|
|
131
|
+
small
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## PR 4 — Create, Edit, Delete Placeholders And UX States
|
|
135
|
+
|
|
136
|
+
Goal:
|
|
137
|
+
|
|
138
|
+
Expose CRUD-style entry points without implementing persistence.
|
|
139
|
+
|
|
140
|
+
Scope:
|
|
141
|
+
|
|
142
|
+
- Add create entry point from the list page.
|
|
143
|
+
- Add edit and delete entry points from detail or list actions.
|
|
144
|
+
- Make placeholder behavior explicit and non-persistent.
|
|
145
|
+
- Refine empty and error state copy if needed.
|
|
146
|
+
|
|
147
|
+
Likely files:
|
|
148
|
+
|
|
149
|
+
- `app/pages/dashboard/products/index.vue`
|
|
150
|
+
- Product detail route file selected in PR 3
|
|
151
|
+
- `components/dashboard/products/`
|
|
152
|
+
|
|
153
|
+
Validation:
|
|
154
|
+
|
|
155
|
+
- Run `npm run typecheck`.
|
|
156
|
+
- Run `npm run lint`.
|
|
157
|
+
- Run `npm run test` if available.
|
|
158
|
+
- Confirm no mutation requests are sent.
|
|
159
|
+
- Manually verify placeholder copy is clear.
|
|
160
|
+
|
|
161
|
+
Risks:
|
|
162
|
+
|
|
163
|
+
- Users may mistake placeholder actions for real persistence.
|
|
164
|
+
- Delete controls may look destructive even though no mutation exists.
|
|
165
|
+
|
|
166
|
+
Dependencies:
|
|
167
|
+
|
|
168
|
+
- PR 2.
|
|
169
|
+
- PR 3.
|
|
170
|
+
|
|
171
|
+
Estimated size:
|
|
172
|
+
|
|
173
|
+
```txt
|
|
174
|
+
small
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## PR 5 — Tests And Validation Hardening
|
|
178
|
+
|
|
179
|
+
Goal:
|
|
180
|
+
|
|
181
|
+
Strengthen confidence that the products workflow is stable and ready for future backend integration.
|
|
182
|
+
|
|
183
|
+
Scope:
|
|
184
|
+
|
|
185
|
+
- Add missing tests for repository behavior, list states, and detail states where the project supports tests.
|
|
186
|
+
- Confirm build, lint, typecheck, and existing tests pass.
|
|
187
|
+
- Document validation evidence and remaining risks.
|
|
188
|
+
|
|
189
|
+
Likely files:
|
|
190
|
+
|
|
191
|
+
- Existing test folders used by the target project
|
|
192
|
+
- `domains/products/`
|
|
193
|
+
- `components/dashboard/products/`
|
|
194
|
+
- PR validation notes or pull request description
|
|
195
|
+
|
|
196
|
+
Validation:
|
|
197
|
+
|
|
198
|
+
- Run `npm run typecheck`.
|
|
199
|
+
- Run `npm run lint`.
|
|
200
|
+
- Run `npm run test`.
|
|
201
|
+
- Run `npm run build`.
|
|
202
|
+
|
|
203
|
+
Risks:
|
|
204
|
+
|
|
205
|
+
- The target project may not have test infrastructure yet.
|
|
206
|
+
- Tests may need to mock DummyJSON to stay deterministic.
|
|
207
|
+
|
|
208
|
+
Dependencies:
|
|
209
|
+
|
|
210
|
+
- PR 1.
|
|
211
|
+
- PR 2.
|
|
212
|
+
- PR 3.
|
|
213
|
+
- PR 4.
|
|
214
|
+
|
|
215
|
+
Estimated size:
|
|
216
|
+
|
|
217
|
+
```txt
|
|
218
|
+
medium
|
|
219
|
+
```
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Handoff: PR 2 Products List Page
|
|
2
|
+
|
|
3
|
+
## Source Agent
|
|
4
|
+
|
|
5
|
+
Planner
|
|
6
|
+
|
|
7
|
+
## Target Agent
|
|
8
|
+
|
|
9
|
+
Executor
|
|
10
|
+
|
|
11
|
+
## Objective
|
|
12
|
+
|
|
13
|
+
Implement PR 2: add the protected products list page with search, pagination, and core list states.
|
|
14
|
+
|
|
15
|
+
## Context
|
|
16
|
+
|
|
17
|
+
The Nuxt Dashboard Boilerplate already has a protected dashboard area, a dashboard shell, and products domain contracts from PR 1. The products list should use DummyJSON through the products repository instead of calling the API directly from unrelated UI code.
|
|
18
|
+
|
|
19
|
+
This handoff covers only the list page. Product detail and real CRUD behavior are separate PRs.
|
|
20
|
+
|
|
21
|
+
## Decisions Already Made
|
|
22
|
+
|
|
23
|
+
- Use DummyJSON as the demo product data source.
|
|
24
|
+
- Keep product API access behind `domains/products/`.
|
|
25
|
+
- Reuse existing dashboard layout, route middleware, Nuxt UI, and Tailwind conventions.
|
|
26
|
+
- Implement create, edit, and delete behavior in a later PR.
|
|
27
|
+
- Keep search and pagination simple unless the existing app already has a query-state convention.
|
|
28
|
+
|
|
29
|
+
## Files In Scope
|
|
30
|
+
|
|
31
|
+
- `app/pages/dashboard/products/index.vue` — add or update the protected products list route.
|
|
32
|
+
- `components/dashboard/products/` — add small list, search, pagination, empty, or error components only if the page becomes too large.
|
|
33
|
+
- `domains/products/repository.ts` — use or lightly adjust list/search/pagination fetch functions from PR 1.
|
|
34
|
+
- `domains/products/types.ts` — use existing product contracts and adjust only if PR 1 missed a required list field.
|
|
35
|
+
- Existing dashboard navigation file — add a products link only if navigation is centrally configured.
|
|
36
|
+
|
|
37
|
+
## Files Out Of Scope
|
|
38
|
+
|
|
39
|
+
- `app/pages/dashboard/products/[id].vue` — product detail belongs to PR 3.
|
|
40
|
+
- `app/pages/dashboard/products/[id]/index.vue` — product detail belongs to PR 3.
|
|
41
|
+
- Authentication middleware files — existing protected route behavior should be reused.
|
|
42
|
+
- Global design system files — layout rules should be followed, not redesigned.
|
|
43
|
+
- Backend API routes — DummyJSON access should remain client or repository level for this example.
|
|
44
|
+
|
|
45
|
+
## Constraints
|
|
46
|
+
|
|
47
|
+
- Preserve existing behavior unless explicitly changed.
|
|
48
|
+
- Keep the change small and reviewable.
|
|
49
|
+
- Do not implement future PRs.
|
|
50
|
+
- Do not introduce unrelated dependencies or tooling.
|
|
51
|
+
- Follow existing repository patterns.
|
|
52
|
+
- Do not add real create, edit, or delete mutation behavior.
|
|
53
|
+
- Keep DummyJSON-specific code inside the products domain or existing shared HTTP utility.
|
|
54
|
+
|
|
55
|
+
## Validation Required
|
|
56
|
+
|
|
57
|
+
- Run `npm run typecheck` and record the result.
|
|
58
|
+
- Run `npm run lint` and record the result.
|
|
59
|
+
- Run `npm run test` if the target project defines it.
|
|
60
|
+
- Run `npm run build`.
|
|
61
|
+
- Manually verify authenticated access to the products route.
|
|
62
|
+
- Manually verify list loading, search, pagination, empty state, and error state.
|
|
63
|
+
- Confirm the list page does not call real mutation endpoints.
|
|
64
|
+
|
|
65
|
+
## Known Risks
|
|
66
|
+
|
|
67
|
+
- Search and pagination state can become inconsistent if the query changes while a page request is pending.
|
|
68
|
+
- Missing thumbnails or long product names can break compact dashboard layouts.
|
|
69
|
+
- DummyJSON response shape may require a small mapper update.
|
|
70
|
+
- The target project may not have test infrastructure for page-level states.
|
|
71
|
+
|
|
72
|
+
## Stop Conditions
|
|
73
|
+
|
|
74
|
+
- Stop if the dashboard route protection pattern cannot be identified.
|
|
75
|
+
- Stop if PR 1 products repository contracts are missing or incompatible.
|
|
76
|
+
- Stop if implementing list behavior requires changing auth, global layout, or unrelated navigation architecture.
|
|
77
|
+
- Stop if new dependencies appear necessary.
|
|
78
|
+
- Stop if DummyJSON is unavailable and no approved mock strategy exists.
|
|
79
|
+
|
|
80
|
+
## Expected Output
|
|
81
|
+
|
|
82
|
+
- Summary of implemented list behavior.
|
|
83
|
+
- Files changed.
|
|
84
|
+
- Behavior preserved and behavior changed.
|
|
85
|
+
- Validation commands with results.
|
|
86
|
+
- Manual checks performed.
|
|
87
|
+
- Untested areas and remaining risks.
|
|
88
|
+
- Final recommendation using the repository approval labels.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Validation Report: PR 2 Products List Page
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
```txt
|
|
6
|
+
Example expected validation report, not actual results from this repository.
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
The target Nuxt project should run these checks after implementing PR 2. This repository does not contain the Nuxt application, so the commands below are illustrative expected commands for that project.
|
|
10
|
+
|
|
11
|
+
## Commands Run
|
|
12
|
+
|
|
13
|
+
| Command | Result | Evidence |
|
|
14
|
+
| ------- | ------ | -------- |
|
|
15
|
+
| `npm run typecheck` | Example expected pass | Confirms products list types, repository contracts, and page usage are valid |
|
|
16
|
+
| `npm run lint` | Example expected pass | Confirms the changed Vue and TypeScript files follow project lint rules |
|
|
17
|
+
| `npm run test` | Example expected pass or not configured | Confirms product list behavior if the target project has tests |
|
|
18
|
+
| `npm run build` | Example expected pass | Confirms the Nuxt app can build with the products list route |
|
|
19
|
+
|
|
20
|
+
## Checks
|
|
21
|
+
|
|
22
|
+
| Check | Result | Evidence |
|
|
23
|
+
| ----- | ------ | -------- |
|
|
24
|
+
| Protected route behavior | Example expected pass | Authenticated user can open `/dashboard/products`; unauthenticated behavior follows existing middleware |
|
|
25
|
+
| Product list rendering | Example expected pass | Products show title, price, category, stock, and thumbnail when available |
|
|
26
|
+
| Search | Example expected pass | Search input updates product results and handles empty query |
|
|
27
|
+
| Pagination | Example expected pass | Next and previous page controls update displayed results |
|
|
28
|
+
| Loading state | Example expected pass | Loading indicator appears while product data is requested |
|
|
29
|
+
| Empty state | Example expected pass | Empty message appears when no product matches the query |
|
|
30
|
+
| Error state | Example expected pass | Request failure shows a recoverable error message |
|
|
31
|
+
| Scope control | Example expected pass | Detail page and CRUD mutations are not implemented in PR 2 |
|
|
32
|
+
|
|
33
|
+
## Issues
|
|
34
|
+
|
|
35
|
+
No confirmed issues in this example report.
|
|
36
|
+
|
|
37
|
+
Potential observations to record in a real PR:
|
|
38
|
+
|
|
39
|
+
- If `npm run test` is not configured, mark tests as not run and explain the project gap.
|
|
40
|
+
- If DummyJSON cannot be reached during manual validation, record the network failure and use a deterministic mock only if the project already supports one.
|
|
41
|
+
- If URL query synchronization is deferred, list it as a follow-up rather than expanding PR 2.
|
|
42
|
+
|
|
43
|
+
## Remaining Risks
|
|
44
|
+
|
|
45
|
+
- DummyJSON availability can affect manual validation.
|
|
46
|
+
- Search and pagination behavior may need more automated coverage in a later PR.
|
|
47
|
+
- Missing thumbnail and long text layout should be checked across common viewport widths.
|
|
48
|
+
- Placeholder CRUD actions are not covered until PR 4.
|
|
49
|
+
|
|
50
|
+
## Recommendation
|
|
51
|
+
|
|
52
|
+
```txt
|
|
53
|
+
Approved with notes
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
PR 2 can move forward when the target project records passing typecheck, lint, build, relevant tests, and manual evidence for protected access, search, pagination, loading, empty, and error states.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Orchestration Report
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Demonstrate that gate-based automatic orchestration works for both success and blocked transitions.
|
|
6
|
+
|
|
7
|
+
References:
|
|
8
|
+
|
|
9
|
+
```txt
|
|
10
|
+
harness/workflows/multi-agent-handoff.md
|
|
11
|
+
opencode/commands/Atlas.md
|
|
12
|
+
harness/handoffs/HANDOFF.template.md
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Scenario A — PASS path
|
|
16
|
+
|
|
17
|
+
### Context
|
|
18
|
+
|
|
19
|
+
- Selected PR: `PR-1 — Add products list page`
|
|
20
|
+
- Existing artifacts: requirement, functional spec, technical plan, PR breakdown, execution handoff
|
|
21
|
+
- Expected chain: `Orion -> Astra -> Sage -> Orion`
|
|
22
|
+
|
|
23
|
+
### Gate results
|
|
24
|
+
|
|
25
|
+
| Gate | Input status | Result | Next agent |
|
|
26
|
+
| ---- | ------------ | ------ | ---------- |
|
|
27
|
+
| A (`Orion -> Astra`) | Selected PR scope + handoff complete | Pass | `Astra` |
|
|
28
|
+
| B (`Astra -> Sage`) | Scoped implementation + branch gate evidence + validation notes present | Pass | `Sage` |
|
|
29
|
+
| C (`Sage -> Orion`) | Findings severity-ranked; no unresolved High/Medium blockers | Pass | `Orion` |
|
|
30
|
+
|
|
31
|
+
### Autopilot output sample
|
|
32
|
+
|
|
33
|
+
```md
|
|
34
|
+
Current workflow step: Sage
|
|
35
|
+
Gate result: Pass
|
|
36
|
+
Next agent to run: Orion
|
|
37
|
+
Required handoff packet:
|
|
38
|
+
- validation report with commands and evidence
|
|
39
|
+
- merge recommendation
|
|
40
|
+
- remaining risks (if any)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Scenario B — BLOCKED path
|
|
44
|
+
|
|
45
|
+
### Context
|
|
46
|
+
|
|
47
|
+
- Selected PR: `PR-2 — Add product filters`
|
|
48
|
+
- Implementation manager delivered implementation notes but omitted branch gate evidence
|
|
49
|
+
- Current branch during execution was not proven outside `main`
|
|
50
|
+
|
|
51
|
+
### Gate result
|
|
52
|
+
|
|
53
|
+
| Gate | Block reason | Result | Return owner |
|
|
54
|
+
| ---- | ------------ | ------ | ------------ |
|
|
55
|
+
| B (`Astra -> Sage`) | Missing branch gate evidence (`git status -sb` before edits) | Blocked | `Astra` |
|
|
56
|
+
|
|
57
|
+
### Autopilot output sample
|
|
58
|
+
|
|
59
|
+
```md
|
|
60
|
+
Current workflow step: Astra
|
|
61
|
+
Gate result: Blocked
|
|
62
|
+
Blocking reason: branch gate evidence missing for execution step
|
|
63
|
+
Next agent to run: Astra
|
|
64
|
+
Required input packet for retry:
|
|
65
|
+
- execution summary including branch evidence
|
|
66
|
+
- explicit note that implementation was not performed on `main`
|
|
67
|
+
- updated validation evidence
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Expected behavior confirmed
|
|
71
|
+
|
|
72
|
+
- Orchestrator advances only when gate criteria are satisfied.
|
|
73
|
+
- Orchestrator blocks escalation when required evidence is missing.
|
|
74
|
+
- Blocked transitions return to the previous owner with a smallest safe fix request.
|
|
75
|
+
- Validation gate is mandatory before release recommendation.
|
|
76
|
+
|
|
77
|
+
## Final note
|
|
78
|
+
|
|
79
|
+
This report is a workflow proof artifact. It does not claim application deployment or production behavior.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Nuxt Dashboard Example
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
Project:
|
|
6
|
+
|
|
7
|
+
```txt
|
|
8
|
+
Nuxt Dashboard Boilerplate
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Stack:
|
|
12
|
+
|
|
13
|
+
```txt
|
|
14
|
+
Nuxt 4
|
|
15
|
+
Vue 3
|
|
16
|
+
TypeScript
|
|
17
|
+
Nuxt UI
|
|
18
|
+
Tailwind CSS
|
|
19
|
+
DummyJSON
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Objective:
|
|
23
|
+
|
|
24
|
+
Evolve a controlled dashboard boilerplate through small PRs, using the OpenCode-first workflow to plan, implement, review, and validate one scoped change at a time.
|
|
25
|
+
|
|
26
|
+
## Workflow
|
|
27
|
+
|
|
28
|
+
Read the files in order:
|
|
29
|
+
|
|
30
|
+
```txt
|
|
31
|
+
01-requirement.md
|
|
32
|
+
02-functional-spec.md
|
|
33
|
+
03-technical-plan.md
|
|
34
|
+
04-pr-breakdown.md
|
|
35
|
+
05-execution-handoff.md
|
|
36
|
+
06-validation-report.md
|
|
37
|
+
07-orchestration-report.md
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The example follows this path:
|
|
41
|
+
|
|
42
|
+
```txt
|
|
43
|
+
requirement
|
|
44
|
+
→ functional spec
|
|
45
|
+
→ technical plan
|
|
46
|
+
→ PR breakdown
|
|
47
|
+
→ handoff
|
|
48
|
+
→ validation report
|
|
49
|
+
→ orchestration report
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
This is not a Nuxt starter project. It is a workflow example for planning and validating dashboard work in a real Nuxt repository.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Requirement: Products Dashboard Area
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
|
|
5
|
+
The dashboard boilerplate needs a realistic protected products area so developers can exercise authenticated data workflows, list filtering, navigation, and CRUD-style UI decisions without connecting to a production backend.
|
|
6
|
+
|
|
7
|
+
## Goal
|
|
8
|
+
|
|
9
|
+
Build a protected products CRUD-style dashboard area backed by DummyJSON, with list, search, pagination, product detail, create/edit/delete placeholders, loading states, empty states, error states, and a layout aligned with the existing dashboard design rules.
|
|
10
|
+
|
|
11
|
+
## Users
|
|
12
|
+
|
|
13
|
+
- Authenticated dashboard users who need to browse product records.
|
|
14
|
+
- Developers extending the dashboard boilerplate.
|
|
15
|
+
- Reviewers validating that dashboard workflows stay scoped and consistent.
|
|
16
|
+
|
|
17
|
+
## Scope
|
|
18
|
+
|
|
19
|
+
- Add a protected products list page.
|
|
20
|
+
- Fetch product data from DummyJSON.
|
|
21
|
+
- Support search and pagination on the list page.
|
|
22
|
+
- Add a product detail page.
|
|
23
|
+
- Add create, edit, and delete entry points as placeholders.
|
|
24
|
+
- Show loading, empty, and error states.
|
|
25
|
+
- Keep the layout consistent with the existing dashboard shell.
|
|
26
|
+
- Preserve authentication behavior.
|
|
27
|
+
|
|
28
|
+
## Out Of Scope
|
|
29
|
+
|
|
30
|
+
- Real product persistence.
|
|
31
|
+
- Real create, edit, or delete mutations.
|
|
32
|
+
- Role-based product permissions.
|
|
33
|
+
- Offline caching.
|
|
34
|
+
- Bulk actions.
|
|
35
|
+
- Analytics dashboards.
|
|
36
|
+
- Replacing the existing dashboard design system.
|
|
37
|
+
- Replacing existing auth or layout patterns.
|
|
38
|
+
|
|
39
|
+
## Assumptions
|
|
40
|
+
|
|
41
|
+
- The Next.js app already has an authenticated dashboard shell.
|
|
42
|
+
- Middleware already protects dashboard routes.
|
|
43
|
+
- DummyJSON is acceptable for demo data.
|
|
44
|
+
- Existing components or UI primitives (e.g., shadcn/ui, Tailwind CSS) should be reused before adding new abstractions.
|
|
45
|
+
- Product mutations can be represented as disabled or non-persistent placeholders.
|
|
46
|
+
- Standard Next.js App Router conventions apply (`app/dashboard/products/page.tsx`, `app/dashboard/products/[id]/page.tsx`).
|
|
47
|
+
|
|
48
|
+
## Constraints
|
|
49
|
+
|
|
50
|
+
- Keep changes split into small PRs.
|
|
51
|
+
- Do not introduce new frontend frameworks.
|
|
52
|
+
- Do not add a backend service.
|
|
53
|
+
- Do not store secrets or credentials.
|
|
54
|
+
- Preserve existing dashboard navigation and layout behavior.
|
|
55
|
+
- Keep DummyJSON-specific code inside the products domain or API layer.
|
|
56
|
+
- Use React Server Components and client components appropriately.
|
|
57
|
+
|
|
58
|
+
## Acceptance Criteria
|
|
59
|
+
|
|
60
|
+
- Authenticated users can open a products list route under the dashboard.
|
|
61
|
+
- The list displays product title, price, category, stock, and thumbnail when available.
|
|
62
|
+
- Users can search products and see updated results.
|
|
63
|
+
- Users can move through paginated results.
|
|
64
|
+
- Users can open a product detail route from the list.
|
|
65
|
+
- Loading, empty, and error states are visible and understandable.
|
|
66
|
+
- Create, edit, and delete controls are present as placeholders without claiming persistence.
|
|
67
|
+
- Unauthenticated users remain blocked by existing dashboard protection.
|
|
68
|
+
- Validation evidence is recorded before each PR is considered complete.
|
|
69
|
+
|
|
70
|
+
## Risks
|
|
71
|
+
|
|
72
|
+
| Risk | Impact | Mitigation |
|
|
73
|
+
| ---- | ------ | ---------- |
|
|
74
|
+
| DummyJSON behavior differs from a real API | Future backend migration may require data mapping changes | Keep API access behind a small products repository or server actions |
|
|
75
|
+
| Search and pagination can become coupled to page UI | Harder to test or reuse | Keep query state and fetch behavior simple and explicit |
|
|
76
|
+
| Placeholder CRUD actions may mislead users | Users may think data is persisted | Label placeholders clearly in UI and validation notes |
|
|
77
|
+
| Dashboard design may drift | Boilerplate becomes inconsistent | Reuse existing shell and component conventions |
|
|
78
|
+
|
|
79
|
+
## Open Questions
|
|
80
|
+
|
|
81
|
+
- Should product search update the URL query string (`?q=keyword`)?
|
|
82
|
+
- Should pagination default to 10, 12, or 20 items per page?
|
|
83
|
+
- Should product detail pages use `app/dashboard/products/[id]/page.tsx`?
|
|
84
|
+
- Should placeholder create and edit routes exist, or should actions open disabled dialogs?
|