@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,20 @@
|
|
|
1
|
+
# Claude Instructions — AI Workflow Kit
|
|
2
|
+
|
|
3
|
+
Use AGENTS.md and the relevant contracts.
|
|
4
|
+
|
|
5
|
+
```txt
|
|
6
|
+
readonly → Inspect → Report → Recommendation
|
|
7
|
+
quick → Branch recovery/check → Implement → Document if behavior or usage changed → Test/Validate → Evidence
|
|
8
|
+
standard → Mini spec → Mini review → Mini plan → Scoped PR plan → Implement → Document → Test/Validate → Evidence
|
|
9
|
+
full → Spec draft → Spec review → Technical plan → PR breakdown → Implementation → Documentation → Test/Validate → Evidence report
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Provide evidence for completed work.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## Documentation, UI, security, and delivery artifact gates
|
|
16
|
+
|
|
17
|
+
- Explicit requirements, clean code, generated specs, and inline comments do not replace documentation.
|
|
18
|
+
- For user-facing UI, rendered or visual evidence is required when the runtime can inspect it; raw/default browser UI is `FAIL_QUALITY_GATE`.
|
|
19
|
+
- High/Critical security findings must be classified in evidence.
|
|
20
|
+
- Implementation work must create delivery artifacts proportional to mode: quick uses compact evidence, standard uses compact workflow artifacts, and full uses the complete 01..07 set.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Codex Instructions — AI Workflow Kit
|
|
2
|
+
|
|
3
|
+
Use AGENTS.md and the relevant contracts.
|
|
4
|
+
|
|
5
|
+
```txt
|
|
6
|
+
readonly → Inspect → Report → Recommendation
|
|
7
|
+
quick → Branch recovery/check → Implement → Document if behavior or usage changed → Test/Validate → Evidence
|
|
8
|
+
standard → Mini spec → Mini review → Mini plan → Scoped PR plan → Implement → Document → Test/Validate → Evidence
|
|
9
|
+
full → Spec draft → Spec review → Technical plan → PR breakdown → Implementation → Documentation → Test/Validate → Evidence report
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Never publish, tag, release, deploy, merge, push, force-push, or change package version without explicit approval.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## Documentation, UI, security, and delivery artifact gates
|
|
16
|
+
|
|
17
|
+
- Explicit requirements, clean code, generated specs, and inline comments do not replace documentation.
|
|
18
|
+
- For user-facing UI, rendered or visual evidence is required when the runtime can inspect it; raw/default browser UI is `FAIL_QUALITY_GATE`.
|
|
19
|
+
- High/Critical security findings must be classified in evidence.
|
|
20
|
+
- Implementation work must create delivery artifacts proportional to mode: quick uses compact evidence, standard uses compact workflow artifacts, and full uses the complete 01..07 set.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Gemini Instructions — AI Workflow Kit
|
|
2
|
+
|
|
3
|
+
Use AGENTS.md and the relevant contracts.
|
|
4
|
+
|
|
5
|
+
```txt
|
|
6
|
+
readonly → Inspect → Report → Recommendation
|
|
7
|
+
quick → Branch recovery/check → Implement → Document if behavior or usage changed → Test/Validate → Evidence
|
|
8
|
+
standard → Mini spec → Mini review → Mini plan → Scoped PR plan → Implement → Document → Test/Validate → Evidence
|
|
9
|
+
full → Spec draft → Spec review → Technical plan → PR breakdown → Implementation → Documentation → Test/Validate → Evidence report
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Use professional taxonomy: Primary Agents, Skill-backed Specialist Roles, Skills, Commands.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## Documentation, UI, security, and delivery artifact gates
|
|
16
|
+
|
|
17
|
+
- Explicit requirements, clean code, generated specs, and inline comments do not replace documentation.
|
|
18
|
+
- For user-facing UI, rendered or visual evidence is required when the runtime can inspect it; raw/default browser UI is `FAIL_QUALITY_GATE`.
|
|
19
|
+
- High/Critical security findings must be classified in evidence.
|
|
20
|
+
- Implementation work must create delivery artifacts proportional to mode: quick uses compact evidence, standard uses compact workflow artifacts, and full uses the complete 01..07 set.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# AI Workflow Handoff Packet
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
|
|
5
|
+
- **ID:** ${TASK_ID}
|
|
6
|
+
- **Timestamp:** ${TIMESTAMP}
|
|
7
|
+
- **Author:** ${AUTHOR}
|
|
8
|
+
- **Status:** ${STATUS}
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Requirements & Specifications
|
|
13
|
+
|
|
14
|
+
${SPECS_CONTENT}
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Implementation Evidence
|
|
19
|
+
|
|
20
|
+
### EVIDENCE.json Summary
|
|
21
|
+
|
|
22
|
+
${EVIDENCE_SUMMARY}
|
|
23
|
+
|
|
24
|
+
### Structured Evidence
|
|
25
|
+
|
|
26
|
+
\`\`\`json
|
|
27
|
+
${EVIDENCE_JSON}
|
|
28
|
+
\`\`\`
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Git Changes (Diff)
|
|
33
|
+
|
|
34
|
+
\`\`\`diff
|
|
35
|
+
${GIT_DIFF}
|
|
36
|
+
\`\`\`
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Required Next Actions
|
|
41
|
+
|
|
42
|
+
${NEXT_ACTIONS}
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
Generated by AI Workflow Kit - Automated Handoff Engine
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# [STANDARD] Specification: ${TITLE}
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
|
|
5
|
+
- **ID:** SPEC-${ID}
|
|
6
|
+
- **Author:** Spec-Engineer
|
|
7
|
+
- **Status:** DRAFT | REVIEW | APPROVED
|
|
8
|
+
- **Reviewer:** Atlas | Orion | Sage
|
|
9
|
+
- **Date:** ${DATE}
|
|
10
|
+
|
|
11
|
+
## Functional Requirements
|
|
12
|
+
|
|
13
|
+
- ${REQ_1}
|
|
14
|
+
- ${REQ_2}
|
|
15
|
+
|
|
16
|
+
## Technical Implementation Plan
|
|
17
|
+
|
|
18
|
+
### Files to Create/Modify
|
|
19
|
+
|
|
20
|
+
- `${FILE_1}`
|
|
21
|
+
- `${FILE_2}`
|
|
22
|
+
|
|
23
|
+
### Logic & Workflow
|
|
24
|
+
|
|
25
|
+
${IMPLEMENTATION_DETAILS}
|
|
26
|
+
|
|
27
|
+
## Acceptance Criteria
|
|
28
|
+
|
|
29
|
+
- [ ] ${AC_1}
|
|
30
|
+
- [ ] ${AC_2}
|
|
31
|
+
|
|
32
|
+
## Testing Strategy
|
|
33
|
+
|
|
34
|
+
- [ ] Unit Tests: ${TEST_PLAN}
|
|
35
|
+
- [ ] Integration Tests: ${INTEGRATION_PLAN}
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
Generated by AI Workflow Kit - Spec-Driven Development Engine
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Change Proposal: [Title]
|
|
2
|
+
|
|
3
|
+
## 1. Context
|
|
4
|
+
[Briefly describe why this change is needed]
|
|
5
|
+
|
|
6
|
+
## 2. Proposed Change
|
|
7
|
+
[Describe the technical change]
|
|
8
|
+
|
|
9
|
+
## 3. Impact & Risks
|
|
10
|
+
[What could break? What is the scope?]
|
|
11
|
+
|
|
12
|
+
## 4. Acceptance Criteria
|
|
13
|
+
- [ ] [Criterion 1]
|
|
14
|
+
- [ ] EVIDENCE.json generated
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# [DEEP] Specification: ${TITLE}
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
|
|
5
|
+
- **ID:** SPEC-DEEP-${ID}
|
|
6
|
+
- **Author:** ${AUTHOR}
|
|
7
|
+
- **Status:** DRAFT | REVIEW | APPROVED
|
|
8
|
+
- **Reviewer:** Atlas | Orion
|
|
9
|
+
- **Date:** ${DATE}
|
|
10
|
+
|
|
11
|
+
## Architectural Intent
|
|
12
|
+
|
|
13
|
+
${DETAILED_ARCHITECTURAL_DESCRIPTION}
|
|
14
|
+
|
|
15
|
+
## Strategic Goals
|
|
16
|
+
|
|
17
|
+
- ${GOAL_1}
|
|
18
|
+
- ${GOAL_2}
|
|
19
|
+
|
|
20
|
+
## System Design & Patterns
|
|
21
|
+
|
|
22
|
+
### Components Impacted
|
|
23
|
+
|
|
24
|
+
- ${COMPONENT_1}
|
|
25
|
+
- ${COMPONENT_2}
|
|
26
|
+
|
|
27
|
+
### Data Structures & Flow
|
|
28
|
+
|
|
29
|
+
${DATA_FLOW_DESCRIPTION}
|
|
30
|
+
|
|
31
|
+
### Security & Integrity
|
|
32
|
+
|
|
33
|
+
${SECURITY_CONSIDERATIONS}
|
|
34
|
+
|
|
35
|
+
## Acceptance Criteria (Audit Gate)
|
|
36
|
+
|
|
37
|
+
- [ ] ${AC_1}
|
|
38
|
+
- [ ] ${AC_2}
|
|
39
|
+
- [ ] ${AC_3}
|
|
40
|
+
|
|
41
|
+
## Risk Assessment
|
|
42
|
+
|
|
43
|
+
| Risk | Impact | Mitigation |
|
|
44
|
+
| :--- | :--- | :--- |
|
|
45
|
+
| ${RISK} | ${IMPACT} | ${MITIGATION} |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
Generated by AI Workflow Kit - Spec-Driven Development Engine
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# [STANDARD] Specification: ${TITLE}
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
|
|
5
|
+
- **ID:** SPEC-${ID}
|
|
6
|
+
- **Author:** Spec-Engineer
|
|
7
|
+
- **Status:** DRAFT | REVIEW | APPROVED
|
|
8
|
+
- **Reviewer:** Atlas | Orion | Sage
|
|
9
|
+
- **Date:** ${DATE}
|
|
10
|
+
|
|
11
|
+
## Functional Requirements
|
|
12
|
+
|
|
13
|
+
- ${REQ_1}
|
|
14
|
+
- ${REQ_2}
|
|
15
|
+
|
|
16
|
+
## Technical Implementation Plan
|
|
17
|
+
|
|
18
|
+
### Files to Create/Modify
|
|
19
|
+
|
|
20
|
+
- `${FILE_1}`
|
|
21
|
+
- `${FILE_2}`
|
|
22
|
+
|
|
23
|
+
### Logic & Workflow
|
|
24
|
+
|
|
25
|
+
${IMPLEMENTATION_DETAILS}
|
|
26
|
+
|
|
27
|
+
## Acceptance Criteria
|
|
28
|
+
|
|
29
|
+
- [ ] ${AC_1}
|
|
30
|
+
- [ ] ${AC_2}
|
|
31
|
+
|
|
32
|
+
## Testing Strategy
|
|
33
|
+
|
|
34
|
+
- [ ] Unit Tests: ${TEST_PLAN}
|
|
35
|
+
- [ ] Integration Tests: ${INTEGRATION_PLAN}
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
Generated by AI Workflow Kit - Spec-Driven Development Engine
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# [TINY] Spec: ${TITLE}
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
|
|
5
|
+
- **ID:** SPEC-TINY-${ID}
|
|
6
|
+
- **Status:** DRAFT | APPROVED
|
|
7
|
+
- **Reviewer:** Sage | Kai
|
|
8
|
+
- **Date:** ${DATE}
|
|
9
|
+
|
|
10
|
+
## Task Description
|
|
11
|
+
|
|
12
|
+
${BRIEF_DESCRIPTION}
|
|
13
|
+
|
|
14
|
+
## Acceptance Criteria
|
|
15
|
+
|
|
16
|
+
- [ ] ${AC_1}
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
Generated by AI Workflow Kit - Spec-Driven Development Engine
|
package/package.json
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.19.1",
|
|
3
2
|
"name": "@williambeto/ai-workflow",
|
|
4
|
-
"
|
|
3
|
+
"version": "2.2.0",
|
|
4
|
+
"description": "AI Workflow Kit — OpenCode-first software delivery workflow with agents, commands, skills, validation, and evidence",
|
|
5
5
|
"license": "MIT",
|
|
6
|
+
"author": "José Willams",
|
|
7
|
+
"type": "module",
|
|
6
8
|
"private": false,
|
|
9
|
+
"engines": {
|
|
10
|
+
"node": ">=20.11"
|
|
11
|
+
},
|
|
7
12
|
"keywords": [
|
|
8
13
|
"ai-workflow",
|
|
9
|
-
"codex",
|
|
10
14
|
"opencode",
|
|
11
15
|
"prompts",
|
|
12
16
|
"agent-workflows",
|
|
@@ -16,58 +20,49 @@
|
|
|
16
20
|
"type": "git",
|
|
17
21
|
"url": "git+https://github.com/williambeto/ai-workflow.git"
|
|
18
22
|
},
|
|
19
|
-
"files": [
|
|
20
|
-
"README.md",
|
|
21
|
-
"LICENSE",
|
|
22
|
-
"CHANGELOG.md",
|
|
23
|
-
"packages/ai-workflow/bin/",
|
|
24
|
-
"packages/ai-workflow/src/",
|
|
25
|
-
".codex/prompts/",
|
|
26
|
-
".agents/skills/",
|
|
27
|
-
".agents/napkin.md",
|
|
28
|
-
"opencode/agents/",
|
|
29
|
-
"opencode/commands/",
|
|
30
|
-
"opencode/README.md",
|
|
31
|
-
"opencode.jsonc",
|
|
32
|
-
"prompts/",
|
|
33
|
-
"templates/",
|
|
34
|
-
"checklists/",
|
|
35
|
-
"runbooks/",
|
|
36
|
-
"schemas/",
|
|
37
|
-
"harness/",
|
|
38
|
-
"docs/architecture-policy.md",
|
|
39
|
-
"docs/design-patterns-policy.md",
|
|
40
|
-
"docs/full-documentation.md",
|
|
41
|
-
"docs/setup-codex-opencode.md",
|
|
42
|
-
"docs/npm-consumer-quickstart.md"
|
|
43
|
-
],
|
|
44
23
|
"homepage": "https://github.com/williambeto/ai-workflow#readme",
|
|
45
24
|
"bugs": {
|
|
46
25
|
"url": "https://github.com/williambeto/ai-workflow/issues"
|
|
47
26
|
},
|
|
48
27
|
"bin": {
|
|
49
|
-
"ai-workflow": "
|
|
28
|
+
"ai-workflow": "bin/ai-workflow.js"
|
|
50
29
|
},
|
|
30
|
+
"files": [
|
|
31
|
+
"bin",
|
|
32
|
+
"src",
|
|
33
|
+
"dist-assets",
|
|
34
|
+
"PUBLISH_MANIFEST.json",
|
|
35
|
+
"README.md",
|
|
36
|
+
"LICENSE",
|
|
37
|
+
"CHANGELOG.md"
|
|
38
|
+
],
|
|
51
39
|
"scripts": {
|
|
52
|
-
"
|
|
53
|
-
"
|
|
40
|
+
"build": "node internal/validate/build-publish.mjs",
|
|
41
|
+
"validate": "node internal/validate/validate-all.mjs",
|
|
42
|
+
"validate:json": "node internal/validate/validate-json.mjs",
|
|
43
|
+
"validate:structure": "node internal/validate/validate-structure.mjs",
|
|
44
|
+
"validate:refs": "node internal/validate/validate-refs.mjs",
|
|
45
|
+
"validate:artifact-safety": "node internal/validate/validate-artifact-safety.mjs",
|
|
46
|
+
"validate:links": "node internal/validate/validate-links.mjs",
|
|
47
|
+
"validate:docs-consistency": "node internal/validate/validate-doc-consistency.mjs",
|
|
48
|
+
"validate:workflow": "node internal/validate/validate-workflow.mjs",
|
|
49
|
+
"validate:schemas": "node internal/validate/validate-schemas.mjs",
|
|
50
|
+
"validate:skills": "node internal/validate/validate-skills.mjs",
|
|
51
|
+
"validate:policy-refs": "node internal/validate/validate-policy-refs.mjs",
|
|
52
|
+
"validate:privacy-gate": "node internal/validate/validate-privacy-gate.mjs",
|
|
53
|
+
"validate:ui-evidence": "node internal/validate/validate-ui-evidence-gate.mjs",
|
|
54
|
+
"validate:delegation": "node internal/validate/validate-delegation.mjs",
|
|
55
|
+
"validate:cli-smoke": "node internal/validate/validate-cli-smoke.mjs",
|
|
56
|
+
"validate:cli-docs": "node internal/validate/validate-cli-docs.mjs",
|
|
54
57
|
"lint:md": "markdownlint \"**/*.md\"",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"validate:refs": "node scripts/validate-refs.mjs",
|
|
60
|
-
"validate:artifact-safety": "node scripts/validate-artifact-safety.mjs",
|
|
61
|
-
"validate:links": "node scripts/validate-links.mjs",
|
|
62
|
-
"validate:docs-consistency": "node scripts/validate-doc-consistency.mjs",
|
|
63
|
-
"validate:workflow": "node scripts/validate-workflow.mjs",
|
|
64
|
-
"validate:schemas": "node scripts/validate-schemas.mjs",
|
|
65
|
-
"validate:skills": "node scripts/validate-skills.mjs",
|
|
66
|
-
"validate:delegation": "node scripts/validate-delegation.mjs",
|
|
67
|
-
"validate:cli-smoke": "node scripts/validate-cli-smoke.mjs",
|
|
58
|
+
"validate:registry": "node internal/validate/validate-registry-integrity.mjs",
|
|
59
|
+
"test": "npm run test:unit",
|
|
60
|
+
"test:unit": "vitest run",
|
|
61
|
+
"test:watch": "vitest",
|
|
68
62
|
"test:e2e": "node tests/validate-e2e.mjs",
|
|
69
|
-
"
|
|
70
|
-
"
|
|
63
|
+
"pack:safe": "node internal/validate/pack-safe.mjs",
|
|
64
|
+
"validate:behavioral-contracts": "node internal/validate/validate-behavioral-contracts.mjs",
|
|
65
|
+
"validate:release-readiness": "node internal/validate/validate-release-readiness.mjs"
|
|
71
66
|
},
|
|
72
67
|
"devDependencies": {
|
|
73
68
|
"@semantic-release/changelog": "^6.0.3",
|
|
@@ -77,6 +72,7 @@
|
|
|
77
72
|
"ajv": "^8.20.0",
|
|
78
73
|
"ajv-formats": "^3.0.1",
|
|
79
74
|
"markdownlint-cli": "^0.48.0",
|
|
80
|
-
"semantic-release": "^25.0.3"
|
|
75
|
+
"semantic-release": "^25.0.3",
|
|
76
|
+
"vitest": "^4.1.7"
|
|
81
77
|
}
|
|
82
78
|
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { COMPLETION_STATUS_TEXT } from "../../core/statuses.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Claude Adapter - Transforms OpenCode agents and skills into CLAUDE.md and .claude/rules/.
|
|
7
|
+
*/
|
|
8
|
+
export class ClaudeAdapter {
|
|
9
|
+
constructor({ cwd }) {
|
|
10
|
+
this.cwd = cwd;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Transforms an OpenCode agent or skill into a Claude rule with completion contract.
|
|
15
|
+
*/
|
|
16
|
+
async transformToRule(filePath, type = "agent") {
|
|
17
|
+
const content = await fs.readFile(filePath, "utf8");
|
|
18
|
+
const fileName = path.basename(filePath, ".md") === "SKILL"
|
|
19
|
+
? path.basename(path.dirname(filePath))
|
|
20
|
+
: path.basename(filePath, ".md");
|
|
21
|
+
|
|
22
|
+
const ruleName = `${type}-${fileName.toLowerCase()}`;
|
|
23
|
+
|
|
24
|
+
const hardenedContent = `---
|
|
25
|
+
name: ${ruleName}
|
|
26
|
+
description: ${type === "agent" ? "Persona" : "Skill"} rule for ${fileName}
|
|
27
|
+
---
|
|
28
|
+
# ${fileName} ${type === "agent" ? "Persona" : "Skill"}
|
|
29
|
+
|
|
30
|
+
${content}
|
|
31
|
+
|
|
32
|
+
## Completion Contract (Mandatory)
|
|
33
|
+
Every task completion MUST provide the following payload:
|
|
34
|
+
1. **Status**: ${COMPLETION_STATUS_TEXT}
|
|
35
|
+
2. **Scope reviewed**: Brief summary of what was analyzed.
|
|
36
|
+
3. **Findings**: Evidence-based discoveries.
|
|
37
|
+
4. **Files affected**: List of all concrete paths modified or created.
|
|
38
|
+
5. **Validation/evidence**: Commands run and their results.
|
|
39
|
+
6. **Risks/notes**: Any caveats or technical debt introduced.
|
|
40
|
+
7. **Required manager action**: Clear next step for the orchestrator.
|
|
41
|
+
8. **Can manager continue**: [yes/no]
|
|
42
|
+
`;
|
|
43
|
+
|
|
44
|
+
return {
|
|
45
|
+
content: hardenedContent,
|
|
46
|
+
name: ruleName
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Deploys agents, skills, and root CLAUDE.md.
|
|
52
|
+
*/
|
|
53
|
+
async deploy(installRoot = ".ai-workflow") {
|
|
54
|
+
const rulesDir = path.join(this.cwd, ".claude/rules");
|
|
55
|
+
await fs.mkdir(rulesDir, { recursive: true });
|
|
56
|
+
|
|
57
|
+
const sourceAgentsDir = path.join(this.cwd, installRoot, "opencode/agents");
|
|
58
|
+
const sourceSkillsDir = path.join(this.cwd, installRoot, "opencode/skills");
|
|
59
|
+
const sourceCommandsDir = path.join(this.cwd, installRoot, "opencode/commands");
|
|
60
|
+
|
|
61
|
+
// 1. Deploy Agents to .claude/rules/agent-*.md
|
|
62
|
+
const agentFiles = await fs.readdir(sourceAgentsDir).catch(() => []);
|
|
63
|
+
for (const file of agentFiles) {
|
|
64
|
+
if (!file.endsWith(".md")) continue;
|
|
65
|
+
const transformed = await this.transformToRule(path.join(sourceAgentsDir, file), "agent");
|
|
66
|
+
await fs.writeFile(path.join(rulesDir, `${transformed.name}.md`), transformed.content);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// 2. Deploy Skills to .claude/rules/skill-*.md
|
|
70
|
+
const skillFolders = await fs.readdir(sourceSkillsDir).catch(() => []);
|
|
71
|
+
for (const folder of skillFolders) {
|
|
72
|
+
const skillSource = path.join(sourceSkillsDir, folder, "SKILL.md");
|
|
73
|
+
if (await this.exists(skillSource)) {
|
|
74
|
+
const transformed = await this.transformToRule(skillSource, "skill");
|
|
75
|
+
await fs.writeFile(path.join(rulesDir, `${transformed.name}.md`), transformed.content);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// 3. Create root CLAUDE.md
|
|
80
|
+
await this.deployRootClaudeMd(sourceCommandsDir);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
async deployRootClaudeMd(sourceCommandsDir) {
|
|
84
|
+
const targetPath = path.join(this.cwd, "CLAUDE.md");
|
|
85
|
+
|
|
86
|
+
// Collect commands to document them in CLAUDE.md
|
|
87
|
+
const commandFiles = await fs.readdir(sourceCommandsDir).catch(() => []);
|
|
88
|
+
let commandsDoc = "";
|
|
89
|
+
for (const file of commandFiles) {
|
|
90
|
+
if (!file.endsWith(".md")) continue;
|
|
91
|
+
const name = path.basename(file, ".md");
|
|
92
|
+
commandsDoc += `- \`ai-workflow run --spec-path=...\` (Target: ${name})\n`;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const instructions = `# CLAUDE.md - AI Workflow Kit Governance
|
|
96
|
+
|
|
97
|
+
This project uses the **AI Workflow Kit** (OpenCode-first) workflow.
|
|
98
|
+
|
|
99
|
+
## Mandate: Atlas Authority Protocol
|
|
100
|
+
All architectural changes must align with the specifications issued by the **Specification Authority** (./specs).
|
|
101
|
+
|
|
102
|
+
## Common Commands
|
|
103
|
+
${commandsDoc}
|
|
104
|
+
- \`ai-workflow doctor\`: Verify installation.
|
|
105
|
+
- \`ai-workflow collect-evidence\`: Generate EVIDENCE.json.
|
|
106
|
+
|
|
107
|
+
## Rules & Personas
|
|
108
|
+
Adhere to the specific rules and personas defined in \`.claude/rules/\`.
|
|
109
|
+
- Always follow the **Branch Gate** policy (never work on \`main\`).
|
|
110
|
+
- Always follow the **SDD Workflow** (Spec -> Plan -> PR -> Evidence).
|
|
111
|
+
|
|
112
|
+
## Completion Contract
|
|
113
|
+
Every task completion MUST follow the payload format defined in the individual rule files.
|
|
114
|
+
`;
|
|
115
|
+
await fs.writeFile(targetPath, instructions);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
async exists(p) {
|
|
119
|
+
try {
|
|
120
|
+
await fs.access(p);
|
|
121
|
+
return true;
|
|
122
|
+
} catch {
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { COMPLETION_STATUS_TEXT } from "../../core/statuses.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Codex Adapter - Transforms OpenCode agents, skills, and commands into Codex-native formats.
|
|
7
|
+
*/
|
|
8
|
+
export class CodexAdapter {
|
|
9
|
+
constructor({ cwd }) {
|
|
10
|
+
this.cwd = cwd;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Transforms an OpenCode agent into a Codex prompt with completion contract.
|
|
15
|
+
*/
|
|
16
|
+
async transformAgent(filePath) {
|
|
17
|
+
const content = await fs.readFile(filePath, "utf8");
|
|
18
|
+
const fileName = path.basename(filePath, ".md");
|
|
19
|
+
|
|
20
|
+
const hardenedContent = `${content}
|
|
21
|
+
|
|
22
|
+
## Completion Contract (Mandatory)
|
|
23
|
+
Every task completion MUST provide the following payload:
|
|
24
|
+
1. **Status**: ${COMPLETION_STATUS_TEXT}
|
|
25
|
+
2. **Scope reviewed**: Brief summary of what was analyzed.
|
|
26
|
+
3. **Findings**: Evidence-based discoveries.
|
|
27
|
+
4. **Files affected**: List of all concrete paths modified or created.
|
|
28
|
+
5. **Validation/evidence**: Commands run and their results.
|
|
29
|
+
6. **Risks/notes**: Any caveats or technical debt introduced.
|
|
30
|
+
7. **Required manager action**: Clear next step for the orchestrator.
|
|
31
|
+
8. **Can manager continue**: [yes/no]
|
|
32
|
+
`;
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
content: hardenedContent,
|
|
36
|
+
name: fileName
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Deploys agents, skills, and commands to Codex-native directories.
|
|
42
|
+
* Mapping:
|
|
43
|
+
* - Agents -> .github/agents/
|
|
44
|
+
* - Skills -> .agents/skills/
|
|
45
|
+
* - Commands -> .codex/prompts/
|
|
46
|
+
*/
|
|
47
|
+
async deploy(installRoot = ".ai-workflow") {
|
|
48
|
+
const sourceAgentsDir = path.join(this.cwd, installRoot, "opencode/agents");
|
|
49
|
+
const sourceSkillsDir = path.join(this.cwd, installRoot, "opencode/skills");
|
|
50
|
+
const sourceCommandsDir = path.join(this.cwd, installRoot, "opencode/commands");
|
|
51
|
+
|
|
52
|
+
// 1. Deploy Agents to .github/agents/
|
|
53
|
+
const codexAgentsDir = path.join(this.cwd, ".github/agents");
|
|
54
|
+
await fs.mkdir(codexAgentsDir, { recursive: true });
|
|
55
|
+
|
|
56
|
+
const agentFiles = await fs.readdir(sourceAgentsDir).catch(() => []);
|
|
57
|
+
for (const file of agentFiles) {
|
|
58
|
+
if (!file.endsWith(".md")) continue;
|
|
59
|
+
const transformed = await this.transformAgent(path.join(sourceAgentsDir, file));
|
|
60
|
+
await fs.writeFile(path.join(codexAgentsDir, `${transformed.name}.md`), transformed.content);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// 2. Deploy Skills to .agents/skills/
|
|
64
|
+
const codexSkillsDir = path.join(this.cwd, ".agents/skills");
|
|
65
|
+
await fs.mkdir(codexSkillsDir, { recursive: true });
|
|
66
|
+
|
|
67
|
+
const skillFolders = await fs.readdir(sourceSkillsDir).catch(() => []);
|
|
68
|
+
for (const folder of skillFolders) {
|
|
69
|
+
const skillSource = path.join(sourceSkillsDir, folder, "SKILL.md");
|
|
70
|
+
if (await this.exists(skillSource)) {
|
|
71
|
+
const targetDir = path.join(codexSkillsDir, folder);
|
|
72
|
+
await fs.mkdir(targetDir, { recursive: true });
|
|
73
|
+
const content = await fs.readFile(skillSource, "utf8");
|
|
74
|
+
await fs.writeFile(path.join(targetDir, "SKILL.md"), content);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// 3. Deploy Commands to .codex/prompts/
|
|
79
|
+
const codexPromptsDir = path.join(this.cwd, ".codex/prompts");
|
|
80
|
+
await fs.mkdir(codexPromptsDir, { recursive: true });
|
|
81
|
+
|
|
82
|
+
const commandFiles = await fs.readdir(sourceCommandsDir).catch(() => []);
|
|
83
|
+
for (const file of commandFiles) {
|
|
84
|
+
if (!file.endsWith(".md") && !file.endsWith(".toml")) continue;
|
|
85
|
+
// Codex prompts work best as .md
|
|
86
|
+
const targetFileName = file.endsWith(".toml") ? `${path.basename(file, ".toml")}.md` : file;
|
|
87
|
+
const content = await fs.readFile(path.join(sourceCommandsDir, file), "utf8");
|
|
88
|
+
await fs.writeFile(path.join(codexPromptsDir, targetFileName), content);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
async exists(p) {
|
|
93
|
+
try {
|
|
94
|
+
await fs.access(p);
|
|
95
|
+
return true;
|
|
96
|
+
} catch {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|