eai-cli 0.0.0-bootstrap.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/LICENSE +183 -0
- package/NOTICE +4 -0
- package/README.md +14 -0
- package/dist/commands/agent.d.ts +3 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +69 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/blocks.d.ts +3 -0
- package/dist/commands/blocks.d.ts.map +1 -0
- package/dist/commands/blocks.js +249 -0
- package/dist/commands/blocks.js.map +1 -0
- package/dist/commands/chat.d.ts +6 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +105 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/deploy.d.ts +36 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +712 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/dev.d.ts +15 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +133 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/docs.d.ts +6 -0
- package/dist/commands/docs.d.ts.map +1 -0
- package/dist/commands/docs.js +118 -0
- package/dist/commands/docs.js.map +1 -0
- package/dist/commands/env.d.ts +10 -0
- package/dist/commands/env.d.ts.map +1 -0
- package/dist/commands/env.js +200 -0
- package/dist/commands/env.js.map +1 -0
- package/dist/commands/errors.d.ts +3 -0
- package/dist/commands/errors.d.ts.map +1 -0
- package/dist/commands/errors.js +72 -0
- package/dist/commands/errors.js.map +1 -0
- package/dist/commands/gofer.d.ts +3 -0
- package/dist/commands/gofer.d.ts.map +1 -0
- package/dist/commands/gofer.js +134 -0
- package/dist/commands/gofer.js.map +1 -0
- package/dist/commands/init.d.ts +14 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +1437 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.d.ts +7 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +117 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/provision.d.ts +6 -0
- package/dist/commands/provision.d.ts.map +1 -0
- package/dist/commands/provision.js +855 -0
- package/dist/commands/provision.js.map +1 -0
- package/dist/commands/publicapi.d.ts +6 -0
- package/dist/commands/publicapi.d.ts.map +1 -0
- package/dist/commands/publicapi.js +184 -0
- package/dist/commands/publicapi.js.map +1 -0
- package/dist/commands/resources.d.ts +38 -0
- package/dist/commands/resources.d.ts.map +1 -0
- package/dist/commands/resources.js +1010 -0
- package/dist/commands/resources.js.map +1 -0
- package/dist/commands/runtime.d.ts +3 -0
- package/dist/commands/runtime.d.ts.map +1 -0
- package/dist/commands/runtime.js +78 -0
- package/dist/commands/runtime.js.map +1 -0
- package/dist/commands/template.d.ts +3 -0
- package/dist/commands/template.d.ts.map +1 -0
- package/dist/commands/template.js +365 -0
- package/dist/commands/template.js.map +1 -0
- package/dist/commands/tenant.d.ts +45 -0
- package/dist/commands/tenant.d.ts.map +1 -0
- package/dist/commands/tenant.js +1036 -0
- package/dist/commands/tenant.js.map +1 -0
- package/dist/commands/types.d.ts +130 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +1636 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/commands/update.d.ts +13 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +163 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/user.d.ts +6 -0
- package/dist/commands/user.d.ts.map +1 -0
- package/dist/commands/user.js +359 -0
- package/dist/commands/user.js.map +1 -0
- package/dist/commands/verify.d.ts +40 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +1442 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/commands/vertical.d.ts +24 -0
- package/dist/commands/vertical.d.ts.map +1 -0
- package/dist/commands/vertical.js +301 -0
- package/dist/commands/vertical.js.map +1 -0
- package/dist/commands/whoami.d.ts +6 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +73 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/commands/workflow.d.ts +6 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +400 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +272 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/agent-guide.d.ts +24 -0
- package/dist/lib/agent-guide.d.ts.map +1 -0
- package/dist/lib/agent-guide.js +155 -0
- package/dist/lib/agent-guide.js.map +1 -0
- package/dist/lib/api.d.ts +338 -0
- package/dist/lib/api.d.ts.map +1 -0
- package/dist/lib/api.js +991 -0
- package/dist/lib/api.js.map +1 -0
- package/dist/lib/auth.d.ts +65 -0
- package/dist/lib/auth.d.ts.map +1 -0
- package/dist/lib/auth.js +592 -0
- package/dist/lib/auth.js.map +1 -0
- package/dist/lib/azure-cli.d.ts +6 -0
- package/dist/lib/azure-cli.d.ts.map +1 -0
- package/dist/lib/azure-cli.js +13 -0
- package/dist/lib/azure-cli.js.map +1 -0
- package/dist/lib/block-catalog-normalize.d.ts +47 -0
- package/dist/lib/block-catalog-normalize.d.ts.map +1 -0
- package/dist/lib/block-catalog-normalize.js +355 -0
- package/dist/lib/block-catalog-normalize.js.map +1 -0
- package/dist/lib/block-catalog-types.d.ts +111 -0
- package/dist/lib/block-catalog-types.d.ts.map +1 -0
- package/dist/lib/block-catalog-types.js +41 -0
- package/dist/lib/block-catalog-types.js.map +1 -0
- package/dist/lib/block-catalog-utils.d.ts +7 -0
- package/dist/lib/block-catalog-utils.d.ts.map +1 -0
- package/dist/lib/block-catalog-utils.js +47 -0
- package/dist/lib/block-catalog-utils.js.map +1 -0
- package/dist/lib/block-catalog-validation.d.ts +5 -0
- package/dist/lib/block-catalog-validation.d.ts.map +1 -0
- package/dist/lib/block-catalog-validation.js +112 -0
- package/dist/lib/block-catalog-validation.js.map +1 -0
- package/dist/lib/block-catalog.d.ts +3 -0
- package/dist/lib/block-catalog.d.ts.map +1 -0
- package/dist/lib/block-catalog.js +284 -0
- package/dist/lib/block-catalog.js.map +1 -0
- package/dist/lib/cloud-env.d.ts +25 -0
- package/dist/lib/cloud-env.d.ts.map +1 -0
- package/dist/lib/cloud-env.js +79 -0
- package/dist/lib/cloud-env.js.map +1 -0
- package/dist/lib/config.d.ts +116 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +195 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/context.d.ts +43 -0
- package/dist/lib/context.d.ts.map +1 -0
- package/dist/lib/context.js +68 -0
- package/dist/lib/context.js.map +1 -0
- package/dist/lib/error-codes.d.ts +56 -0
- package/dist/lib/error-codes.d.ts.map +1 -0
- package/dist/lib/error-codes.js +211 -0
- package/dist/lib/error-codes.js.map +1 -0
- package/dist/lib/error-guidance/catalog.d.ts +648 -0
- package/dist/lib/error-guidance/catalog.d.ts.map +1 -0
- package/dist/lib/error-guidance/catalog.js +940 -0
- package/dist/lib/error-guidance/catalog.js.map +1 -0
- package/dist/lib/error-guidance/match.d.ts +3 -0
- package/dist/lib/error-guidance/match.d.ts.map +1 -0
- package/dist/lib/error-guidance/match.js +46 -0
- package/dist/lib/error-guidance/match.js.map +1 -0
- package/dist/lib/error-guidance/render.d.ts +5 -0
- package/dist/lib/error-guidance/render.d.ts.map +1 -0
- package/dist/lib/error-guidance/render.js +92 -0
- package/dist/lib/error-guidance/render.js.map +1 -0
- package/dist/lib/error-guidance/types.d.ts +76 -0
- package/dist/lib/error-guidance/types.d.ts.map +1 -0
- package/dist/lib/error-guidance/types.js +2 -0
- package/dist/lib/error-guidance/types.js.map +1 -0
- package/dist/lib/error-guidance/validate.d.ts +3 -0
- package/dist/lib/error-guidance/validate.d.ts.map +1 -0
- package/dist/lib/error-guidance/validate.js +59 -0
- package/dist/lib/error-guidance/validate.js.map +1 -0
- package/dist/lib/gofer-installer.d.ts +32 -0
- package/dist/lib/gofer-installer.d.ts.map +1 -0
- package/dist/lib/gofer-installer.js +589 -0
- package/dist/lib/gofer-installer.js.map +1 -0
- package/dist/lib/gofer-refresh.d.ts +46 -0
- package/dist/lib/gofer-refresh.d.ts.map +1 -0
- package/dist/lib/gofer-refresh.js +536 -0
- package/dist/lib/gofer-refresh.js.map +1 -0
- package/dist/lib/next-route-exports.d.ts +6 -0
- package/dist/lib/next-route-exports.d.ts.map +1 -0
- package/dist/lib/next-route-exports.js +127 -0
- package/dist/lib/next-route-exports.js.map +1 -0
- package/dist/lib/npm.d.ts +2 -0
- package/dist/lib/npm.d.ts.map +1 -0
- package/dist/lib/npm.js +4 -0
- package/dist/lib/npm.js.map +1 -0
- package/dist/lib/object-type-defaults.d.ts +4 -0
- package/dist/lib/object-type-defaults.d.ts.map +1 -0
- package/dist/lib/object-type-defaults.js +72 -0
- package/dist/lib/object-type-defaults.js.map +1 -0
- package/dist/lib/output.d.ts +35 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +166 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/profile.d.ts +52 -0
- package/dist/lib/profile.d.ts.map +1 -0
- package/dist/lib/profile.js +116 -0
- package/dist/lib/profile.js.map +1 -0
- package/dist/lib/project-manifest.d.ts +42 -0
- package/dist/lib/project-manifest.d.ts.map +1 -0
- package/dist/lib/project-manifest.js +191 -0
- package/dist/lib/project-manifest.js.map +1 -0
- package/dist/lib/resourceapi-bundle.d.ts +33 -0
- package/dist/lib/resourceapi-bundle.d.ts.map +1 -0
- package/dist/lib/resourceapi-bundle.js +79 -0
- package/dist/lib/resourceapi-bundle.js.map +1 -0
- package/dist/lib/runtime-contract.d.ts +84 -0
- package/dist/lib/runtime-contract.d.ts.map +1 -0
- package/dist/lib/runtime-contract.js +318 -0
- package/dist/lib/runtime-contract.js.map +1 -0
- package/dist/lib/schema-builder.d.ts +28 -0
- package/dist/lib/schema-builder.d.ts.map +1 -0
- package/dist/lib/schema-builder.js +69 -0
- package/dist/lib/schema-builder.js.map +1 -0
- package/dist/lib/tenant-context.d.ts +127 -0
- package/dist/lib/tenant-context.d.ts.map +1 -0
- package/dist/lib/tenant-context.js +573 -0
- package/dist/lib/tenant-context.js.map +1 -0
- package/dist/lib/update-check.d.ts +52 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +271 -0
- package/dist/lib/update-check.js.map +1 -0
- package/dist/lib/update-maintenance.d.ts +15 -0
- package/dist/lib/update-maintenance.d.ts.map +1 -0
- package/dist/lib/update-maintenance.js +187 -0
- package/dist/lib/update-maintenance.js.map +1 -0
- package/dist/lib/utils.d.ts +23 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +48 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/workflow-provisioning.d.ts +54 -0
- package/dist/lib/workflow-provisioning.d.ts.map +1 -0
- package/dist/lib/workflow-provisioning.js +281 -0
- package/dist/lib/workflow-provisioning.js.map +1 -0
- package/package.json +51 -0
- package/resources/gofer/.gofer-version +7 -0
- package/resources/gofer/agents-skills/0_gofer_start/SKILL.md +1287 -0
- package/resources/gofer/agents-skills/0a_problem_validation/SKILL.md +429 -0
- package/resources/gofer/agents-skills/10_gofer_cloud/SKILL.md +635 -0
- package/resources/gofer/agents-skills/1_gofer_research/SKILL.md +1159 -0
- package/resources/gofer/agents-skills/2_gofer_specify/SKILL.md +860 -0
- package/resources/gofer/agents-skills/3_gofer_plan/SKILL.md +886 -0
- package/resources/gofer/agents-skills/4_gofer_tasks/SKILL.md +748 -0
- package/resources/gofer/agents-skills/5_gofer_implement/SKILL.md +924 -0
- package/resources/gofer/agents-skills/6_gofer_validate/SKILL.md +2269 -0
- package/resources/gofer/agents-skills/7_gofer_save/SKILL.md +423 -0
- package/resources/gofer/agents-skills/7a_stakeholder_comms/SKILL.md +508 -0
- package/resources/gofer/agents-skills/8_gofer_branding/SKILL.md +315 -0
- package/resources/gofer/agents-skills/9_gofer_tests/SKILL.md +558 -0
- package/resources/gofer/agents-skills/gofer_bootstrap_workspace/SKILL.md +148 -0
- package/resources/gofer/agents-skills/gofer_check_workspace/SKILL.md +119 -0
- package/resources/gofer/agents-skills/gofer_constitution/SKILL.md +612 -0
- package/resources/gofer/agents-skills/gofer_diagnose/SKILL.md +114 -0
- package/resources/gofer/agents-skills/gofer_eai_first_run/SKILL.md +397 -0
- package/resources/gofer/agents-skills/gofer_hydrate/SKILL.md +561 -0
- package/resources/gofer/agents-skills/gofer_personality/SKILL.md +44 -0
- package/resources/gofer/agents-skills/gofer_plan/SKILL.md +40 -0
- package/resources/gofer/agents-skills/gofer_side/SKILL.md +45 -0
- package/resources/gofer/agents-skills/gofer_spec_summary/SKILL.md +112 -0
- package/resources/gofer/agents-skills/gofer_tdd/SKILL.md +112 -0
- package/resources/gofer/agents-skills/gofer_vocabulary/SKILL.md +112 -0
- package/resources/gofer/agents-skills/gofer_zoom_out/SKILL.md +112 -0
- package/resources/gofer/bash-scripts/check-context-health.sh +365 -0
- package/resources/gofer/bash-scripts/check-persona-pack.sh +81 -0
- package/resources/gofer/bash-scripts/check-prerequisites.sh +168 -0
- package/resources/gofer/bash-scripts/common.sh +192 -0
- package/resources/gofer/bash-scripts/create-new-feature.sh +260 -0
- package/resources/gofer/bash-scripts/install-optional-tools.sh +270 -0
- package/resources/gofer/bash-scripts/log-stage.sh +224 -0
- package/resources/gofer/bash-scripts/mark-task-complete.sh +74 -0
- package/resources/gofer/bash-scripts/pipeline-state.sh +306 -0
- package/resources/gofer/bash-scripts/read-failed-approaches.sh +114 -0
- package/resources/gofer/bash-scripts/read-session-memories.sh +96 -0
- package/resources/gofer/bash-scripts/save-checkpoint.sh +407 -0
- package/resources/gofer/bash-scripts/setup-plan.sh +62 -0
- package/resources/gofer/bash-scripts/sync-implementation-status.sh +47 -0
- package/resources/gofer/bash-scripts/update-agent-context.sh +772 -0
- package/resources/gofer/bash-scripts/validate-artifact.sh +335 -0
- package/resources/gofer/bash-scripts/verify-task.sh +384 -0
- package/resources/gofer/bash-scripts/write-failed-approach.sh +110 -0
- package/resources/gofer/bash-scripts/write-periodic-checkpoint.sh +128 -0
- package/resources/gofer/bash-scripts/write-session-memory.sh +118 -0
- package/resources/gofer/claude-agents/assumption-tracker.md +168 -0
- package/resources/gofer/claude-agents/business-metrics-analyzer.md +169 -0
- package/resources/gofer/claude-agents/business-problem-validator.md +168 -0
- package/resources/gofer/claude-agents/codebase-analyzer.md +124 -0
- package/resources/gofer/claude-agents/codebase-locator.md +95 -0
- package/resources/gofer/claude-agents/codebase-pattern-finder.md +180 -0
- package/resources/gofer/claude-agents/comms-writer.md +158 -0
- package/resources/gofer/claude-agents/engineer-review.md +169 -0
- package/resources/gofer/claude-agents/implement-bug-triangulator.md +94 -0
- package/resources/gofer/claude-agents/implement-code-review-council.md +89 -0
- package/resources/gofer/claude-agents/implement-doc-writer.md +89 -0
- package/resources/gofer/claude-agents/implement-error-hardener.md +84 -0
- package/resources/gofer/claude-agents/implement-performance-explorer.md +95 -0
- package/resources/gofer/claude-agents/implement-test-diversifier.md +82 -0
- package/resources/gofer/claude-agents/implement-variant-generator.md +80 -0
- package/resources/gofer/claude-agents/multi-perspective-judge.md +114 -0
- package/resources/gofer/claude-agents/plan-api-comparator.md +90 -0
- package/resources/gofer/claude-agents/plan-architecture-diverger.md +100 -0
- package/resources/gofer/claude-agents/plan-data-model-stress-tester.md +95 -0
- package/resources/gofer/claude-agents/plan-migration-path-finder.md +95 -0
- package/resources/gofer/claude-agents/plan-refactor-rewrite-advisor.md +97 -0
- package/resources/gofer/claude-agents/research-dependency-evaluator.md +106 -0
- package/resources/gofer/claude-agents/research-horizon-scanner.md +100 -0
- package/resources/gofer/claude-agents/research-market-scanner.md +137 -0
- package/resources/gofer/claude-agents/research-perspective-multiplier.md +102 -0
- package/resources/gofer/claude-agents/scope-creep-detector.md +152 -0
- package/resources/gofer/claude-agents/specify-ambiguity-detector.md +95 -0
- package/resources/gofer/claude-agents/specify-journey-stress-tester.md +92 -0
- package/resources/gofer/claude-agents/tasks-cross-cutting-scanner.md +91 -0
- package/resources/gofer/claude-agents/tasks-rollback-planner.md +89 -0
- package/resources/gofer/claude-agents/validate-security-red-team.md +102 -0
- package/resources/gofer/claude-agents/validation-correctness.md +103 -0
- package/resources/gofer/claude-agents/validation-integration.md +129 -0
- package/resources/gofer/claude-agents/validation-performance.md +120 -0
- package/resources/gofer/claude-agents/validation-security.md +115 -0
- package/resources/gofer/claude-agents/validation-standards.md +151 -0
- package/resources/gofer/claude-agents/validation-test-quality.md +146 -0
- package/resources/gofer/claude-agents/visual-bounded-context-writer.md +40 -0
- package/resources/gofer/claude-agents/visual-c4-writer.md +45 -0
- package/resources/gofer/claude-agents/visual-erd-writer.md +34 -0
- package/resources/gofer/claude-agents/visual-heatmap-writer.md +63 -0
- package/resources/gofer/claude-agents/visual-risk-writer.md +64 -0
- package/resources/gofer/claude-commands/0_gofer_start.md +1282 -0
- package/resources/gofer/claude-commands/0a_problem_validation.md +424 -0
- package/resources/gofer/claude-commands/10_gofer_cloud.md +630 -0
- package/resources/gofer/claude-commands/1_gofer_research.md +1154 -0
- package/resources/gofer/claude-commands/2_gofer_specify.md +855 -0
- package/resources/gofer/claude-commands/3_gofer_plan.md +881 -0
- package/resources/gofer/claude-commands/4_gofer_tasks.md +743 -0
- package/resources/gofer/claude-commands/5_gofer_implement.md +919 -0
- package/resources/gofer/claude-commands/6_gofer_validate.md +2264 -0
- package/resources/gofer/claude-commands/7_gofer_save.md +418 -0
- package/resources/gofer/claude-commands/7a_stakeholder_comms.md +503 -0
- package/resources/gofer/claude-commands/8_gofer_branding.md +310 -0
- package/resources/gofer/claude-commands/9_gofer_tests.md +553 -0
- package/resources/gofer/claude-commands/gofer_bootstrap_workspace.md +143 -0
- package/resources/gofer/claude-commands/gofer_check_workspace.md +114 -0
- package/resources/gofer/claude-commands/gofer_constitution.md +607 -0
- package/resources/gofer/claude-commands/gofer_diagnose.md +109 -0
- package/resources/gofer/claude-commands/gofer_eai_first_run.md +392 -0
- package/resources/gofer/claude-commands/gofer_hydrate.md +556 -0
- package/resources/gofer/claude-commands/gofer_personality.md +39 -0
- package/resources/gofer/claude-commands/gofer_plan.md +35 -0
- package/resources/gofer/claude-commands/gofer_side.md +40 -0
- package/resources/gofer/claude-commands/gofer_spec_summary.md +107 -0
- package/resources/gofer/claude-commands/gofer_tdd.md +107 -0
- package/resources/gofer/claude-commands/gofer_vocabulary.md +107 -0
- package/resources/gofer/claude-commands/gofer_zoom_out.md +107 -0
- package/resources/gofer/claude-skills/eai-gofer/SKILL.md +56 -0
- package/resources/gofer/commands/.gitkeep +0 -0
- package/resources/gofer/commands/0_gofer_start.md +1299 -0
- package/resources/gofer/commands/0a_problem_validation.md +405 -0
- package/resources/gofer/commands/10_gofer_cloud.md +611 -0
- package/resources/gofer/commands/1_gofer_research.md +1135 -0
- package/resources/gofer/commands/2_gofer_specify.md +836 -0
- package/resources/gofer/commands/3_gofer_plan.md +862 -0
- package/resources/gofer/commands/4_gofer_tasks.md +724 -0
- package/resources/gofer/commands/5_gofer_implement.md +900 -0
- package/resources/gofer/commands/6_gofer_validate.md +2245 -0
- package/resources/gofer/commands/7_gofer_save.md +399 -0
- package/resources/gofer/commands/7a_stakeholder_comms.md +484 -0
- package/resources/gofer/commands/8_gofer_branding.md +291 -0
- package/resources/gofer/commands/9_gofer_tests.md +534 -0
- package/resources/gofer/commands/gofer_bootstrap_workspace.md +159 -0
- package/resources/gofer/commands/gofer_check_workspace.md +130 -0
- package/resources/gofer/commands/gofer_constitution.md +588 -0
- package/resources/gofer/commands/gofer_diagnose.md +89 -0
- package/resources/gofer/commands/gofer_eai_first_run.md +392 -0
- package/resources/gofer/commands/gofer_hydrate.md +537 -0
- package/resources/gofer/commands/gofer_personality.md +61 -0
- package/resources/gofer/commands/gofer_plan.md +51 -0
- package/resources/gofer/commands/gofer_side.md +56 -0
- package/resources/gofer/commands/gofer_spec_summary.md +87 -0
- package/resources/gofer/commands/gofer_tdd.md +87 -0
- package/resources/gofer/commands/gofer_vocabulary.md +87 -0
- package/resources/gofer/commands/gofer_zoom_out.md +87 -0
- package/resources/gofer/copilot-instructions/gofer-cost.instructions.md +13 -0
- package/resources/gofer/copilot-instructions/language-server.instructions.md +49 -0
- package/resources/gofer/copilot-instructions/typescript.instructions.md +47 -0
- package/resources/gofer/copilot-instructions/vscode-extension.instructions.md +46 -0
- package/resources/gofer/copilot-prompts/0_gofer_start.prompt.md +1308 -0
- package/resources/gofer/copilot-prompts/0a_problem_validation.prompt.md +429 -0
- package/resources/gofer/copilot-prompts/10_gofer_cloud.prompt.md +644 -0
- package/resources/gofer/copilot-prompts/1_gofer_research.prompt.md +1177 -0
- package/resources/gofer/copilot-prompts/2_gofer_specify.prompt.md +878 -0
- package/resources/gofer/copilot-prompts/3_gofer_plan.prompt.md +904 -0
- package/resources/gofer/copilot-prompts/4_gofer_tasks.prompt.md +766 -0
- package/resources/gofer/copilot-prompts/5_gofer_implement.prompt.md +942 -0
- package/resources/gofer/copilot-prompts/6_gofer_validate.prompt.md +2277 -0
- package/resources/gofer/copilot-prompts/7_gofer_save.prompt.md +433 -0
- package/resources/gofer/copilot-prompts/7a_stakeholder_comms.prompt.md +516 -0
- package/resources/gofer/copilot-prompts/8_gofer_branding.prompt.md +323 -0
- package/resources/gofer/copilot-prompts/9_gofer_tests.prompt.md +566 -0
- package/resources/gofer/copilot-prompts/gofer_bootstrap_workspace.prompt.md +161 -0
- package/resources/gofer/copilot-prompts/gofer_check_workspace.prompt.md +132 -0
- package/resources/gofer/copilot-prompts/gofer_constitution.prompt.md +621 -0
- package/resources/gofer/copilot-prompts/gofer_diagnose.prompt.md +127 -0
- package/resources/gofer/copilot-prompts/gofer_eai_first_run.prompt.md +410 -0
- package/resources/gofer/copilot-prompts/gofer_hydrate.prompt.md +571 -0
- package/resources/gofer/copilot-prompts/gofer_personality.prompt.md +57 -0
- package/resources/gofer/copilot-prompts/gofer_plan.prompt.md +53 -0
- package/resources/gofer/copilot-prompts/gofer_side.prompt.md +58 -0
- package/resources/gofer/copilot-prompts/gofer_spec_summary.prompt.md +125 -0
- package/resources/gofer/copilot-prompts/gofer_tdd.prompt.md +125 -0
- package/resources/gofer/copilot-prompts/gofer_vocabulary.prompt.md +125 -0
- package/resources/gofer/copilot-prompts/gofer_zoom_out.prompt.md +125 -0
- package/resources/gofer/gemini/agents/assumption-tracker.md +171 -0
- package/resources/gofer/gemini/agents/business-metrics-analyzer.md +172 -0
- package/resources/gofer/gemini/agents/business-problem-validator.md +171 -0
- package/resources/gofer/gemini/agents/codebase-analyzer.md +127 -0
- package/resources/gofer/gemini/agents/codebase-locator.md +98 -0
- package/resources/gofer/gemini/agents/codebase-pattern-finder.md +183 -0
- package/resources/gofer/gemini/agents/comms-writer.md +161 -0
- package/resources/gofer/gemini/agents/engineer-review.md +172 -0
- package/resources/gofer/gemini/agents/implement-bug-triangulator.md +97 -0
- package/resources/gofer/gemini/agents/implement-code-review-council.md +92 -0
- package/resources/gofer/gemini/agents/implement-doc-writer.md +92 -0
- package/resources/gofer/gemini/agents/implement-error-hardener.md +87 -0
- package/resources/gofer/gemini/agents/implement-performance-explorer.md +98 -0
- package/resources/gofer/gemini/agents/implement-test-diversifier.md +85 -0
- package/resources/gofer/gemini/agents/implement-variant-generator.md +83 -0
- package/resources/gofer/gemini/agents/multi-perspective-judge.md +117 -0
- package/resources/gofer/gemini/agents/plan-api-comparator.md +93 -0
- package/resources/gofer/gemini/agents/plan-architecture-diverger.md +103 -0
- package/resources/gofer/gemini/agents/plan-data-model-stress-tester.md +98 -0
- package/resources/gofer/gemini/agents/plan-migration-path-finder.md +98 -0
- package/resources/gofer/gemini/agents/plan-refactor-rewrite-advisor.md +100 -0
- package/resources/gofer/gemini/agents/research-dependency-evaluator.md +109 -0
- package/resources/gofer/gemini/agents/research-horizon-scanner.md +103 -0
- package/resources/gofer/gemini/agents/research-market-scanner.md +140 -0
- package/resources/gofer/gemini/agents/research-perspective-multiplier.md +105 -0
- package/resources/gofer/gemini/agents/scope-creep-detector.md +155 -0
- package/resources/gofer/gemini/agents/specify-ambiguity-detector.md +98 -0
- package/resources/gofer/gemini/agents/specify-journey-stress-tester.md +95 -0
- package/resources/gofer/gemini/agents/tasks-cross-cutting-scanner.md +94 -0
- package/resources/gofer/gemini/agents/tasks-rollback-planner.md +92 -0
- package/resources/gofer/gemini/agents/validate-security-red-team.md +105 -0
- package/resources/gofer/gemini/agents/validation-correctness.md +106 -0
- package/resources/gofer/gemini/agents/validation-integration.md +132 -0
- package/resources/gofer/gemini/agents/validation-performance.md +123 -0
- package/resources/gofer/gemini/agents/validation-security.md +118 -0
- package/resources/gofer/gemini/agents/validation-standards.md +154 -0
- package/resources/gofer/gemini/agents/validation-test-quality.md +149 -0
- package/resources/gofer/gemini/agents/visual-bounded-context-writer.md +40 -0
- package/resources/gofer/gemini/agents/visual-c4-writer.md +44 -0
- package/resources/gofer/gemini/agents/visual-erd-writer.md +36 -0
- package/resources/gofer/gemini/agents/visual-heatmap-writer.md +63 -0
- package/resources/gofer/gemini/agents/visual-risk-writer.md +64 -0
- package/resources/gofer/gemini/commands/gofer/.gitkeep +0 -0
- package/resources/gofer/gemini/commands/gofer/0_gofer_start.md +1282 -0
- package/resources/gofer/gemini/commands/gofer/0_gofer_start.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/0a_problem_validation.md +424 -0
- package/resources/gofer/gemini/commands/gofer/0a_problem_validation.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/10_gofer_cloud.md +630 -0
- package/resources/gofer/gemini/commands/gofer/10_gofer_cloud.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/1_gofer_research.md +1154 -0
- package/resources/gofer/gemini/commands/gofer/1_gofer_research.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/2_gofer_specify.md +855 -0
- package/resources/gofer/gemini/commands/gofer/2_gofer_specify.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/3_gofer_plan.md +881 -0
- package/resources/gofer/gemini/commands/gofer/3_gofer_plan.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/4_gofer_tasks.md +743 -0
- package/resources/gofer/gemini/commands/gofer/4_gofer_tasks.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/5_gofer_implement.md +919 -0
- package/resources/gofer/gemini/commands/gofer/5_gofer_implement.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/6_gofer_validate.md +2264 -0
- package/resources/gofer/gemini/commands/gofer/6_gofer_validate.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/7_gofer_save.md +418 -0
- package/resources/gofer/gemini/commands/gofer/7_gofer_save.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/7a_stakeholder_comms.md +503 -0
- package/resources/gofer/gemini/commands/gofer/7a_stakeholder_comms.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/8_gofer_branding.md +310 -0
- package/resources/gofer/gemini/commands/gofer/8_gofer_branding.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/9_gofer_tests.md +553 -0
- package/resources/gofer/gemini/commands/gofer/9_gofer_tests.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_bootstrap_workspace.md +143 -0
- package/resources/gofer/gemini/commands/gofer/gofer_bootstrap_workspace.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_check_workspace.md +114 -0
- package/resources/gofer/gemini/commands/gofer/gofer_check_workspace.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_constitution.md +607 -0
- package/resources/gofer/gemini/commands/gofer/gofer_constitution.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_diagnose.md +109 -0
- package/resources/gofer/gemini/commands/gofer/gofer_diagnose.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_eai_first_run.md +392 -0
- package/resources/gofer/gemini/commands/gofer/gofer_eai_first_run.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_hydrate.md +556 -0
- package/resources/gofer/gemini/commands/gofer/gofer_hydrate.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_personality.md +39 -0
- package/resources/gofer/gemini/commands/gofer/gofer_personality.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_plan.md +35 -0
- package/resources/gofer/gemini/commands/gofer/gofer_plan.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_side.md +40 -0
- package/resources/gofer/gemini/commands/gofer/gofer_side.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_spec_summary.md +107 -0
- package/resources/gofer/gemini/commands/gofer/gofer_spec_summary.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_tdd.md +107 -0
- package/resources/gofer/gemini/commands/gofer/gofer_tdd.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_vocabulary.md +107 -0
- package/resources/gofer/gemini/commands/gofer/gofer_vocabulary.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_zoom_out.md +107 -0
- package/resources/gofer/gemini/commands/gofer/gofer_zoom_out.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/manifest.json +32 -0
- package/resources/gofer/gemini/extension.json +16 -0
- package/resources/gofer/github-agents/gofer-business.agent.md +20 -0
- package/resources/gofer/github-agents/gofer-implement.agent.md +15 -0
- package/resources/gofer/github-agents/gofer-plan.agent.md +15 -0
- package/resources/gofer/github-agents/gofer-research.agent.md +15 -0
- package/resources/gofer/github-agents/gofer-validate.agent.md +10 -0
- package/resources/gofer/github-skills/eai-gofer/SKILL.md +56 -0
- package/resources/gofer/hook-scripts/agent-stop.mjs +655 -0
- package/resources/gofer/hook-scripts/log-stage-launch-time.mjs +77 -0
- package/resources/gofer/hook-scripts/post-tool-use.mjs +333 -0
- package/resources/gofer/hook-scripts/queued-input.mjs +188 -0
- package/resources/gofer/hook-scripts/session-lifecycle.mjs +93 -0
- package/resources/gofer/hook-scripts/user-prompt-submit.mjs +228 -0
- package/resources/gofer/instruction-templates/base/agents-base.md +37 -0
- package/resources/gofer/instruction-templates/base/claude-base.md +7 -0
- package/resources/gofer/instruction-templates/base/copilot-base.md +26 -0
- package/resources/gofer/instruction-templates/gofer/gofer-claude.md +5 -0
- package/resources/gofer/instruction-templates/gofer/gofer-copilot.md +9 -0
- package/resources/gofer/instruction-templates/languages/generic.md +7 -0
- package/resources/gofer/instruction-templates/languages/go.md +8 -0
- package/resources/gofer/instruction-templates/languages/java.md +8 -0
- package/resources/gofer/instruction-templates/languages/python.md +9 -0
- package/resources/gofer/instruction-templates/languages/rust.md +9 -0
- package/resources/gofer/instruction-templates/languages/typescript.md +19 -0
- package/resources/gofer/instruction-templates/workflow/principles.md +52 -0
- package/resources/gofer/memory/constitution.md +391 -0
- package/resources/gofer/memory/context-profiles.yaml +74 -0
- package/resources/gofer/memory/decisions/000-use-adr-for-decisions.md +67 -0
- package/resources/gofer/memory/decisions/001-di-framework.md +190 -0
- package/resources/gofer/memory/decisions/002-module-extraction.md +305 -0
- package/resources/gofer/memory/decisions/003-error-handling.md +368 -0
- package/resources/gofer/memory/decisions/004-cache-eviction.md +436 -0
- package/resources/gofer/memory/decisions/005-constants-management.md +520 -0
- package/resources/gofer/memory/decisions/README.md +129 -0
- package/resources/gofer/memory/diagrams/di-container.mmd +321 -0
- package/resources/gofer/memory/diagrams/extension-activation.mmd +184 -0
- package/resources/gofer/memory/diagrams/module-dependencies.mmd +264 -0
- package/resources/gofer/memory/gofer-model-policy.yaml +97 -0
- package/resources/gofer/memory/lessons.md +46 -0
- package/resources/gofer/node-scripts/canonical-descriptions.mjs +86 -0
- package/resources/gofer/node-scripts/check-version-alignment.mjs +131 -0
- package/resources/gofer/node-scripts/codex-doctor.mjs +425 -0
- package/resources/gofer/node-scripts/generate-commands.mjs +1366 -0
- package/resources/gofer/node-scripts/generate-issues.js +563 -0
- package/resources/gofer/node-scripts/gofer-closed-loop-audit.mjs +893 -0
- package/resources/gofer/node-scripts/gofer-loop-audit.mjs +541 -0
- package/resources/gofer/node-scripts/gofer-performance-report.mjs +306 -0
- package/resources/gofer/node-scripts/gofer-workspace-bootstrap.mjs +56 -0
- package/resources/gofer/node-scripts/gofer-workspace-check.mjs +56 -0
- package/resources/gofer/node-scripts/lib/ai-leverage-tagger.mjs +103 -0
- package/resources/gofer/node-scripts/lib/assemble-stakeholder-pack.mjs +114 -0
- package/resources/gofer/node-scripts/lib/marp-deck.mjs +87 -0
- package/resources/gofer/node-scripts/lib/mermaid-tabular-fallback.mjs +264 -0
- package/resources/gofer/node-scripts/lib/render-visual.mjs +54 -0
- package/resources/gofer/node-scripts/lib/validate-aliases.mjs +85 -0
- package/resources/gofer/node-scripts/lib/visual-counts.mjs +44 -0
- package/resources/gofer/node-scripts/lib/visual-pass-pipeline.mjs +134 -0
- package/resources/gofer/node-scripts/mermaid-export.mjs +72 -0
- package/resources/gofer/node-scripts/package-agent-plugin.mjs +940 -0
- package/resources/gofer/node-scripts/parse-stage-command.mjs +211 -0
- package/resources/gofer/node-scripts/schemas/.gitkeep +0 -0
- package/resources/gofer/node-scripts/schemas/stage-command.schema.json +72 -0
- package/resources/gofer/node-scripts/sync-extension-resources.mjs +110 -0
- package/resources/gofer/node-scripts/workspace-bootstrap-lib.mjs +1166 -0
- package/resources/gofer/powershell-scripts/install-optional-tools.ps1 +214 -0
- package/resources/gofer/references/platform/README.md +17 -0
- package/resources/gofer/references/platform/deployment-repo.md +9 -0
- package/resources/gofer/references/platform/eai-app-template.md +45 -0
- package/resources/gofer/references/platform/eai-config-driven-ui.md +156 -0
- package/resources/gofer/references/platform/eai-error-catalog.yaml +197 -0
- package/resources/gofer/references/platform/eai-repo-contract.md +134 -0
- package/resources/gofer/references/platform/eai-service-patterns.md +56 -0
- package/resources/gofer/references/platform/eai.md +85 -0
- package/resources/gofer/references/platform/vertical-template.md +49 -0
- package/resources/gofer/specify-commands/.gitkeep +0 -0
- package/resources/gofer/specify-commands/0_gofer_start.md +1299 -0
- package/resources/gofer/specify-commands/0a_problem_validation.md +405 -0
- package/resources/gofer/specify-commands/10_gofer_cloud.md +611 -0
- package/resources/gofer/specify-commands/1_gofer_research.md +1135 -0
- package/resources/gofer/specify-commands/2_gofer_specify.md +836 -0
- package/resources/gofer/specify-commands/3_gofer_plan.md +862 -0
- package/resources/gofer/specify-commands/4_gofer_tasks.md +724 -0
- package/resources/gofer/specify-commands/5_gofer_implement.md +900 -0
- package/resources/gofer/specify-commands/6_gofer_validate.md +2245 -0
- package/resources/gofer/specify-commands/7_gofer_save.md +399 -0
- package/resources/gofer/specify-commands/7a_stakeholder_comms.md +484 -0
- package/resources/gofer/specify-commands/8_gofer_branding.md +291 -0
- package/resources/gofer/specify-commands/9_gofer_tests.md +534 -0
- package/resources/gofer/specify-commands/gofer_bootstrap_workspace.md +159 -0
- package/resources/gofer/specify-commands/gofer_check_workspace.md +130 -0
- package/resources/gofer/specify-commands/gofer_constitution.md +588 -0
- package/resources/gofer/specify-commands/gofer_diagnose.md +89 -0
- package/resources/gofer/specify-commands/gofer_eai_first_run.md +392 -0
- package/resources/gofer/specify-commands/gofer_hydrate.md +537 -0
- package/resources/gofer/specify-commands/gofer_personality.md +61 -0
- package/resources/gofer/specify-commands/gofer_plan.md +51 -0
- package/resources/gofer/specify-commands/gofer_side.md +56 -0
- package/resources/gofer/specify-commands/gofer_spec_summary.md +87 -0
- package/resources/gofer/specify-commands/gofer_tdd.md +87 -0
- package/resources/gofer/specify-commands/gofer_vocabulary.md +87 -0
- package/resources/gofer/specify-commands/gofer_zoom_out.md +87 -0
- package/resources/gofer/system-skills/0_gofer_start/SKILL.md +1287 -0
- package/resources/gofer/system-skills/0a_problem_validation/SKILL.md +429 -0
- package/resources/gofer/system-skills/10_gofer_cloud/SKILL.md +635 -0
- package/resources/gofer/system-skills/1_gofer_research/SKILL.md +1159 -0
- package/resources/gofer/system-skills/2_gofer_specify/SKILL.md +860 -0
- package/resources/gofer/system-skills/3_gofer_plan/SKILL.md +886 -0
- package/resources/gofer/system-skills/4_gofer_tasks/SKILL.md +748 -0
- package/resources/gofer/system-skills/5_gofer_implement/SKILL.md +924 -0
- package/resources/gofer/system-skills/6_gofer_validate/SKILL.md +2269 -0
- package/resources/gofer/system-skills/7_gofer_save/SKILL.md +423 -0
- package/resources/gofer/system-skills/7a_stakeholder_comms/SKILL.md +508 -0
- package/resources/gofer/system-skills/8_gofer_branding/SKILL.md +315 -0
- package/resources/gofer/system-skills/9_gofer_tests/SKILL.md +558 -0
- package/resources/gofer/system-skills/gofer_bootstrap_workspace/SKILL.md +148 -0
- package/resources/gofer/system-skills/gofer_check_workspace/SKILL.md +119 -0
- package/resources/gofer/system-skills/gofer_constitution/SKILL.md +612 -0
- package/resources/gofer/system-skills/gofer_diagnose/SKILL.md +114 -0
- package/resources/gofer/system-skills/gofer_eai_first_run/SKILL.md +397 -0
- package/resources/gofer/system-skills/gofer_hydrate/SKILL.md +561 -0
- package/resources/gofer/system-skills/gofer_personality/SKILL.md +44 -0
- package/resources/gofer/system-skills/gofer_plan/SKILL.md +40 -0
- package/resources/gofer/system-skills/gofer_side/SKILL.md +45 -0
- package/resources/gofer/system-skills/gofer_spec_summary/SKILL.md +112 -0
- package/resources/gofer/system-skills/gofer_tdd/SKILL.md +112 -0
- package/resources/gofer/system-skills/gofer_vocabulary/SKILL.md +112 -0
- package/resources/gofer/system-skills/gofer_zoom_out/SKILL.md +112 -0
- package/resources/gofer/templates/agent-file-template.md +28 -0
- package/resources/gofer/templates/assumptions-template.md +94 -0
- package/resources/gofer/templates/audit-history-template.md +35 -0
- package/resources/gofer/templates/brand/brand-profile-template.json +45 -0
- package/resources/gofer/templates/brand/document-style-template.md +50 -0
- package/resources/gofer/templates/brand/marp-theme-template.css +58 -0
- package/resources/gofer/templates/brownfield-analysis.md +44 -0
- package/resources/gofer/templates/business-metrics-template.md +120 -0
- package/resources/gofer/templates/business-owner-summary-template.md +83 -0
- package/resources/gofer/templates/checklist-template.md +40 -0
- package/resources/gofer/templates/ciso-security-summary-template.md +70 -0
- package/resources/gofer/templates/context-bundle-template.md +76 -0
- package/resources/gofer/templates/contract-pack-template.md +109 -0
- package/resources/gofer/templates/cto-architecture-summary-template.md +83 -0
- package/resources/gofer/templates/discovery-template.md +92 -0
- package/resources/gofer/templates/eai-preflight-template.md +144 -0
- package/resources/gofer/templates/goal-ledger-template.json +69 -0
- package/resources/gofer/templates/gofer-model-policy.yaml +97 -0
- package/resources/gofer/templates/issues-template.md +106 -0
- package/resources/gofer/templates/journey/base-journey.md +95 -0
- package/resources/gofer/templates/journey/industry-variants.yaml +277 -0
- package/resources/gofer/templates/loop-contract-template.json +68 -0
- package/resources/gofer/templates/plan-template.md +215 -0
- package/resources/gofer/templates/problem-brief-template.md +85 -0
- package/resources/gofer/templates/proposal-review-template.md +79 -0
- package/resources/gofer/templates/research-template.md +222 -0
- package/resources/gofer/templates/reuse-scan-template.md +43 -0
- package/resources/gofer/templates/sequence-diagrams/option-spectrum.yaml +178 -0
- package/resources/gofer/templates/service-fit-matrix-template.md +29 -0
- package/resources/gofer/templates/session-handoff-template.md +172 -0
- package/resources/gofer/templates/spec-summary-template.md +118 -0
- package/resources/gofer/templates/spec-template.md +196 -0
- package/resources/gofer/templates/stakeholder-comms-template.md +330 -0
- package/resources/gofer/templates/stakeholder-review-index-template.md +54 -0
- package/resources/gofer/templates/tasks-template.md +323 -0
- package/resources/gofer/templates/ui-approval-template.md +32 -0
- package/resources/gofer/templates/ui-preview-brief-template.md +65 -0
- package/resources/gofer/templates/ui-review-log-template.md +11 -0
- package/resources/gofer/templates/visuals/.gitkeep +0 -0
- package/resources/gofer/templates/visuals/bounded-context-map.md +19 -0
- package/resources/gofer/templates/visuals/bounded-context-template.md +47 -0
- package/resources/gofer/templates/visuals/c4-container-template.md +38 -0
- package/resources/gofer/templates/visuals/c4-container.md +20 -0
- package/resources/gofer/templates/visuals/c4-context-template.md +46 -0
- package/resources/gofer/templates/visuals/capability-heatmap-template.md +54 -0
- package/resources/gofer/templates/visuals/data-model-erd-template.md +41 -0
- package/resources/gofer/templates/visuals/erd.md +19 -0
- package/resources/gofer/templates/visuals/impact-canvas.md +40 -0
- package/resources/gofer/templates/visuals/risk-heatmap-template.md +51 -0
- package/resources/gofer/templates/visuals/roi-projection.md +17 -0
- package/resources/gofer/templates/visuals/value-stream-asis.md +16 -0
- package/resources/gofer/templates/visuals/value-stream-tobe.md +18 -0
- package/resources/gofer/templates/working-backwards-prfaq-template.md +165 -0
- package/resources/linked-sources.json +25 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gofer:diagnose
|
|
3
|
+
description: "Run a reproduce-minimize-instrument-fix loop for bugs and failing tests."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Workspace Preflight
|
|
7
|
+
|
|
8
|
+
Before doing stage/helper work:
|
|
9
|
+
|
|
10
|
+
1. Resolve the repository root.
|
|
11
|
+
2. Check the core Gofer sentinels:
|
|
12
|
+
- `.specify/.gofer-version`
|
|
13
|
+
- `.specify/commands/0_gofer_start.md`
|
|
14
|
+
- `.specify/templates/spec-template.md`
|
|
15
|
+
- `.specify/templates/loop-contract-template.json`
|
|
16
|
+
- `.specify/templates/working-backwards-prfaq-template.md`
|
|
17
|
+
- `.specify/templates/business-owner-summary-template.md`
|
|
18
|
+
- `.specify/templates/cto-architecture-summary-template.md`
|
|
19
|
+
- `.specify/templates/ciso-security-summary-template.md`
|
|
20
|
+
- `.specify/templates/stakeholder-review-index-template.md`
|
|
21
|
+
- `.specify/scripts/bash/create-new-feature.sh`
|
|
22
|
+
- `.specify/scripts/node/parse-stage-command.mjs`
|
|
23
|
+
- `.specify/scripts/node/gofer-loop-audit.mjs`
|
|
24
|
+
- `.specify/scripts/hooks/post-tool-use.mjs`
|
|
25
|
+
- `.specify/scripts/powershell/install-optional-tools.ps1`
|
|
26
|
+
- `.specify/templates/gofer-model-policy.yaml`
|
|
27
|
+
- `.specify/memory/gofer-model-policy.yaml`
|
|
28
|
+
- `.specify/specs/`
|
|
29
|
+
- `.specify/memory/`
|
|
30
|
+
3. Check host-specific repo-owned files when relevant:
|
|
31
|
+
- Claude: `AGENTS.md`, `CLAUDE.md`, `.claude/settings.json`
|
|
32
|
+
- Codex: `AGENTS.md`
|
|
33
|
+
- Copilot: `.github/copilot-instructions.md`
|
|
34
|
+
- VS Code extension mirrors Claude/Copilot/Gemini resources itself and should still keep the core scaffold healthy
|
|
35
|
+
4. If the repo already has the workspace checker script, prefer running:
|
|
36
|
+
- `node .specify/scripts/node/gofer-workspace-check.mjs --host codex --json`
|
|
37
|
+
5. If the workspace is missing or stale, ask exactly:
|
|
38
|
+
- **"This repo is missing or stale for Gofer. Initialize/update it now?"**
|
|
39
|
+
6. If the user says yes, run the Gofer workspace bootstrap helper and then resume this command from the top.
|
|
40
|
+
7. If the user says no, stop and explain that Gofer stage/helper work depends on the repo-owned scaffold.
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
# Gofer Diagnose
|
|
44
|
+
|
|
45
|
+
## EAI Platform Session Preflight
|
|
46
|
+
|
|
47
|
+
Before any Gofer stage/helper command does pipeline work:
|
|
48
|
+
|
|
49
|
+
1. Treat durable delivery as EAI Platform delivery by default, with Azure second
|
|
50
|
+
and every other stack only by explicit exception.
|
|
51
|
+
2. Run `eai whoami` and confirm the EAI CLI is installed, the user is logged in,
|
|
52
|
+
and an active tenant is visible.
|
|
53
|
+
3. If `eai` is missing, `eai whoami` fails, the token is expired, or no active
|
|
54
|
+
tenant is available, stop and run `/gofer:eai-first-run` or ask the user to
|
|
55
|
+
approve login/setup before continuing.
|
|
56
|
+
4. For EAI app delivery, do not continue into research, specification, planning,
|
|
57
|
+
tasks, implementation, or validation until
|
|
58
|
+
`.specify/specs/{feature}/eai-preflight.md` records login, tenant, template,
|
|
59
|
+
app-readiness, and next-action evidence.
|
|
60
|
+
5. Do not write tokens, secrets, private tenant IDs, or local `.env` values into
|
|
61
|
+
Gofer artifacts; record only product-safe readiness status and evidence.
|
|
62
|
+
|
|
63
|
+
## Token And Cost Policy
|
|
64
|
+
<!-- gofer:token-cost-policy:start -->
|
|
65
|
+
|
|
66
|
+
Before spawning agents, calling tools, or loading large files:
|
|
67
|
+
|
|
68
|
+
1. Treat `.specify/memory/gofer-model-policy.yaml` as the repo-owned source of truth for simple, medium, hard, and arbiter model routing. If it is missing, run `/gofer:bootstrap-workspace` before continuing.
|
|
69
|
+
2. Use the cheapest capable model first.
|
|
70
|
+
- Claude: Haiku for scouting/extraction; Sonnet for normal implementation, synthesis, validation, and security; Opus for high-risk arbitration or release-critical failures.
|
|
71
|
+
- Codex/OpenAI: GPT mini for simple coding; GPT nano only for locate/classify/summarize/mechanical work; GPT-5.3-Codex or flagship GPT for tool-heavy coding, architecture, and release-critical validation.
|
|
72
|
+
- Gemini: Flash-Lite for cheap large-context scan/summarize; Flash for default research synthesis; Pro for large-context architecture or high-risk arbitration.
|
|
73
|
+
- Copilot: prefer Auto for simple and default work; ask the user before choosing a paid/high-tier picker model for hard security, architecture, or release gates.
|
|
74
|
+
3. Keep raw tool output out of the main conversation context. Save stable findings to `.specify/specs/{feature}/context-bundle.md`, then work from summaries.
|
|
75
|
+
4. Use provider prompt/context caching only for stable, non-secret prefixes: Gofer scaffold, AGENTS/CLAUDE/Copilot instructions, constitution, repo map, stage contracts, and validation rubric.
|
|
76
|
+
5. Before continuing after large research, planning, implementation, or validation bursts, checkpoint the durable artifacts and compact/clear/resume context when the host supports it.
|
|
77
|
+
6. Escalate model tier only when a cheaper pass is low-confidence, contradictory, security-sensitive, or blocking release quality.
|
|
78
|
+
<!-- gofer:token-cost-policy:end -->
|
|
79
|
+
|
|
80
|
+
Run a structured reproduce-minimize-instrument-fix investigation and write the
|
|
81
|
+
results to `.specify/specs/{feature}/diagnose-report.md`.
|
|
82
|
+
|
|
83
|
+
Use this when an implementation, test, or integration is failing and you need a
|
|
84
|
+
portable, evidence-backed debugging record that stays inside the feature
|
|
85
|
+
directory.
|
|
86
|
+
|
|
87
|
+
When you run this helper:
|
|
88
|
+
|
|
89
|
+
1. Start from the actual failure evidence already present in the session:
|
|
90
|
+
failing output, stack traces, logs, screenshots, or a concrete bug report.
|
|
91
|
+
2. Reproduce the failure as directly as possible.
|
|
92
|
+
3. Minimize the problem to the smallest reliable failing slice.
|
|
93
|
+
4. Instrument the likely fault boundaries to prove or disprove hypotheses.
|
|
94
|
+
5. Record the recommended fix path without inventing evidence.
|
|
95
|
+
6. Write the artifact only to
|
|
96
|
+
`.specify/specs/{feature}/diagnose-report.md`.
|
|
97
|
+
7. If the target file already exists, replace it and prepend a regeneration note
|
|
98
|
+
such as `<!-- regenerated at [ISO timestamp] -->`.
|
|
99
|
+
8. Include the minimum provenance schema:
|
|
100
|
+
- `GeneratedAt`
|
|
101
|
+
- `SourceCommandId`
|
|
102
|
+
- `SourceInputs`
|
|
103
|
+
- `OverwriteNoticeWhenApplicable`
|
|
104
|
+
|
|
105
|
+
The generated diagnose report must contain these sections:
|
|
106
|
+
|
|
107
|
+
- `## Provenance`
|
|
108
|
+
- `## Reproduce`
|
|
109
|
+
- `## Minimize`
|
|
110
|
+
- `## Instrument`
|
|
111
|
+
- `## Fix`
|
|
112
|
+
|
|
113
|
+
Keep the content Gofer-owned. Do not copy upstream Matt Pocock skill text
|
|
114
|
+
verbatim.
|
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gofer:eai-first-run
|
|
3
|
+
description: "Prepare a new machine or repo for the first EAI Gofer app build."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Token And Cost Policy
|
|
7
|
+
<!-- gofer:token-cost-policy:start -->
|
|
8
|
+
|
|
9
|
+
Before spawning agents, calling tools, or loading large files:
|
|
10
|
+
|
|
11
|
+
1. Treat `.specify/memory/gofer-model-policy.yaml` as the repo-owned source of truth for simple, medium, hard, and arbiter model routing. If it is missing, run `/gofer:bootstrap-workspace` before continuing.
|
|
12
|
+
2. Use the cheapest capable model first.
|
|
13
|
+
- Claude: Haiku for scouting/extraction; Sonnet for normal implementation, synthesis, validation, and security; Opus for high-risk arbitration or release-critical failures.
|
|
14
|
+
- Codex/OpenAI: GPT mini for simple coding; GPT nano only for locate/classify/summarize/mechanical work; GPT-5.3-Codex or flagship GPT for tool-heavy coding, architecture, and release-critical validation.
|
|
15
|
+
- Gemini: Flash-Lite for cheap large-context scan/summarize; Flash for default research synthesis; Pro for large-context architecture or high-risk arbitration.
|
|
16
|
+
- Copilot: prefer Auto for simple and default work; ask the user before choosing a paid/high-tier picker model for hard security, architecture, or release gates.
|
|
17
|
+
3. Keep raw tool output out of the main conversation context. Save stable findings to `.specify/specs/{feature}/context-bundle.md`, then work from summaries.
|
|
18
|
+
4. Use provider prompt/context caching only for stable, non-secret prefixes: Gofer scaffold, AGENTS/CLAUDE/Copilot instructions, constitution, repo map, stage contracts, and validation rubric.
|
|
19
|
+
5. Before continuing after large research, planning, implementation, or validation bursts, checkpoint the durable artifacts and compact/clear/resume context when the host supports it.
|
|
20
|
+
6. Escalate model tier only when a cheaper pass is low-confidence, contradictory, security-sensitive, or blocking release quality.
|
|
21
|
+
<!-- gofer:token-cost-policy:end -->
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# EAI Gofer First Run
|
|
25
|
+
|
|
26
|
+
Use this command when the user is starting their first EAI Platform app, when
|
|
27
|
+
`/0_gofer_start` is unavailable in a new repository, or when an EAI app
|
|
28
|
+
build reaches the Gofer pipeline before the local machine, workspace, tenant, or
|
|
29
|
+
EAI app template is ready.
|
|
30
|
+
|
|
31
|
+
This command is intentionally allowed to run before `.specify/` exists.
|
|
32
|
+
|
|
33
|
+
## Non-Negotiables
|
|
34
|
+
|
|
35
|
+
- Ask before every install, admin action, browser login, destructive file
|
|
36
|
+
change, or remote tenant/app change.
|
|
37
|
+
- Never print, store, or commit tokens, secrets, full `.env.local` values,
|
|
38
|
+
private tenant payloads, or private platform topology.
|
|
39
|
+
- Prefer existing tools over reinstalling. Keep working Git, Node.js, npm, and
|
|
40
|
+
EAI CLI installations.
|
|
41
|
+
- Do not scaffold over a non-empty repo silently.
|
|
42
|
+
- Use the EAI Platform app template first, Azure second, and non-EAI stacks only
|
|
43
|
+
by explicit exception.
|
|
44
|
+
- In GitHub Codespaces, avoid `sudo` or host-level package installs unless the
|
|
45
|
+
user explicitly approves. Prefer the prebuilt devcontainer and user-level npm.
|
|
46
|
+
|
|
47
|
+
## Step 1: Identify Host, OS, Shell, And Workspace
|
|
48
|
+
|
|
49
|
+
Detect and report:
|
|
50
|
+
|
|
51
|
+
- Host: Claude Code, Codex, GitHub Copilot, Gemini, VS Code, GitHub Codespaces,
|
|
52
|
+
or unknown.
|
|
53
|
+
- OS: macOS, Linux, Windows, or Codespaces Linux.
|
|
54
|
+
- Shell: bash/zsh, PowerShell, cmd, or unknown.
|
|
55
|
+
- Workspace root: current folder, opened editor workspace, Codespace checkout,
|
|
56
|
+
or a folder the user wants to create.
|
|
57
|
+
|
|
58
|
+
If no suitable folder is open, ask the user where the project should live. If
|
|
59
|
+
the host can create the folder, ask approval and create it. If not, give exact
|
|
60
|
+
click/command instructions and continue after the folder is open.
|
|
61
|
+
|
|
62
|
+
## Step 2: Check Developer Prerequisites
|
|
63
|
+
|
|
64
|
+
Run only safe read/check commands first:
|
|
65
|
+
|
|
66
|
+
| Tool | POSIX check | PowerShell check |
|
|
67
|
+
| ------- | --------------------------------- | ---------------------------------------- |
|
|
68
|
+
| Git | `git --version` | `git --version` |
|
|
69
|
+
| Node.js | `node --version` | `node --version` |
|
|
70
|
+
| npm | `npm --version` | `npm --version` |
|
|
71
|
+
| EAI CLI | `eai --version` | `eai --version` |
|
|
72
|
+
| Registry | `npm config get @eai-tools:registry` | `npm config get @eai-tools:registry` |
|
|
73
|
+
|
|
74
|
+
If Git, Node.js, or npm is missing, ask before installing. Use the least
|
|
75
|
+
surprising platform path:
|
|
76
|
+
|
|
77
|
+
| Platform | Preferred install path |
|
|
78
|
+
| ------------------- | --------------------------------------------------------------------------------------- |
|
|
79
|
+
| macOS | Use Homebrew if already installed; otherwise use the official Git/Node installer path. |
|
|
80
|
+
| Linux | Prefer existing devcontainer tools; otherwise detect `apt`, `dnf`, `yum`, or `zypper`. |
|
|
81
|
+
| Windows | Prefer `winget`; fall back to the official Git for Windows and Node.js installers. |
|
|
82
|
+
| GitHub Codespaces | Prefer preinstalled tools and user-level npm; avoid host-level package installs. |
|
|
83
|
+
|
|
84
|
+
For Windows, use PowerShell-safe syntax. Do not emit POSIX-only shell redirection
|
|
85
|
+
or assume Git Bash exists unless it was detected.
|
|
86
|
+
|
|
87
|
+
## Step 3: Install Or Update EAI CLI
|
|
88
|
+
|
|
89
|
+
If `eai` is missing, or if the user asks to update it, ask for approval and run:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npm config set @eai-tools:registry https://eai-tools.github.io/eai/registry/ --location=user
|
|
93
|
+
npm install -g @eai-tools/cli
|
|
94
|
+
eai --version
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Use the same commands in PowerShell. Do not edit `.npmrc` by shell redirection.
|
|
98
|
+
|
|
99
|
+
If the scoped registry already equals
|
|
100
|
+
`https://eai-tools.github.io/eai/registry/`, do not rewrite it. If it points
|
|
101
|
+
somewhere else, show the current value and ask before changing it.
|
|
102
|
+
|
|
103
|
+
If `eai` is already installed, run:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
eai update --check
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
If an update is available, explain the currently installed version versus the
|
|
110
|
+
latest available version and ask before running `eai update`.
|
|
111
|
+
|
|
112
|
+
If install fails, stop EAI app delivery and give the user the exact failed
|
|
113
|
+
command, the public setup link, and the account requirement. Continue only if
|
|
114
|
+
the user explicitly chooses a non-EAI path.
|
|
115
|
+
|
|
116
|
+
## Step 4: Discover EAI CLI Capabilities
|
|
117
|
+
|
|
118
|
+
Run:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
eai --describe
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
If advertised, also run:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
eai agent guide --format json
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Prefer commands and options advertised by the installed CLI over remembered
|
|
131
|
+
syntax. Use JSON only where the CLI advertises it. Record a safe summary in the
|
|
132
|
+
first-run report.
|
|
133
|
+
|
|
134
|
+
When any later `eai` command fails, use the CLI's error guidance before
|
|
135
|
+
inventing a workaround:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
eai errors explain <code-or-reason> --format json
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
If `eai errors explain` is unavailable, use the installed Gofer fallback catalog
|
|
142
|
+
at `.specify/references/platform/eai-error-catalog.yaml` once the repo exists,
|
|
143
|
+
or report that live EAI guidance is unavailable and stop before mutating
|
|
144
|
+
tenant/app state. Always run read-only diagnostics before mutating fixes.
|
|
145
|
+
|
|
146
|
+
For tenant member/admin operations, if `eai user invite` fails with
|
|
147
|
+
`EXTERNAL_SERVICE_ERROR`, a 5xx response, or
|
|
148
|
+
`user_invite_external_service_existing_member`, check for an existing direct
|
|
149
|
+
member with:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
eai user list --tenant <tenant-id> --search <email> --format json
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Use role repair only after the existing member ID is verified and the user
|
|
156
|
+
approves the role change:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
eai user role set --tenant <tenant-id> --member-id <member-id> --role tenant-admin --format json
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Then verify the read-back and tell the affected app user to sign out and sign
|
|
163
|
+
back in because Auth.js session or JWT role data may be cached.
|
|
164
|
+
|
|
165
|
+
Specifically note whether the installed CLI advertises the commands needed for:
|
|
166
|
+
|
|
167
|
+
- app scaffolding via `eai init`
|
|
168
|
+
- tenant selection via `eai tenant select`
|
|
169
|
+
- app enrollment via `eai app`
|
|
170
|
+
- resource schema discovery via `eai resources schema`
|
|
171
|
+
- workflow readiness via `eai workflow readiness`
|
|
172
|
+
- Entra app registration and redirect URI provisioning via `eai provision entra`
|
|
173
|
+
- project drift checks via `eai template check`
|
|
174
|
+
- Gofer drift checks via `eai gofer refresh --check`
|
|
175
|
+
- UI block discovery via `eai blocks`
|
|
176
|
+
- AI-agent guidance via `eai agent guide`
|
|
177
|
+
- error recovery guidance via `eai errors explain`
|
|
178
|
+
|
|
179
|
+
## Step 5: Login, Tenant, And Account Readiness
|
|
180
|
+
|
|
181
|
+
Run:
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
eai whoami
|
|
185
|
+
eai tenant list --format json
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
If not logged in or the token is expired, ask before running:
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
eai login
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
After login, list tenants again. If more than one tenant is available, help the
|
|
195
|
+
user choose the correct one and run the advertised equivalent of:
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
eai tenant select <tenant-slug-or-id>
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Require at least one usable tenant membership before EAI app delivery. Prefer a
|
|
202
|
+
tenant-admin/operator-capable role because app enrollment and provisioning are
|
|
203
|
+
tenant-scoped actions. If no tenant is available, tell the user they need an EAI
|
|
204
|
+
Platform account and tenant access before Gofer can build an app.
|
|
205
|
+
|
|
206
|
+
## Step 6: Confirm Project Folder And Name
|
|
207
|
+
|
|
208
|
+
Before `eai init`, ask whether the current folder/workspace is the right place.
|
|
209
|
+
If the user wants a new sibling or child folder, create it only after approval.
|
|
210
|
+
|
|
211
|
+
Ask for the project display name. If the user gives a plain-language name,
|
|
212
|
+
propose a lowercase kebab-case CLI name and confirm it before continuing.
|
|
213
|
+
|
|
214
|
+
Collect or confirm:
|
|
215
|
+
|
|
216
|
+
- App display name
|
|
217
|
+
- Lowercase kebab-case app/project name
|
|
218
|
+
- One-sentence business description
|
|
219
|
+
- Active tenant
|
|
220
|
+
- Whether starter defaults should be kept
|
|
221
|
+
|
|
222
|
+
## Step 7: Initialize The EAI App Template
|
|
223
|
+
|
|
224
|
+
Detect existing template markers before scaffolding:
|
|
225
|
+
|
|
226
|
+
- `src/eai.config/object-types.ts`
|
|
227
|
+
- `src/eai.config/register.ts`
|
|
228
|
+
- `.env.example`
|
|
229
|
+
- `.npmrc`
|
|
230
|
+
- `package.json`
|
|
231
|
+
|
|
232
|
+
If the repo already looks like an EAI app, run `eai verify` and continue with
|
|
233
|
+
the existing project. If the installed CLI advertises them, also run:
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
eai template check --format json
|
|
237
|
+
eai gofer refresh --check --format json
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
If `eai verify`, `eai template check`, or `eai doctor --check-updates`
|
|
241
|
+
returns `E001` or reports "Not in an EAI project", treat the repo as not yet
|
|
242
|
+
initialized from the EAI app template and explain that clearly.
|
|
243
|
+
|
|
244
|
+
If this is an empty or approved target folder, ask for final confirmation and
|
|
245
|
+
run the advertised equivalent of:
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
eai init <project-name> --skip-prompts --company-tenant <active-tenant-id>
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
If the CLI requires additional safe answers, gather them first. If the repo is
|
|
252
|
+
non-empty and not an EAI app, ask whether to initialize a new sibling EAI app
|
|
253
|
+
directory or stop.
|
|
254
|
+
|
|
255
|
+
## Step 8: Recover Known Entra Redirect Mismatches
|
|
256
|
+
|
|
257
|
+
If the user provides a browser sign-in error, auth callback log, or deployment
|
|
258
|
+
log containing `AADSTS50011`, "reply URL specified in the request does not
|
|
259
|
+
match", "redirect URI", `redirect_uri`, or
|
|
260
|
+
`/api/auth/callback/microsoft-entra-id`, treat it as an EAI identity
|
|
261
|
+
provisioning recovery before giving manual Azure Portal instructions.
|
|
262
|
+
|
|
263
|
+
Do this sequence:
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
eai whoami
|
|
267
|
+
eai tenant list --format json
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
If the active tenant is missing or wrong, help the user choose the right tenant
|
|
271
|
+
and run the advertised equivalent of:
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
eai tenant select <tenant-slug-or-id>
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Use the failing browser log to confirm the callback route in the active session,
|
|
278
|
+
for example:
|
|
279
|
+
|
|
280
|
+
```text
|
|
281
|
+
https://<host>/api/auth/callback/microsoft-entra-id
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Record only the redacted route pattern and recovery status in Gofer artifacts.
|
|
285
|
+
Keep the full callback URI in the terminal/session or user-approved local notes
|
|
286
|
+
only.
|
|
287
|
+
|
|
288
|
+
Ask before changing tenant-scoped identity configuration, then run the
|
|
289
|
+
advertised equivalent of:
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
eai provision entra --force --redirect-uri <confirmed-callback-uri>
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
Use `--debug` only when the user explicitly approves it, and redact private
|
|
296
|
+
hostnames, tenant IDs, client IDs, tokens, and raw debug output before writing
|
|
297
|
+
any report.
|
|
298
|
+
|
|
299
|
+
After the command succeeds, retry the sign-in flow and confirm the authorize
|
|
300
|
+
request uses the same registered `redirect_uri`. If the mismatch persists,
|
|
301
|
+
check whether `AUTH_ENTRA_CLIENT_ID` or `ENTRA_CLIENT_ID` points to a different
|
|
302
|
+
app registration than the one EAI provisioned. Never record client secrets,
|
|
303
|
+
tokens, or `.env.local` values in the first-run report.
|
|
304
|
+
|
|
305
|
+
## Step 9: Confirm Gofer Scaffold And Workspace Commands
|
|
306
|
+
|
|
307
|
+
After `eai init`, verify Gofer files exist:
|
|
308
|
+
|
|
309
|
+
- `.specify/.gofer-version`
|
|
310
|
+
- `.specify/commands/0_gofer_start.md`
|
|
311
|
+
- `.specify/templates/spec-template.md`
|
|
312
|
+
- `.specify/scripts/node/gofer-workspace-check.mjs`
|
|
313
|
+
- `.specify/memory/gofer-model-policy.yaml`
|
|
314
|
+
- `AGENTS.md` or the host-specific instruction file
|
|
315
|
+
|
|
316
|
+
If the Gofer scaffold is missing or stale, run `/gofer:bootstrap-workspace`
|
|
317
|
+
using the current host policy, then rerun:
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
node .specify/scripts/node/gofer-workspace-check.mjs --host auto --json
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
If the current host cannot run slash commands yet, use the installed plugin
|
|
324
|
+
bundle or downloaded public bundle as the bootstrap source described by
|
|
325
|
+
`/gofer:bootstrap-workspace`.
|
|
326
|
+
|
|
327
|
+
## Step 9: Open Or Attach The Created Project
|
|
328
|
+
|
|
329
|
+
Make sure the active host is working in the initialized EAI app folder:
|
|
330
|
+
|
|
331
|
+
- VS Code: open the folder in the current or a new VS Code window when `code`
|
|
332
|
+
is available; otherwise give exact UI steps.
|
|
333
|
+
- Codex: show the absolute folder path and ask the user to open that folder as
|
|
334
|
+
the active Codex workspace if the host cannot switch automatically.
|
|
335
|
+
- Claude Code: show the absolute folder path and ask the user to attach/open it
|
|
336
|
+
if the host cannot switch automatically.
|
|
337
|
+
- Gemini/Copilot in VS Code: ensure the VS Code workspace is the initialized app
|
|
338
|
+
folder before starting Gofer.
|
|
339
|
+
- GitHub Codespaces: keep the current Codespace workspace unless the project was
|
|
340
|
+
created in a subfolder; then `cd` into it and report the path.
|
|
341
|
+
|
|
342
|
+
## Step 10: Write The First-Run Report
|
|
343
|
+
|
|
344
|
+
Write only to `.specify/logs/eai-first-run-report.md`. If `.specify/` does not
|
|
345
|
+
exist yet, create the report after `eai init` or after Gofer bootstrap.
|
|
346
|
+
|
|
347
|
+
If the target file already exists, replace it and prepend a regeneration note
|
|
348
|
+
such as `<!-- regenerated at [ISO timestamp] -->`.
|
|
349
|
+
|
|
350
|
+
Include the minimum provenance schema:
|
|
351
|
+
|
|
352
|
+
- `GeneratedAt`
|
|
353
|
+
- `SourceCommandId`
|
|
354
|
+
- `SourceInputs`
|
|
355
|
+
- `OverwriteNoticeWhenApplicable`
|
|
356
|
+
|
|
357
|
+
The generated first-run report must contain these sections:
|
|
358
|
+
|
|
359
|
+
- `## Provenance`
|
|
360
|
+
- `## Workspace Root`
|
|
361
|
+
- `## Environment Check`
|
|
362
|
+
- `## EAI CLI`
|
|
363
|
+
- `## Tenant And Login`
|
|
364
|
+
- `## Template Readiness`
|
|
365
|
+
- `## Drift And Recovery`
|
|
366
|
+
- `## Next Action`
|
|
367
|
+
|
|
368
|
+
Each section should include:
|
|
369
|
+
|
|
370
|
+
- Host, OS, shell, workspace root, and prerequisite tool versions
|
|
371
|
+
- Git, Node.js, npm, and EAI CLI versions
|
|
372
|
+
- EAI registry status
|
|
373
|
+
- EAI CLI release status from `eai update --check`
|
|
374
|
+
- EAI CLI capability source (`eai --describe` timestamp)
|
|
375
|
+
- EAI capability inventory for init, tenant, app, resources, workflow,
|
|
376
|
+
template, Gofer-refresh, and blocks commands
|
|
377
|
+
- Login status without tokens
|
|
378
|
+
- Tenant readiness without private payloads
|
|
379
|
+
- Template readiness
|
|
380
|
+
- Template/Gofer drift status, the next recovery command, and any `E001`
|
|
381
|
+
explanation
|
|
382
|
+
- Gofer scaffold readiness and project path
|
|
383
|
+
- Next action
|
|
384
|
+
|
|
385
|
+
## Step 11: Start The Pipeline
|
|
386
|
+
|
|
387
|
+
When the app folder, EAI CLI, login, tenant, EAI template, and Gofer scaffold are
|
|
388
|
+
ready, tell the user to start:
|
|
389
|
+
|
|
390
|
+
```text
|
|
391
|
+
/0_gofer_start <what you want to build>
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
If `/0_gofer_start` is still unknown after the plugin is installed and the
|
|
395
|
+
repo is bootstrapped, explain that the host has not loaded the Gofer plugin or
|
|
396
|
+
repo commands yet. Give the host-specific install/update command from the Gofer
|
|
397
|
+
README, then retry this command after the host reloads.
|