bigpowers 2.86.5 → 2.86.7
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/.agents/skills/commit-message/SKILL.md +1 -1
- package/.agents/skills/evolve-skill/SKILL.md +1 -1
- package/.agents/skills/guard-git/SKILL.md +8 -8
- package/.agents/skills/kickoff-branch/SKILL.md +1 -1
- package/.agents/skills/migrate-spec/SKILL.md +52 -6
- package/.agents/skills/plan-work/SKILL.md +17 -5
- package/.agents/skills/publish-package/SKILL.md +15 -5
- package/.agents/skills/release-branch/SKILL.md +12 -8
- package/.agents/skills/seed-conventions/SKILL.md +20 -10
- package/.agents/skills/smoke-test/SKILL.md +9 -5
- package/.agents/skills/validate-contracts/SKILL.md +15 -6
- package/.agents/skills/wire-ci/SKILL.md +12 -5
- package/.agents/skills/write-document/SKILL.md +31 -5
- package/.cline/skills/align-grid/SKILL.md +110 -0
- package/.cline/skills/assess-impact/SKILL.md +91 -0
- package/.cline/skills/audit-code/SKILL.md +184 -0
- package/.cline/skills/audit-plan/SKILL.md +89 -0
- package/.cline/skills/build-epic/SKILL.md +105 -0
- package/.cline/skills/change-request/SKILL.md +121 -0
- package/.cline/skills/commit-message/SKILL.md +140 -0
- package/.cline/skills/compose-workflow/SKILL.md +82 -0
- package/.cline/skills/context7-mcp/SKILL.md +55 -0
- package/.cline/skills/craft-skill/SKILL.md +196 -0
- package/.cline/skills/deepen-architecture/SKILL.md +260 -0
- package/.cline/skills/define-language/SKILL.md +80 -0
- package/.cline/skills/define-success/SKILL.md +12 -0
- package/.cline/skills/delegate-task/SKILL.md +91 -0
- package/.cline/skills/deploy/SKILL.md +198 -0
- package/.cline/skills/design-interface/SKILL.md +97 -0
- package/.cline/skills/develop-tdd/SKILL.md +416 -0
- package/.cline/skills/diagnose-root/SKILL.md +24 -0
- package/.cline/skills/diagnose-stall/SKILL.md +54 -0
- package/.cline/skills/dispatch-agents/SKILL.md +118 -0
- package/.cline/skills/edit-document/SKILL.md +23 -0
- package/.cline/skills/elaborate-spec/SKILL.md +101 -0
- package/.cline/skills/enforce-first/SKILL.md +45 -0
- package/.cline/skills/evolve-skill/SKILL.md +55 -0
- package/.cline/skills/execute-plan/SKILL.md +61 -0
- package/.cline/skills/extract-design/SKILL.md +132 -0
- package/.cline/skills/find-way/SKILL.md +191 -0
- package/.cline/skills/fix-bug/SKILL.md +67 -0
- package/.cline/skills/gate-trace/SKILL.md +92 -0
- package/.cline/skills/generate-allure-report/SKILL.md +285 -0
- package/.cline/skills/grill-me/SKILL.md +108 -0
- package/.cline/skills/grill-with-docs/SKILL.md +53 -0
- package/.cline/skills/guard-git/SKILL.md +231 -0
- package/.cline/skills/harden-vps/SKILL.md +291 -0
- package/.cline/skills/hook-commits/SKILL.md +94 -0
- package/.cline/skills/inspect-quality/SKILL.md +106 -0
- package/.cline/skills/investigate-bug/SKILL.md +127 -0
- package/.cline/skills/kickoff-branch/SKILL.md +143 -0
- package/.cline/skills/maintain-wiki/SKILL.md +64 -0
- package/.cline/skills/map-codebase/SKILL.md +71 -0
- package/.cline/skills/migrate-spec/SKILL.md +908 -0
- package/.cline/skills/model-domain/SKILL.md +232 -0
- package/.cline/skills/orchestrate-project/SKILL.md +174 -0
- package/.cline/skills/organize-workspace/SKILL.md +164 -0
- package/.cline/skills/plan-refactor/SKILL.md +87 -0
- package/.cline/skills/plan-release/SKILL.md +145 -0
- package/.cline/skills/plan-tests/SKILL.md +75 -0
- package/.cline/skills/plan-work/SKILL.md +272 -0
- package/.cline/skills/publish-package/SKILL.md +338 -0
- package/.cline/skills/quick-fix/SKILL.md +114 -0
- package/.cline/skills/release-branch/SKILL.md +302 -0
- package/.cline/skills/request-review/SKILL.md +113 -0
- package/.cline/skills/research-first/SKILL.md +87 -0
- package/.cline/skills/reset-baseline/SKILL.md +21 -0
- package/.cline/skills/respond-review/SKILL.md +71 -0
- package/.cline/skills/run-benchmark/SKILL.md +85 -0
- package/.cline/skills/run-evals/SKILL.md +80 -0
- package/.cline/skills/run-planning/SKILL.md +101 -0
- package/.cline/skills/scope-work/SKILL.md +63 -0
- package/.cline/skills/search-skills/SKILL.md +73 -0
- package/.cline/skills/security-review/SKILL.md +384 -0
- package/.cline/skills/seed-conventions/SKILL.md +312 -0
- package/.cline/skills/session-state/SKILL.md +146 -0
- package/.cline/skills/setup-environment/SKILL.md +39 -0
- package/.cline/skills/simulate-agents/SKILL.md +26 -0
- package/.cline/skills/slice-tasks/SKILL.md +68 -0
- package/.cline/skills/smoke-test/SKILL.md +261 -0
- package/.cline/skills/spike-prototype/SKILL.md +95 -0
- package/.cline/skills/stocktake-skills/SKILL.md +74 -0
- package/.cline/skills/survey-context/SKILL.md +135 -0
- package/.cline/skills/terse-mode/SKILL.md +42 -0
- package/.cline/skills/trace-requirement/SKILL.md +69 -0
- package/.cline/skills/using-bigpowers/SKILL.md +111 -0
- package/.cline/skills/validate-contracts/SKILL.md +286 -0
- package/.cline/skills/validate-fix/SKILL.md +147 -0
- package/.cline/skills/verify-work/SKILL.md +191 -0
- package/.cline/skills/visual-dashboard/SKILL.md +50 -0
- package/.cline/skills/wire-ci/SKILL.md +381 -0
- package/.cline/skills/wire-observability/SKILL.md +97 -0
- package/.cline/skills/write-document/SKILL.md +281 -0
- package/.codebuddy/skills/commit-message/SKILL.md +1 -1
- package/.codebuddy/skills/evolve-skill/SKILL.md +1 -1
- package/.codebuddy/skills/guard-git/SKILL.md +8 -8
- package/.codebuddy/skills/kickoff-branch/SKILL.md +1 -1
- package/.codebuddy/skills/migrate-spec/SKILL.md +52 -6
- package/.codebuddy/skills/plan-work/SKILL.md +17 -5
- package/.codebuddy/skills/publish-package/SKILL.md +15 -5
- package/.codebuddy/skills/release-branch/SKILL.md +12 -8
- package/.codebuddy/skills/seed-conventions/SKILL.md +20 -10
- package/.codebuddy/skills/smoke-test/SKILL.md +9 -5
- package/.codebuddy/skills/validate-contracts/SKILL.md +15 -6
- package/.codebuddy/skills/wire-ci/SKILL.md +12 -5
- package/.codebuddy/skills/write-document/SKILL.md +31 -5
- package/.codex/skills/commit-message/SKILL.md +1 -1
- package/.codex/skills/evolve-skill/SKILL.md +1 -1
- package/.codex/skills/guard-git/SKILL.md +8 -8
- package/.codex/skills/kickoff-branch/SKILL.md +1 -1
- package/.codex/skills/migrate-spec/SKILL.md +52 -6
- package/.codex/skills/plan-work/SKILL.md +17 -5
- package/.codex/skills/publish-package/SKILL.md +15 -5
- package/.codex/skills/release-branch/SKILL.md +12 -8
- package/.codex/skills/seed-conventions/SKILL.md +20 -10
- package/.codex/skills/smoke-test/SKILL.md +9 -5
- package/.codex/skills/validate-contracts/SKILL.md +15 -6
- package/.codex/skills/wire-ci/SKILL.md +12 -5
- package/.codex/skills/write-document/SKILL.md +31 -5
- package/.copilot/skills/align-grid/SKILL.md +110 -0
- package/.copilot/skills/assess-impact/SKILL.md +91 -0
- package/.copilot/skills/audit-code/SKILL.md +184 -0
- package/.copilot/skills/audit-plan/SKILL.md +89 -0
- package/.copilot/skills/build-epic/SKILL.md +105 -0
- package/.copilot/skills/change-request/SKILL.md +121 -0
- package/.copilot/skills/commit-message/SKILL.md +140 -0
- package/.copilot/skills/compose-workflow/SKILL.md +82 -0
- package/.copilot/skills/context7-mcp/SKILL.md +55 -0
- package/.copilot/skills/craft-skill/SKILL.md +196 -0
- package/.copilot/skills/deepen-architecture/SKILL.md +260 -0
- package/.copilot/skills/define-language/SKILL.md +80 -0
- package/.copilot/skills/define-success/SKILL.md +12 -0
- package/.copilot/skills/delegate-task/SKILL.md +91 -0
- package/.copilot/skills/deploy/SKILL.md +198 -0
- package/.copilot/skills/design-interface/SKILL.md +97 -0
- package/.copilot/skills/develop-tdd/SKILL.md +416 -0
- package/.copilot/skills/diagnose-root/SKILL.md +24 -0
- package/.copilot/skills/diagnose-stall/SKILL.md +54 -0
- package/.copilot/skills/dispatch-agents/SKILL.md +118 -0
- package/.copilot/skills/edit-document/SKILL.md +23 -0
- package/.copilot/skills/elaborate-spec/SKILL.md +101 -0
- package/.copilot/skills/enforce-first/SKILL.md +45 -0
- package/.copilot/skills/evolve-skill/SKILL.md +55 -0
- package/.copilot/skills/execute-plan/SKILL.md +61 -0
- package/.copilot/skills/extract-design/SKILL.md +132 -0
- package/.copilot/skills/find-way/SKILL.md +191 -0
- package/.copilot/skills/fix-bug/SKILL.md +67 -0
- package/.copilot/skills/gate-trace/SKILL.md +92 -0
- package/.copilot/skills/generate-allure-report/SKILL.md +285 -0
- package/.copilot/skills/grill-me/SKILL.md +108 -0
- package/.copilot/skills/grill-with-docs/SKILL.md +53 -0
- package/.copilot/skills/guard-git/SKILL.md +231 -0
- package/.copilot/skills/harden-vps/SKILL.md +291 -0
- package/.copilot/skills/hook-commits/SKILL.md +94 -0
- package/.copilot/skills/inspect-quality/SKILL.md +106 -0
- package/.copilot/skills/investigate-bug/SKILL.md +127 -0
- package/.copilot/skills/kickoff-branch/SKILL.md +143 -0
- package/.copilot/skills/maintain-wiki/SKILL.md +64 -0
- package/.copilot/skills/map-codebase/SKILL.md +71 -0
- package/.copilot/skills/migrate-spec/SKILL.md +908 -0
- package/.copilot/skills/model-domain/SKILL.md +232 -0
- package/.copilot/skills/orchestrate-project/SKILL.md +174 -0
- package/.copilot/skills/organize-workspace/SKILL.md +164 -0
- package/.copilot/skills/plan-refactor/SKILL.md +87 -0
- package/.copilot/skills/plan-release/SKILL.md +145 -0
- package/.copilot/skills/plan-tests/SKILL.md +75 -0
- package/.copilot/skills/plan-work/SKILL.md +272 -0
- package/.copilot/skills/publish-package/SKILL.md +338 -0
- package/.copilot/skills/quick-fix/SKILL.md +114 -0
- package/.copilot/skills/release-branch/SKILL.md +302 -0
- package/.copilot/skills/request-review/SKILL.md +113 -0
- package/.copilot/skills/research-first/SKILL.md +87 -0
- package/.copilot/skills/reset-baseline/SKILL.md +21 -0
- package/.copilot/skills/respond-review/SKILL.md +71 -0
- package/.copilot/skills/run-benchmark/SKILL.md +85 -0
- package/.copilot/skills/run-evals/SKILL.md +80 -0
- package/.copilot/skills/run-planning/SKILL.md +101 -0
- package/.copilot/skills/scope-work/SKILL.md +63 -0
- package/.copilot/skills/search-skills/SKILL.md +73 -0
- package/.copilot/skills/security-review/SKILL.md +384 -0
- package/.copilot/skills/seed-conventions/SKILL.md +312 -0
- package/.copilot/skills/session-state/SKILL.md +146 -0
- package/.copilot/skills/setup-environment/SKILL.md +39 -0
- package/.copilot/skills/simulate-agents/SKILL.md +26 -0
- package/.copilot/skills/slice-tasks/SKILL.md +68 -0
- package/.copilot/skills/smoke-test/SKILL.md +261 -0
- package/.copilot/skills/spike-prototype/SKILL.md +95 -0
- package/.copilot/skills/stocktake-skills/SKILL.md +74 -0
- package/.copilot/skills/survey-context/SKILL.md +135 -0
- package/.copilot/skills/terse-mode/SKILL.md +42 -0
- package/.copilot/skills/trace-requirement/SKILL.md +69 -0
- package/.copilot/skills/using-bigpowers/SKILL.md +111 -0
- package/.copilot/skills/validate-contracts/SKILL.md +286 -0
- package/.copilot/skills/validate-fix/SKILL.md +147 -0
- package/.copilot/skills/verify-work/SKILL.md +191 -0
- package/.copilot/skills/visual-dashboard/SKILL.md +50 -0
- package/.copilot/skills/wire-ci/SKILL.md +381 -0
- package/.copilot/skills/wire-observability/SKILL.md +97 -0
- package/.copilot/skills/write-document/SKILL.md +281 -0
- package/.hermes/skills/commit-message/SKILL.md +1 -1
- package/.hermes/skills/evolve-skill/SKILL.md +1 -1
- package/.hermes/skills/guard-git/SKILL.md +8 -8
- package/.hermes/skills/kickoff-branch/SKILL.md +1 -1
- package/.hermes/skills/migrate-spec/SKILL.md +52 -6
- package/.hermes/skills/plan-work/SKILL.md +17 -5
- package/.hermes/skills/publish-package/SKILL.md +15 -5
- package/.hermes/skills/release-branch/SKILL.md +12 -8
- package/.hermes/skills/seed-conventions/SKILL.md +20 -10
- package/.hermes/skills/smoke-test/SKILL.md +9 -5
- package/.hermes/skills/validate-contracts/SKILL.md +15 -6
- package/.hermes/skills/wire-ci/SKILL.md +12 -5
- package/.hermes/skills/write-document/SKILL.md +31 -5
- package/.kilocode/rules/commit-message.md +1 -1
- package/.kilocode/rules/evolve-skill.md +1 -1
- package/.kilocode/rules/guard-git.md +8 -8
- package/.kilocode/rules/kickoff-branch.md +1 -1
- package/.kilocode/rules/migrate-spec.md +52 -6
- package/.kilocode/rules/plan-work.md +17 -5
- package/.kilocode/rules/publish-package.md +15 -5
- package/.kilocode/rules/release-branch.md +12 -8
- package/.kilocode/rules/seed-conventions.md +20 -10
- package/.kilocode/rules/smoke-test.md +9 -5
- package/.kilocode/rules/validate-contracts.md +15 -6
- package/.kilocode/rules/wire-ci.md +12 -5
- package/.kilocode/rules/write-document.md +31 -5
- package/.mimocode/skills/commit-message/SKILL.md +1 -1
- package/.mimocode/skills/evolve-skill/SKILL.md +1 -1
- package/.mimocode/skills/guard-git/SKILL.md +8 -8
- package/.mimocode/skills/kickoff-branch/SKILL.md +1 -1
- package/.mimocode/skills/migrate-spec/SKILL.md +52 -6
- package/.mimocode/skills/plan-work/SKILL.md +17 -5
- package/.mimocode/skills/publish-package/SKILL.md +15 -5
- package/.mimocode/skills/release-branch/SKILL.md +12 -8
- package/.mimocode/skills/seed-conventions/SKILL.md +20 -10
- package/.mimocode/skills/smoke-test/SKILL.md +9 -5
- package/.mimocode/skills/validate-contracts/SKILL.md +15 -6
- package/.mimocode/skills/wire-ci/SKILL.md +12 -5
- package/.mimocode/skills/write-document/SKILL.md +31 -5
- package/.opencode/skills/align-grid/SKILL.md +110 -0
- package/.opencode/skills/assess-impact/SKILL.md +91 -0
- package/.opencode/skills/audit-code/SKILL.md +184 -0
- package/.opencode/skills/audit-plan/SKILL.md +89 -0
- package/.opencode/skills/build-epic/SKILL.md +105 -0
- package/.opencode/skills/change-request/SKILL.md +121 -0
- package/.opencode/skills/commit-message/SKILL.md +140 -0
- package/.opencode/skills/compose-workflow/SKILL.md +82 -0
- package/.opencode/skills/context7-mcp/SKILL.md +55 -0
- package/.opencode/skills/craft-skill/SKILL.md +196 -0
- package/.opencode/skills/deepen-architecture/SKILL.md +260 -0
- package/.opencode/skills/define-language/SKILL.md +80 -0
- package/.opencode/skills/define-success/SKILL.md +12 -0
- package/.opencode/skills/delegate-task/SKILL.md +91 -0
- package/.opencode/skills/deploy/SKILL.md +198 -0
- package/.opencode/skills/design-interface/SKILL.md +97 -0
- package/.opencode/skills/develop-tdd/SKILL.md +416 -0
- package/.opencode/skills/diagnose-root/SKILL.md +24 -0
- package/.opencode/skills/diagnose-stall/SKILL.md +54 -0
- package/.opencode/skills/dispatch-agents/SKILL.md +118 -0
- package/.opencode/skills/edit-document/SKILL.md +23 -0
- package/.opencode/skills/elaborate-spec/SKILL.md +101 -0
- package/.opencode/skills/enforce-first/SKILL.md +45 -0
- package/.opencode/skills/evolve-skill/SKILL.md +55 -0
- package/.opencode/skills/execute-plan/SKILL.md +61 -0
- package/.opencode/skills/extract-design/SKILL.md +132 -0
- package/.opencode/skills/find-way/SKILL.md +191 -0
- package/.opencode/skills/fix-bug/SKILL.md +67 -0
- package/.opencode/skills/gate-trace/SKILL.md +92 -0
- package/.opencode/skills/generate-allure-report/SKILL.md +285 -0
- package/.opencode/skills/grill-me/SKILL.md +108 -0
- package/.opencode/skills/grill-with-docs/SKILL.md +53 -0
- package/.opencode/skills/guard-git/SKILL.md +231 -0
- package/.opencode/skills/harden-vps/SKILL.md +291 -0
- package/.opencode/skills/hook-commits/SKILL.md +94 -0
- package/.opencode/skills/inspect-quality/SKILL.md +106 -0
- package/.opencode/skills/investigate-bug/SKILL.md +127 -0
- package/.opencode/skills/kickoff-branch/SKILL.md +143 -0
- package/.opencode/skills/maintain-wiki/SKILL.md +64 -0
- package/.opencode/skills/map-codebase/SKILL.md +71 -0
- package/.opencode/skills/migrate-spec/SKILL.md +908 -0
- package/.opencode/skills/model-domain/SKILL.md +232 -0
- package/.opencode/skills/orchestrate-project/SKILL.md +174 -0
- package/.opencode/skills/organize-workspace/SKILL.md +164 -0
- package/.opencode/skills/plan-refactor/SKILL.md +87 -0
- package/.opencode/skills/plan-release/SKILL.md +145 -0
- package/.opencode/skills/plan-tests/SKILL.md +75 -0
- package/.opencode/skills/plan-work/SKILL.md +272 -0
- package/.opencode/skills/publish-package/SKILL.md +338 -0
- package/.opencode/skills/quick-fix/SKILL.md +114 -0
- package/.opencode/skills/release-branch/SKILL.md +302 -0
- package/.opencode/skills/request-review/SKILL.md +113 -0
- package/.opencode/skills/research-first/SKILL.md +87 -0
- package/.opencode/skills/reset-baseline/SKILL.md +21 -0
- package/.opencode/skills/respond-review/SKILL.md +71 -0
- package/.opencode/skills/run-benchmark/SKILL.md +85 -0
- package/.opencode/skills/run-evals/SKILL.md +80 -0
- package/.opencode/skills/run-planning/SKILL.md +101 -0
- package/.opencode/skills/scope-work/SKILL.md +63 -0
- package/.opencode/skills/search-skills/SKILL.md +73 -0
- package/.opencode/skills/security-review/SKILL.md +384 -0
- package/.opencode/skills/seed-conventions/SKILL.md +312 -0
- package/.opencode/skills/session-state/SKILL.md +146 -0
- package/.opencode/skills/setup-environment/SKILL.md +39 -0
- package/.opencode/skills/simulate-agents/SKILL.md +26 -0
- package/.opencode/skills/slice-tasks/SKILL.md +68 -0
- package/.opencode/skills/smoke-test/SKILL.md +261 -0
- package/.opencode/skills/spike-prototype/SKILL.md +95 -0
- package/.opencode/skills/stocktake-skills/SKILL.md +74 -0
- package/.opencode/skills/survey-context/SKILL.md +135 -0
- package/.opencode/skills/terse-mode/SKILL.md +42 -0
- package/.opencode/skills/trace-requirement/SKILL.md +69 -0
- package/.opencode/skills/using-bigpowers/SKILL.md +111 -0
- package/.opencode/skills/validate-contracts/SKILL.md +286 -0
- package/.opencode/skills/validate-fix/SKILL.md +147 -0
- package/.opencode/skills/verify-work/SKILL.md +191 -0
- package/.opencode/skills/visual-dashboard/SKILL.md +50 -0
- package/.opencode/skills/wire-ci/SKILL.md +381 -0
- package/.opencode/skills/wire-observability/SKILL.md +97 -0
- package/.opencode/skills/write-document/SKILL.md +281 -0
- package/.pi/package.json +1 -1
- package/.pi/prompts/commit-message.md +1 -1
- package/.pi/prompts/evolve-skill.md +1 -1
- package/.pi/prompts/guard-git.md +8 -8
- package/.pi/prompts/kickoff-branch.md +1 -1
- package/.pi/prompts/migrate-spec.md +52 -6
- package/.pi/prompts/plan-work.md +17 -5
- package/.pi/prompts/publish-package.md +15 -5
- package/.pi/prompts/release-branch.md +12 -8
- package/.pi/prompts/seed-conventions.md +20 -10
- package/.pi/prompts/smoke-test.md +9 -5
- package/.pi/prompts/validate-contracts.md +15 -6
- package/.pi/prompts/wire-ci.md +12 -5
- package/.pi/prompts/write-document.md +31 -5
- package/.pi/skills/commit-message/SKILL.md +1 -1
- package/.pi/skills/evolve-skill/SKILL.md +1 -1
- package/.pi/skills/guard-git/SKILL.md +8 -8
- package/.pi/skills/kickoff-branch/SKILL.md +1 -1
- package/.pi/skills/migrate-spec/SKILL.md +52 -6
- package/.pi/skills/plan-work/SKILL.md +17 -5
- package/.pi/skills/publish-package/SKILL.md +15 -5
- package/.pi/skills/release-branch/SKILL.md +12 -8
- package/.pi/skills/seed-conventions/SKILL.md +20 -10
- package/.pi/skills/smoke-test/SKILL.md +9 -5
- package/.pi/skills/validate-contracts/SKILL.md +15 -6
- package/.pi/skills/wire-ci/SKILL.md +12 -5
- package/.pi/skills/write-document/SKILL.md +31 -5
- package/.qwen/skills/align-grid/SKILL.md +110 -0
- package/.qwen/skills/assess-impact/SKILL.md +91 -0
- package/.qwen/skills/audit-code/SKILL.md +184 -0
- package/.qwen/skills/audit-plan/SKILL.md +89 -0
- package/.qwen/skills/build-epic/SKILL.md +105 -0
- package/.qwen/skills/change-request/SKILL.md +121 -0
- package/.qwen/skills/commit-message/SKILL.md +140 -0
- package/.qwen/skills/compose-workflow/SKILL.md +82 -0
- package/.qwen/skills/context7-mcp/SKILL.md +55 -0
- package/.qwen/skills/craft-skill/SKILL.md +196 -0
- package/.qwen/skills/deepen-architecture/SKILL.md +260 -0
- package/.qwen/skills/define-language/SKILL.md +80 -0
- package/.qwen/skills/define-success/SKILL.md +12 -0
- package/.qwen/skills/delegate-task/SKILL.md +91 -0
- package/.qwen/skills/deploy/SKILL.md +198 -0
- package/.qwen/skills/design-interface/SKILL.md +97 -0
- package/.qwen/skills/develop-tdd/SKILL.md +416 -0
- package/.qwen/skills/diagnose-root/SKILL.md +24 -0
- package/.qwen/skills/diagnose-stall/SKILL.md +54 -0
- package/.qwen/skills/dispatch-agents/SKILL.md +118 -0
- package/.qwen/skills/edit-document/SKILL.md +23 -0
- package/.qwen/skills/elaborate-spec/SKILL.md +101 -0
- package/.qwen/skills/enforce-first/SKILL.md +45 -0
- package/.qwen/skills/evolve-skill/SKILL.md +55 -0
- package/.qwen/skills/execute-plan/SKILL.md +61 -0
- package/.qwen/skills/extract-design/SKILL.md +132 -0
- package/.qwen/skills/find-way/SKILL.md +191 -0
- package/.qwen/skills/fix-bug/SKILL.md +67 -0
- package/.qwen/skills/gate-trace/SKILL.md +92 -0
- package/.qwen/skills/generate-allure-report/SKILL.md +285 -0
- package/.qwen/skills/grill-me/SKILL.md +108 -0
- package/.qwen/skills/grill-with-docs/SKILL.md +53 -0
- package/.qwen/skills/guard-git/SKILL.md +231 -0
- package/.qwen/skills/harden-vps/SKILL.md +291 -0
- package/.qwen/skills/hook-commits/SKILL.md +94 -0
- package/.qwen/skills/inspect-quality/SKILL.md +106 -0
- package/.qwen/skills/investigate-bug/SKILL.md +127 -0
- package/.qwen/skills/kickoff-branch/SKILL.md +143 -0
- package/.qwen/skills/maintain-wiki/SKILL.md +64 -0
- package/.qwen/skills/map-codebase/SKILL.md +71 -0
- package/.qwen/skills/migrate-spec/SKILL.md +908 -0
- package/.qwen/skills/model-domain/SKILL.md +232 -0
- package/.qwen/skills/orchestrate-project/SKILL.md +174 -0
- package/.qwen/skills/organize-workspace/SKILL.md +164 -0
- package/.qwen/skills/plan-refactor/SKILL.md +87 -0
- package/.qwen/skills/plan-release/SKILL.md +145 -0
- package/.qwen/skills/plan-tests/SKILL.md +75 -0
- package/.qwen/skills/plan-work/SKILL.md +272 -0
- package/.qwen/skills/publish-package/SKILL.md +338 -0
- package/.qwen/skills/quick-fix/SKILL.md +114 -0
- package/.qwen/skills/release-branch/SKILL.md +302 -0
- package/.qwen/skills/request-review/SKILL.md +113 -0
- package/.qwen/skills/research-first/SKILL.md +87 -0
- package/.qwen/skills/reset-baseline/SKILL.md +21 -0
- package/.qwen/skills/respond-review/SKILL.md +71 -0
- package/.qwen/skills/run-benchmark/SKILL.md +85 -0
- package/.qwen/skills/run-evals/SKILL.md +80 -0
- package/.qwen/skills/run-planning/SKILL.md +101 -0
- package/.qwen/skills/scope-work/SKILL.md +63 -0
- package/.qwen/skills/search-skills/SKILL.md +73 -0
- package/.qwen/skills/security-review/SKILL.md +384 -0
- package/.qwen/skills/seed-conventions/SKILL.md +312 -0
- package/.qwen/skills/session-state/SKILL.md +146 -0
- package/.qwen/skills/setup-environment/SKILL.md +39 -0
- package/.qwen/skills/simulate-agents/SKILL.md +26 -0
- package/.qwen/skills/slice-tasks/SKILL.md +68 -0
- package/.qwen/skills/smoke-test/SKILL.md +261 -0
- package/.qwen/skills/spike-prototype/SKILL.md +95 -0
- package/.qwen/skills/stocktake-skills/SKILL.md +74 -0
- package/.qwen/skills/survey-context/SKILL.md +135 -0
- package/.qwen/skills/terse-mode/SKILL.md +42 -0
- package/.qwen/skills/trace-requirement/SKILL.md +69 -0
- package/.qwen/skills/using-bigpowers/SKILL.md +111 -0
- package/.qwen/skills/validate-contracts/SKILL.md +286 -0
- package/.qwen/skills/validate-fix/SKILL.md +147 -0
- package/.qwen/skills/verify-work/SKILL.md +191 -0
- package/.qwen/skills/visual-dashboard/SKILL.md +50 -0
- package/.qwen/skills/wire-ci/SKILL.md +381 -0
- package/.qwen/skills/wire-observability/SKILL.md +97 -0
- package/.qwen/skills/write-document/SKILL.md +281 -0
- package/.trae/skills/commit-message/SKILL.md +1 -1
- package/.trae/skills/evolve-skill/SKILL.md +1 -1
- package/.trae/skills/guard-git/SKILL.md +8 -8
- package/.trae/skills/kickoff-branch/SKILL.md +1 -1
- package/.trae/skills/migrate-spec/SKILL.md +52 -6
- package/.trae/skills/plan-work/SKILL.md +17 -5
- package/.trae/skills/publish-package/SKILL.md +15 -5
- package/.trae/skills/release-branch/SKILL.md +12 -8
- package/.trae/skills/seed-conventions/SKILL.md +20 -10
- package/.trae/skills/smoke-test/SKILL.md +9 -5
- package/.trae/skills/validate-contracts/SKILL.md +15 -6
- package/.trae/skills/wire-ci/SKILL.md +12 -5
- package/.trae/skills/write-document/SKILL.md +31 -5
- package/.windsurf/rules/commit-message.md +1 -1
- package/.windsurf/rules/evolve-skill.md +1 -1
- package/.windsurf/rules/guard-git.md +8 -8
- package/.windsurf/rules/kickoff-branch.md +1 -1
- package/.windsurf/rules/migrate-spec.md +52 -6
- package/.windsurf/rules/plan-work.md +17 -5
- package/.windsurf/rules/publish-package.md +15 -5
- package/.windsurf/rules/release-branch.md +12 -8
- package/.windsurf/rules/seed-conventions.md +20 -10
- package/.windsurf/rules/smoke-test.md +9 -5
- package/.windsurf/rules/validate-contracts.md +15 -6
- package/.windsurf/rules/wire-ci.md +12 -5
- package/.windsurf/rules/write-document.md +31 -5
- package/.zcode/skills/commit-message/SKILL.md +1 -1
- package/.zcode/skills/evolve-skill/SKILL.md +1 -1
- package/.zcode/skills/guard-git/SKILL.md +8 -8
- package/.zcode/skills/kickoff-branch/SKILL.md +1 -1
- package/.zcode/skills/migrate-spec/SKILL.md +52 -6
- package/.zcode/skills/plan-work/SKILL.md +17 -5
- package/.zcode/skills/publish-package/SKILL.md +15 -5
- package/.zcode/skills/release-branch/SKILL.md +12 -8
- package/.zcode/skills/seed-conventions/SKILL.md +20 -10
- package/.zcode/skills/smoke-test/SKILL.md +9 -5
- package/.zcode/skills/validate-contracts/SKILL.md +15 -6
- package/.zcode/skills/wire-ci/SKILL.md +12 -5
- package/.zcode/skills/write-document/SKILL.md +31 -5
- package/CHANGELOG.md +14 -0
- package/CONVENTIONS.md +2 -0
- package/package.json +1 -1
- package/scripts/adapters/agy.sh +3 -0
- package/scripts/adapters/continue.sh +3 -0
- package/scripts/adapters/cursor.sh +3 -0
- package/scripts/adapters/gemini.sh +5 -24
- package/scripts/adapters/mimo.sh +3 -0
- package/scripts/adapters/omp.sh +3 -0
- package/scripts/adapters/pi.sh +6 -3
- package/scripts/adapters/zcode.sh +3 -0
- package/scripts/adapters/zed.sh +3 -0
- package/scripts/generate-context-bundle.sh +6 -0
- package/scripts/generate-reference-nav.sh +89 -0
- package/scripts/generate-viz-graph.sh +4 -0
- package/scripts/generate-workflow-diagrams.sh +102 -0
- package/scripts/golden-g13-script-orphans.sh +167 -0
- package/scripts/golden-g14-adapter-dispatch.sh +113 -0
- package/scripts/golden-g15-compliance-runner-selftest.sh +126 -0
- package/scripts/golden-g16-spec-version-gap.sh +72 -0
- package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
- package/scripts/lib/__pycache__/srp_engine_links.cpython-312.pyc +0 -0
- package/scripts/lib/adapter-guard.sh +30 -0
- package/scripts/lib/audit-compliance-report.sh +32 -7
- package/scripts/lib/audit-compliance-runner.sh +14 -1
- package/scripts/lib/golden-suite-gates.sh +43 -3
- package/scripts/lib/install-targets-b.sh +0 -8
- package/scripts/lib/sync-render.sh +0 -43
- package/scripts/lib/test-assertions.sh +4 -0
- package/scripts/snapshot-catalog-baseline.sh +4 -0
- package/scripts/targets.yaml +35 -13
- package/scripts/test-adapter-render.sh +114 -0
- package/scripts/test-adapters.sh +10 -3
- package/scripts/test-completeness-critic-scope.sh +18 -19
- package/scripts/test-generate-epics-wiki-zero-stories.sh +12 -13
- package/scripts/test-golden-g11-worktree-venv.sh +16 -18
- package/scripts/test-install-distribute-only.sh +27 -26
- package/scripts/test-install-hub.sh +141 -0
- package/scripts/test-setup-no-pyyaml.sh +16 -17
- package/scripts/test-target-contracts.sh +15 -13
- package/scripts/test-tombstone-mechanism.sh +31 -33
- package/skills/commit-message/REFERENCE.md +1 -1
- package/skills/evolve-skill/REFERENCE.md +1 -1
- package/skills/guard-git/REFERENCE.md +8 -8
- package/skills/kickoff-branch/SKILL.md +1 -1
- package/skills/migrate-spec/REFERENCE.md +52 -6
- package/skills/plan-work/REFERENCE.md +17 -5
- package/skills/publish-package/REFERENCE.md +15 -5
- package/skills/release-branch/REFERENCE.md +12 -8
- package/skills/seed-conventions/REFERENCE.md +20 -10
- package/skills/smoke-test/REFERENCE.md +9 -5
- package/skills/validate-contracts/REFERENCE.md +15 -6
- package/skills/wire-ci/REFERENCE.md +12 -5
- package/skills/write-document/REFERENCE.md +31 -5
- package/skills-lock.json +1 -1
- package/scripts/add-model-frontmatter.sh +0 -32
- package/scripts/install-cursor-skills-local.sh +0 -15
- package/scripts/install-cursor-skills.sh +0 -24
- package/scripts/project-survey.sh +0 -63
- package/scripts/test-agy-hub.sh +0 -60
- package/scripts/test-cline-adapter.sh +0 -55
- package/scripts/test-cline-hub.sh +0 -48
- package/scripts/test-codebuddy-adapter.sh +0 -63
- package/scripts/test-codebuddy-hub.sh +0 -49
- package/scripts/test-codex-adapter.sh +0 -63
- package/scripts/test-codex-hub.sh +0 -49
- package/scripts/test-copilot-adapter.sh +0 -47
- package/scripts/test-copilot-hub.sh +0 -43
- package/scripts/test-gemini-adapter.sh +0 -70
- package/scripts/test-gemini-hub.sh +0 -56
- package/scripts/test-hermes-adapter.sh +0 -85
- package/scripts/test-hermes-hub.sh +0 -52
- package/scripts/test-kilocode-adapter.sh +0 -55
- package/scripts/test-kilocode-hub.sh +0 -48
- package/scripts/test-mimo-hub.sh +0 -52
- package/scripts/test-opencode-adapter.sh +0 -47
- package/scripts/test-opencode-hub.sh +0 -43
- package/scripts/test-qwen-adapter.sh +0 -63
- package/scripts/test-qwen-hub.sh +0 -49
- package/scripts/test-trae-adapter.sh +0 -63
- package/scripts/test-trae-hub.sh +0 -49
- package/scripts/test-windsurf-adapter.sh +0 -63
- package/scripts/test-windsurf-hub.sh +0 -49
- package/scripts/test-zcode-hub.sh +0 -52
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# story: e65s02
|
|
3
|
-
# Regression tests for Codex CLI install hub wiring (Wave B).
|
|
4
|
-
set -euo pipefail
|
|
5
|
-
|
|
6
|
-
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
7
|
-
PASS=0
|
|
8
|
-
FAIL=0
|
|
9
|
-
|
|
10
|
-
pass() { echo "PASS: $1"; PASS=$((PASS + 1)); }
|
|
11
|
-
fail() { echo "FAIL: $1" >&2; FAIL=$((FAIL + 1)); }
|
|
12
|
-
|
|
13
|
-
echo "=== test-codex-hub.sh ==="
|
|
14
|
-
|
|
15
|
-
INSTALL_SH="$REPO_ROOT/scripts/install.sh"
|
|
16
|
-
source "$REPO_ROOT/scripts/lib/install-grep.sh"
|
|
17
|
-
HELPERS_JS="$REPO_ROOT/scripts/lib/install-helpers.js"
|
|
18
|
-
SETUP_JS="$REPO_ROOT/bin/setup.js"
|
|
19
|
-
TARGETS_YAML="$REPO_ROOT/scripts/targets.yaml"
|
|
20
|
-
|
|
21
|
-
install_grep -q 'install_codex()' && pass 'install.sh: install_codex()' || fail 'install.sh: missing install_codex()'
|
|
22
|
-
install_grep -q 'uninstall_codex()' && pass 'install.sh: uninstall_codex()' || fail 'install.sh: missing uninstall_codex()'
|
|
23
|
-
install_grep -q 'CODEX_SKILLS_DIR=' && pass 'install.sh: skills dir var' || fail 'install.sh: missing skills dir var'
|
|
24
|
-
install_grep -q 'install_codex' && install_grep -q 'uninstall_codex' && pass 'install.sh: dispatch wired' || fail 'install.sh: dispatch missing codex'
|
|
25
|
-
|
|
26
|
-
DRY_OUT="$(bash "$INSTALL_SH" --dry-run 2>&1)"
|
|
27
|
-
grep -q 'Codex CLI →' <<< "$DRY_OUT" && pass 'dry-run: Codex CLI section' || fail 'dry-run: missing Codex CLI section'
|
|
28
|
-
DRY_UNINSTALL="$(bash "$INSTALL_SH" --dry-run --uninstall 2>&1)"
|
|
29
|
-
grep -q 'Codex CLI →' <<< "$DRY_UNINSTALL" && pass 'dry-run uninstall: Codex CLI section' || fail 'dry-run uninstall: missing Codex CLI section'
|
|
30
|
-
|
|
31
|
-
grep -q "case 'codex'" "$HELPERS_JS" && pass 'install-helpers: codex case' || fail 'install-helpers: missing codex case'
|
|
32
|
-
install_grep -q 'CODEX_HOOK_SRC=' && pass 'install.sh: hook src' || fail 'install.sh: missing hook src'
|
|
33
|
-
install_grep -q 'pre-tool-git-guard.sh' && pass 'install.sh: git-guard hook' || fail 'install.sh: missing git-guard hook'
|
|
34
|
-
|
|
35
|
-
SETUP_SRC="$(cat "$SETUP_JS")"
|
|
36
|
-
echo "$SETUP_SRC" | grep -q "SUPPORTED_IDS = new Set" && pass 'setup.js: SUPPORTED_IDS set' || fail 'setup.js: missing SUPPORTED_IDS'
|
|
37
|
-
grep -q "'codex'" <<< "$(sed -n "/SUPPORTED_IDS = new Set/,/);/p" "$SETUP_JS")" && pass 'setup.js: codex in SUPPORTED_IDS' || fail 'setup.js: codex not in SUPPORTED_IDS'
|
|
38
|
-
|
|
39
|
-
grep -q 'id: codex' "$TARGETS_YAML" && pass 'targets.yaml: codex row' || fail 'targets.yaml: missing codex row'
|
|
40
|
-
grep -q 'adapter: codex' "$TARGETS_YAML" && pass 'targets.yaml: codex adapter' || fail 'targets.yaml: missing codex adapter'
|
|
41
|
-
grep -q 'codex_hooks_manifest' "$TARGETS_YAML" && pass 'targets.yaml: codex_hooks_manifest' || fail 'targets.yaml: missing codex_hooks_manifest'
|
|
42
|
-
grep -q 'install_codex()' "$REPO_ROOT/scripts/verify-install.sh" && pass 'verify-install: install_codex assertion' || fail 'verify-install: missing install_codex assertion'
|
|
43
|
-
|
|
44
|
-
bash -n "$INSTALL_SH" && pass 'bash -n install.sh' || fail 'bash -n install.sh'
|
|
45
|
-
node --check "$HELPERS_JS" && pass 'node --check install-helpers.js' || fail 'node --check install-helpers.js'
|
|
46
|
-
node --check "$SETUP_JS" && pass 'node --check setup.js' || fail 'node --check setup.js'
|
|
47
|
-
|
|
48
|
-
echo "test-codex-hub: $PASS passed, $FAIL failed"
|
|
49
|
-
[[ "$FAIL" -eq 0 ]] || exit 1
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# story: e71s01
|
|
3
|
-
# scenario: SC-e71s01-P1-02
|
|
4
|
-
# Regression tests for Copilot CLI adapter render + hook templates.
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
8
|
-
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
9
|
-
|
|
10
|
-
PASS=0
|
|
11
|
-
FAIL=0
|
|
12
|
-
|
|
13
|
-
pass() { echo "PASS: $1"; PASS=$((PASS + 1)); }
|
|
14
|
-
fail() { echo "FAIL: $1"; FAIL=$((FAIL + 1)); }
|
|
15
|
-
|
|
16
|
-
echo "=== test-copilot-adapter.sh ==="
|
|
17
|
-
|
|
18
|
-
TMP=$(mktemp -d)
|
|
19
|
-
trap 'rm -rf "$TMP"' EXIT
|
|
20
|
-
|
|
21
|
-
if echo '{"name":"test-skill","description":"test desc","body":"test body"}' \
|
|
22
|
-
| COPILOT_SKILLS="$TMP" bash "$REPO_ROOT/scripts/adapters/copilot.sh" \
|
|
23
|
-
&& [[ -f $TMP/test-skill/SKILL.md ]] \
|
|
24
|
-
&& grep -q 'name: test-skill' $TMP/test-skill/SKILL.md \
|
|
25
|
-
&& grep -q 'test body' $TMP/test-skill/SKILL.md; then
|
|
26
|
-
pass "render_skill emits artifact from stdin SkillIR"
|
|
27
|
-
else
|
|
28
|
-
fail "render_skill emits artifact from stdin SkillIR"
|
|
29
|
-
fi
|
|
30
|
-
|
|
31
|
-
if ! echo '{"name":"../escape","description":"d","body":"b"}' \
|
|
32
|
-
| COPILOT_SKILLS="$TMP/bad" bash "$REPO_ROOT/scripts/adapters/copilot.sh" 2>/dev/null; then
|
|
33
|
-
pass "rejects path traversal in skill name"
|
|
34
|
-
else
|
|
35
|
-
fail "rejects path traversal in skill name"
|
|
36
|
-
fi
|
|
37
|
-
|
|
38
|
-
ADAPTER_OUT=$(bash "$REPO_ROOT/scripts/test-adapters.sh" copilot 2>&1 || true)
|
|
39
|
-
if echo "$ADAPTER_OUT" | grep -q '0 failed'; then
|
|
40
|
-
pass "test-adapters.sh copilot"
|
|
41
|
-
else
|
|
42
|
-
fail "test-adapters.sh copilot"
|
|
43
|
-
echo "$ADAPTER_OUT"
|
|
44
|
-
fi
|
|
45
|
-
|
|
46
|
-
echo "test-copilot-adapter: $PASS passed, $FAIL failed"
|
|
47
|
-
[[ "$FAIL" -eq 0 ]] || exit 1
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# story: e71s02
|
|
3
|
-
# Regression tests for Copilot CLI install hub wiring (Wave B).
|
|
4
|
-
set -euo pipefail
|
|
5
|
-
|
|
6
|
-
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
7
|
-
PASS=0
|
|
8
|
-
FAIL=0
|
|
9
|
-
|
|
10
|
-
pass() { echo "PASS: $1"; PASS=$((PASS + 1)); }
|
|
11
|
-
fail() { echo "FAIL: $1" >&2; FAIL=$((FAIL + 1)); }
|
|
12
|
-
|
|
13
|
-
echo "=== test-copilot-hub.sh ==="
|
|
14
|
-
|
|
15
|
-
INSTALL_SH="$REPO_ROOT/scripts/install.sh"
|
|
16
|
-
source "$REPO_ROOT/scripts/lib/install-grep.sh"
|
|
17
|
-
HELPERS_JS="$REPO_ROOT/scripts/lib/install-helpers.js"
|
|
18
|
-
SETUP_JS="$REPO_ROOT/bin/setup.js"
|
|
19
|
-
TARGETS_YAML="$REPO_ROOT/scripts/targets.yaml"
|
|
20
|
-
|
|
21
|
-
install_grep -q 'install_copilot()' && pass 'install.sh: install_copilot()' || fail 'install.sh: missing install_copilot()'
|
|
22
|
-
install_grep -q 'uninstall_copilot()' && pass 'install.sh: uninstall_copilot()' || fail 'install.sh: missing uninstall_copilot()'
|
|
23
|
-
install_grep -q 'COPILOT_SKILLS_DIR=' && pass 'install.sh: skills dir var' || fail 'install.sh: missing skills dir var'
|
|
24
|
-
install_grep -q 'install_copilot' && install_grep -q 'uninstall_copilot' && pass 'install.sh: dispatch wired' || fail 'install.sh: dispatch missing copilot'
|
|
25
|
-
|
|
26
|
-
DRY_OUT="$(bash "$INSTALL_SH" --dry-run 2>&1)"
|
|
27
|
-
grep -q 'Copilot CLI →' <<< "$DRY_OUT" && pass 'dry-run: Copilot CLI section' || fail 'dry-run: missing Copilot CLI section'
|
|
28
|
-
DRY_UNINSTALL="$(bash "$INSTALL_SH" --dry-run --uninstall 2>&1)"
|
|
29
|
-
grep -q 'Copilot CLI →' <<< "$DRY_UNINSTALL" && pass 'dry-run uninstall: Copilot CLI section' || fail 'dry-run uninstall: missing Copilot CLI section'
|
|
30
|
-
|
|
31
|
-
grep -q "case 'copilot'" "$HELPERS_JS" && pass 'install-helpers: copilot case' || fail 'install-helpers: missing copilot case'
|
|
32
|
-
|
|
33
|
-
SETUP_SRC="$(cat "$SETUP_JS")"
|
|
34
|
-
echo "$SETUP_SRC" | grep -q "SUPPORTED_IDS = new Set" && pass 'setup.js: SUPPORTED_IDS set' || fail 'setup.js: missing SUPPORTED_IDS'
|
|
35
|
-
grep -q "'copilot'" <<< "$(sed -n "/SUPPORTED_IDS = new Set/,/);/p" "$SETUP_JS")" && pass 'setup.js: copilot in SUPPORTED_IDS' || fail 'setup.js: copilot not in SUPPORTED_IDS'
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
bash -n "$INSTALL_SH" && pass 'bash -n install.sh' || fail 'bash -n install.sh'
|
|
39
|
-
node --check "$HELPERS_JS" && pass 'node --check install-helpers.js' || fail 'node --check install-helpers.js'
|
|
40
|
-
node --check "$SETUP_JS" && pass 'node --check setup.js' || fail 'node --check setup.js'
|
|
41
|
-
|
|
42
|
-
echo "test-copilot-hub: $PASS passed, $FAIL failed"
|
|
43
|
-
[[ "$FAIL" -eq 0 ]] || exit 1
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# story: e64s01
|
|
3
|
-
# Validates Gemini adapter hook templates and stdin render path.
|
|
4
|
-
set -euo pipefail
|
|
5
|
-
|
|
6
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
7
|
-
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
8
|
-
GEMINI_EXT="$REPO_ROOT/.gemini/extensions/bigpowers"
|
|
9
|
-
|
|
10
|
-
echo "=== test-gemini-adapter.sh ==="
|
|
11
|
-
|
|
12
|
-
# Test 1: validate hook templates via adapter CLI
|
|
13
|
-
echo "Test 1: validate_hook_templates"
|
|
14
|
-
GEMINI_EXT_DIR="$GEMINI_EXT" GEMINI_HOOKS_DIR="$GEMINI_EXT/hooks" \
|
|
15
|
-
bash "$REPO_ROOT/scripts/adapters/gemini.sh" --validate-hooks
|
|
16
|
-
|
|
17
|
-
# Test 2: event count
|
|
18
|
-
echo "Test 2: hook event count"
|
|
19
|
-
COUNT="$(GEMINI_EXT_DIR="$GEMINI_EXT" bash "$REPO_ROOT/scripts/adapters/gemini.sh" --list-hook-events | wc -l | tr -d ' ')"
|
|
20
|
-
if [[ "$COUNT" != "11" ]]; then
|
|
21
|
-
echo "FAIL: expected 11 events, got $COUNT"
|
|
22
|
-
exit 1
|
|
23
|
-
fi
|
|
24
|
-
|
|
25
|
-
# Test 3: HOOKS.md documents all events
|
|
26
|
-
echo "Test 3: HOOKS.md coverage"
|
|
27
|
-
for ev in BeforeTool AfterTool BeforeAgent AfterAgent BeforeModel BeforeToolSelection AfterModel SessionStart SessionEnd Notification PreCompress; do
|
|
28
|
-
grep -q "$ev" "$GEMINI_EXT/hooks/HOOKS.md" || { echo "FAIL: HOOKS.md missing $ev"; exit 1; }
|
|
29
|
-
done
|
|
30
|
-
|
|
31
|
-
# Test 4: stdin render smoke (fallback path without sync-render sourced)
|
|
32
|
-
echo "Test 4: stdin render smoke"
|
|
33
|
-
TMP_SKILL="$GEMINI_EXT/skills/_test-gemini-adapter"
|
|
34
|
-
TMP_CMD="$GEMINI_EXT/commands/prompts/_test-gemini-adapter.md"
|
|
35
|
-
rm -rf "$TMP_SKILL" "$TMP_CMD"
|
|
36
|
-
echo '{"name":"_test-gemini-adapter","model":"","description":"adapter test","body":"test body"}' | \
|
|
37
|
-
GEMINI_SKILLS="$GEMINI_EXT/skills" GEMINI_COMMANDS="$GEMINI_EXT/commands" \
|
|
38
|
-
bash "$REPO_ROOT/scripts/adapters/gemini.sh"
|
|
39
|
-
if [[ ! -f "$TMP_SKILL/SKILL.md" ]] || [[ ! -f "$TMP_CMD" ]]; then
|
|
40
|
-
echo "FAIL: gemini adapter did not render test skill"
|
|
41
|
-
exit 1
|
|
42
|
-
fi
|
|
43
|
-
rm -rf "$TMP_SKILL" "$TMP_CMD"
|
|
44
|
-
|
|
45
|
-
# Test 5: render_hooks_manifest delegates to render_gemini_hooks_manifest override
|
|
46
|
-
# (subshell invocation — adapters are subprocess-invoked, not sourced, per Tests 1-4 above)
|
|
47
|
-
echo "Test 5: render_hooks_manifest"
|
|
48
|
-
GEMINI_EXT_DIR="$GEMINI_EXT" bash -c "
|
|
49
|
-
source '$REPO_ROOT/scripts/lib/skill-common.sh' 2>/dev/null || true
|
|
50
|
-
source '$REPO_ROOT/scripts/lib/sync-render.sh'
|
|
51
|
-
source '$REPO_ROOT/scripts/adapters/gemini.sh'
|
|
52
|
-
render_hooks_manifest
|
|
53
|
-
"
|
|
54
|
-
grep -q '"events_total": 11' "$GEMINI_EXT/hooks/hooks-manifest.json" || {
|
|
55
|
-
echo "FAIL: hooks-manifest.json invalid after render"
|
|
56
|
-
exit 1
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
# Test 6: before-tool-git-guard gemini JSON shape
|
|
60
|
-
echo "Test 6: before-tool-git-guard gemini mode"
|
|
61
|
-
OUT="$(echo '{"tool_input":{"command":"git reset --hard"}}' | \
|
|
62
|
-
bash "$GEMINI_EXT/hooks/before-tool-git-guard.sh")"
|
|
63
|
-
echo "$OUT" | jq -e '.decision == "deny"' >/dev/null || {
|
|
64
|
-
echo "FAIL: git guard did not deny dangerous reset --hard"
|
|
65
|
-
echo "$OUT"
|
|
66
|
-
exit 1
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
echo "PASS: test-gemini-adapter.sh"
|
|
70
|
-
exit 0
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# story: e64s02
|
|
3
|
-
# Regression tests for Gemini install hub wiring (Wave B).
|
|
4
|
-
set -euo pipefail
|
|
5
|
-
|
|
6
|
-
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
7
|
-
PASS=0
|
|
8
|
-
FAIL=0
|
|
9
|
-
|
|
10
|
-
pass() { echo "PASS: $1"; PASS=$((PASS + 1)); }
|
|
11
|
-
fail() { echo "FAIL: $1" >&2; FAIL=$((FAIL + 1)); }
|
|
12
|
-
|
|
13
|
-
echo "=== test-gemini-hub.sh ==="
|
|
14
|
-
|
|
15
|
-
INSTALL_SH="$REPO_ROOT/scripts/install.sh"
|
|
16
|
-
source "$REPO_ROOT/scripts/lib/install-grep.sh"
|
|
17
|
-
HELPERS_JS="$REPO_ROOT/scripts/lib/install-helpers.js"
|
|
18
|
-
SETUP_JS="$REPO_ROOT/bin/setup.js"
|
|
19
|
-
TARGETS_YAML="$REPO_ROOT/scripts/targets.yaml"
|
|
20
|
-
|
|
21
|
-
install_grep -q 'install_gemini()' && pass 'install.sh: install_gemini()' || fail 'install.sh: missing install_gemini()'
|
|
22
|
-
install_grep -q 'uninstall_gemini()' && pass 'install.sh: uninstall_gemini()' || fail 'install.sh: missing uninstall_gemini()'
|
|
23
|
-
install_grep -q 'GEMINI_HOOKS_SRC=' && pass 'install.sh: GEMINI_HOOKS_SRC' || fail 'install.sh: missing GEMINI_HOOKS_SRC'
|
|
24
|
-
install_grep -q 'before-tool-git-guard.sh' && pass 'install.sh: Wave A git-guard hook' || fail 'install.sh: missing before-tool-git-guard.sh'
|
|
25
|
-
install_grep -q 'before-tool-rtk.sh' && pass 'install.sh: Wave A rtk hook' || fail 'install.sh: missing before-tool-rtk.sh'
|
|
26
|
-
install_grep -q 'install_gemini' && install_grep -q 'uninstall_gemini' && pass 'install.sh: dispatch wired' || fail 'install.sh: dispatch missing gemini'
|
|
27
|
-
|
|
28
|
-
DRY_OUT="$(bash "$INSTALL_SH" --dry-run 2>&1)"
|
|
29
|
-
grep -q 'Gemini CLI →' <<< "$DRY_OUT" && pass 'dry-run: Gemini CLI section' || fail 'dry-run: missing Gemini CLI section'
|
|
30
|
-
grep -q 'before-tool-git-guard.sh' <<< "$DRY_OUT" && pass 'dry-run: git-guard hook symlink' || fail 'dry-run: missing git-guard hook'
|
|
31
|
-
DRY_UNINSTALL="$(bash "$INSTALL_SH" --dry-run --uninstall 2>&1)"
|
|
32
|
-
grep -q 'Gemini CLI →' <<< "$DRY_UNINSTALL" && pass 'dry-run uninstall: Gemini CLI section' || fail 'dry-run uninstall: missing Gemini CLI section'
|
|
33
|
-
|
|
34
|
-
grep -q "case 'gemini'" "$HELPERS_JS" && pass 'install-helpers: gemini global case' || fail 'install-helpers: missing gemini global case'
|
|
35
|
-
grep -q 'before-tool-git-guard.sh' "$HELPERS_JS" && pass 'install-helpers: gemini hook wiring' || fail 'install-helpers: missing gemini hook wiring'
|
|
36
|
-
|
|
37
|
-
SETUP_SRC="$(cat "$SETUP_JS")"
|
|
38
|
-
echo "$SETUP_SRC" | grep -q "SUPPORTED_IDS = new Set" && pass 'setup.js: SUPPORTED_IDS set' || fail 'setup.js: missing SUPPORTED_IDS'
|
|
39
|
-
echo "$SETUP_SRC" | grep -q "'gemini'" "$SETUP_JS" && pass 'setup.js: gemini in TOOLS' || fail 'setup.js: gemini missing from TOOLS'
|
|
40
|
-
echo "$SETUP_SRC" | grep -q "'gemini'" && echo "$SETUP_SRC" | grep -q "SUPPORTED_IDS" \
|
|
41
|
-
&& grep -q "'gemini'" <<< "$(sed -n "/SUPPORTED_IDS = new Set/,/);/p" "$SETUP_JS")" \
|
|
42
|
-
&& pass 'setup.js: gemini in SUPPORTED_IDS' || fail 'setup.js: gemini not in SUPPORTED_IDS'
|
|
43
|
-
|
|
44
|
-
grep -q 'id: gemini' "$TARGETS_YAML" && pass 'targets.yaml: gemini row' || fail 'targets.yaml: missing gemini row'
|
|
45
|
-
grep -q 'adapter: gemini' "$TARGETS_YAML" && pass 'targets.yaml: gemini adapter' || fail 'targets.yaml: missing gemini adapter'
|
|
46
|
-
grep -q 'gemini_hooks_manifest' "$TARGETS_YAML" && pass 'targets.yaml: gemini_hooks_manifest contract' || fail 'targets.yaml: missing gemini_hooks_manifest'
|
|
47
|
-
|
|
48
|
-
grep -q 'install_gemini()' "$REPO_ROOT/scripts/verify-install.sh" && pass 'verify-install: install_gemini assertion' || fail 'verify-install: missing install_gemini assertion'
|
|
49
|
-
grep -q 'gemini_hooks_manifest' "$REPO_ROOT/scripts/verify-install.sh" && pass 'verify-install: gemini hook contract' || fail 'verify-install: missing gemini hook contract'
|
|
50
|
-
|
|
51
|
-
bash -n "$INSTALL_SH" && pass 'bash -n install.sh' || fail 'bash -n install.sh'
|
|
52
|
-
node --check "$HELPERS_JS" && pass 'node --check install-helpers.js' || fail 'node --check install-helpers.js'
|
|
53
|
-
node --check "$SETUP_JS" && pass 'node --check setup.js' || fail 'node --check setup.js'
|
|
54
|
-
|
|
55
|
-
echo "test-gemini-hub: $PASS passed, $FAIL failed"
|
|
56
|
-
[[ "$FAIL" -eq 0 ]] || exit 1
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# story: e61s01
|
|
3
|
-
# Regression tests for Hermes adapter render + hook templates.
|
|
4
|
-
set -euo pipefail
|
|
5
|
-
|
|
6
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
7
|
-
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
8
|
-
|
|
9
|
-
PASS=0
|
|
10
|
-
FAIL=0
|
|
11
|
-
|
|
12
|
-
pass() { echo "PASS: $1"; PASS=$((PASS + 1)); }
|
|
13
|
-
fail() { echo "FAIL: $1"; FAIL=$((FAIL + 1)); }
|
|
14
|
-
|
|
15
|
-
echo "=== test-hermes-adapter.sh ==="
|
|
16
|
-
|
|
17
|
-
TMP=$(mktemp -d)
|
|
18
|
-
trap 'rm -rf "$TMP"' EXIT
|
|
19
|
-
|
|
20
|
-
# Task 1+2: stdin SkillIR render
|
|
21
|
-
if echo '{"name":"test-skill","description":"test desc","body":"test body"}' \
|
|
22
|
-
| HERMES_SKILLS="$TMP/skills" bash "$REPO_ROOT/scripts/adapters/hermes.sh" \
|
|
23
|
-
&& [[ -f "$TMP/skills/test-skill/SKILL.md" ]] \
|
|
24
|
-
&& grep -q 'name: test-skill' "$TMP/skills/test-skill/SKILL.md" \
|
|
25
|
-
&& grep -q 'test body' "$TMP/skills/test-skill/SKILL.md"; then
|
|
26
|
-
pass "render_skill emits SKILL.md from stdin SkillIR"
|
|
27
|
-
else
|
|
28
|
-
fail "render_skill emits SKILL.md from stdin SkillIR"
|
|
29
|
-
fi
|
|
30
|
-
|
|
31
|
-
# IR_NAME sanitization rejects path traversal
|
|
32
|
-
if ! echo '{"name":"../escape","description":"d","body":"b"}' \
|
|
33
|
-
| HERMES_SKILLS="$TMP/bad" bash "$REPO_ROOT/scripts/adapters/hermes.sh" 2>/dev/null; then
|
|
34
|
-
pass "rejects path traversal in skill name"
|
|
35
|
-
else
|
|
36
|
-
fail "rejects path traversal in skill name"
|
|
37
|
-
fi
|
|
38
|
-
|
|
39
|
-
# Gateway template
|
|
40
|
-
if [[ -f "$REPO_ROOT/scripts/hooks/hermes/gateway/session-log/HOOK.yaml" ]] \
|
|
41
|
-
&& [[ -f "$REPO_ROOT/scripts/hooks/hermes/gateway/session-log/handler.py" ]] \
|
|
42
|
-
&& grep -q 'agent:start' "$REPO_ROOT/scripts/hooks/hermes/gateway/session-log/HOOK.yaml" \
|
|
43
|
-
&& grep -q 'async def handle' "$REPO_ROOT/scripts/hooks/hermes/gateway/session-log/handler.py"; then
|
|
44
|
-
pass "gateway hook template present"
|
|
45
|
-
else
|
|
46
|
-
fail "gateway hook template present"
|
|
47
|
-
fi
|
|
48
|
-
|
|
49
|
-
# Shell template
|
|
50
|
-
if [[ -f "$REPO_ROOT/scripts/hooks/hermes/shell/block-dangerous-terminal.sh" ]] \
|
|
51
|
-
&& [[ -f "$REPO_ROOT/scripts/hooks/hermes/shell/hooks-config.example.yaml" ]] \
|
|
52
|
-
&& grep -q 'pre_tool_call' "$REPO_ROOT/scripts/hooks/hermes/shell/hooks-config.example.yaml"; then
|
|
53
|
-
pass "shell hook template present"
|
|
54
|
-
else
|
|
55
|
-
fail "shell hook template present"
|
|
56
|
-
fi
|
|
57
|
-
|
|
58
|
-
# Plugin template
|
|
59
|
-
if [[ -f "$REPO_ROOT/scripts/hooks/hermes/plugin/guard-git-plugin.py" ]] \
|
|
60
|
-
&& grep -q 'register_hook' "$REPO_ROOT/scripts/hooks/hermes/plugin/guard-git-plugin.py"; then
|
|
61
|
-
pass "plugin hook template present"
|
|
62
|
-
else
|
|
63
|
-
fail "plugin hook template present"
|
|
64
|
-
fi
|
|
65
|
-
|
|
66
|
-
# Shell hook block decision shape
|
|
67
|
-
BLOCK_OUT=$(echo '{"tool_name":"terminal","tool_input":{"command":"git push --force origin main"}}' \
|
|
68
|
-
| bash "$REPO_ROOT/scripts/hooks/hermes/shell/block-dangerous-terminal.sh")
|
|
69
|
-
if echo "$BLOCK_OUT" | grep -q 'block'; then
|
|
70
|
-
pass "shell hook blocks dangerous terminal command"
|
|
71
|
-
else
|
|
72
|
-
fail "shell hook blocks dangerous terminal command"
|
|
73
|
-
fi
|
|
74
|
-
|
|
75
|
-
# test-adapters smoke (exit code may be 1 due to ta_cleanup trap when TA_TMPDIR unset — pre-existing e37)
|
|
76
|
-
ADAPTER_OUT=$(bash "$REPO_ROOT/scripts/test-adapters.sh" hermes 2>&1 || true)
|
|
77
|
-
if echo "$ADAPTER_OUT" | grep -q '0 failed' && echo "$ADAPTER_OUT" | grep -q 'PASS hermes: idempotent wire_context'; then
|
|
78
|
-
pass "test-adapters.sh hermes"
|
|
79
|
-
else
|
|
80
|
-
fail "test-adapters.sh hermes"
|
|
81
|
-
echo "$ADAPTER_OUT"
|
|
82
|
-
fi
|
|
83
|
-
|
|
84
|
-
echo "test-hermes-adapter: $PASS passed, $FAIL failed"
|
|
85
|
-
[[ "$FAIL" -eq 0 ]] || exit 1
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# story: e61s02
|
|
3
|
-
# Regression tests for Hermes install hub wiring (Wave B).
|
|
4
|
-
set -euo pipefail
|
|
5
|
-
|
|
6
|
-
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
7
|
-
PASS=0
|
|
8
|
-
FAIL=0
|
|
9
|
-
|
|
10
|
-
pass() { echo "PASS: $1"; PASS=$((PASS + 1)); }
|
|
11
|
-
fail() { echo "FAIL: $1" >&2; FAIL=$((FAIL + 1)); }
|
|
12
|
-
|
|
13
|
-
echo "=== test-hermes-hub.sh ==="
|
|
14
|
-
|
|
15
|
-
INSTALL_SH="$REPO_ROOT/scripts/install.sh"
|
|
16
|
-
source "$REPO_ROOT/scripts/lib/install-grep.sh"
|
|
17
|
-
HELPERS_JS="$REPO_ROOT/scripts/lib/install-helpers.js"
|
|
18
|
-
SETUP_JS="$REPO_ROOT/bin/setup.js"
|
|
19
|
-
TARGETS_YAML="$REPO_ROOT/scripts/targets.yaml"
|
|
20
|
-
|
|
21
|
-
install_grep -q 'install_hermes()' && pass 'install.sh: install_hermes()' || fail 'install.sh: missing install_hermes()'
|
|
22
|
-
install_grep -q 'uninstall_hermes()' && pass 'install.sh: uninstall_hermes()' || fail 'install.sh: missing uninstall_hermes()'
|
|
23
|
-
install_grep -q 'HERMES_SKILLS_DIR=' && pass 'install.sh: HERMES_SKILLS_DIR' || fail 'install.sh: missing HERMES_SKILLS_DIR'
|
|
24
|
-
install_grep -q 'install_hermes' && install_grep -q 'uninstall_hermes' && pass 'install.sh: dispatch wired' || fail 'install.sh: dispatch missing hermes'
|
|
25
|
-
|
|
26
|
-
DRY_OUT="$(bash "$INSTALL_SH" --dry-run 2>&1)"
|
|
27
|
-
grep -q 'Hermes Agent →' <<< "$DRY_OUT" && pass 'dry-run: Hermes Agent section' || fail 'dry-run: missing Hermes Agent section'
|
|
28
|
-
DRY_UNINSTALL="$(bash "$INSTALL_SH" --dry-run --uninstall 2>&1)"
|
|
29
|
-
grep -q 'Hermes Agent →' <<< "$DRY_UNINSTALL" && pass 'dry-run uninstall: Hermes Agent section' || fail 'dry-run uninstall: missing Hermes Agent section'
|
|
30
|
-
|
|
31
|
-
grep -q "case 'hermes'" "$HELPERS_JS" && pass 'install-helpers: hermes global case' || fail 'install-helpers: missing hermes global case'
|
|
32
|
-
grep -q "case 'hermes'" "$HELPERS_JS" && pass 'install-helpers: hermes cases present' || fail 'install-helpers: missing hermes cases'
|
|
33
|
-
|
|
34
|
-
SETUP_SRC="$(cat "$SETUP_JS")"
|
|
35
|
-
echo "$SETUP_SRC" | grep -q "SUPPORTED_IDS = new Set" && pass 'setup.js: SUPPORTED_IDS set' || fail 'setup.js: missing SUPPORTED_IDS'
|
|
36
|
-
echo "$SETUP_SRC" | grep -q "'hermes'" "$SETUP_JS" && pass 'setup.js: hermes in TOOLS' || fail 'setup.js: hermes missing from TOOLS'
|
|
37
|
-
echo "$SETUP_SRC" | grep -q "'hermes'" && echo "$SETUP_SRC" | grep -q "SUPPORTED_IDS" \
|
|
38
|
-
&& grep -q "'hermes'" <<< "$(sed -n "/SUPPORTED_IDS = new Set/,/);/p" "$SETUP_JS")" \
|
|
39
|
-
&& pass 'setup.js: hermes in SUPPORTED_IDS' || fail 'setup.js: hermes not in SUPPORTED_IDS'
|
|
40
|
-
|
|
41
|
-
grep -q 'id: hermes' "$TARGETS_YAML" && pass 'targets.yaml: hermes row' || fail 'targets.yaml: missing hermes row'
|
|
42
|
-
grep -q 'adapter: hermes' "$TARGETS_YAML" && pass 'targets.yaml: hermes adapter' || fail 'targets.yaml: missing hermes adapter'
|
|
43
|
-
grep -q 'bridge_key: instructions' "$TARGETS_YAML" && pass 'targets.yaml: instructions bridge_key' || fail 'targets.yaml: missing bridge_key'
|
|
44
|
-
|
|
45
|
-
grep -q 'install_hermes()' "$REPO_ROOT/scripts/verify-install.sh" && pass 'verify-install: install_hermes assertion' || fail 'verify-install: missing install_hermes assertion'
|
|
46
|
-
|
|
47
|
-
bash -n "$INSTALL_SH" && pass 'bash -n install.sh' || fail 'bash -n install.sh'
|
|
48
|
-
node --check "$HELPERS_JS" && pass 'node --check install-helpers.js' || fail 'node --check install-helpers.js'
|
|
49
|
-
node --check "$SETUP_JS" && pass 'node --check setup.js' || fail 'node --check setup.js'
|
|
50
|
-
|
|
51
|
-
echo "test-hermes-hub: $PASS passed, $FAIL failed"
|
|
52
|
-
[[ "$FAIL" -eq 0 ]] || exit 1
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# story: e67s01
|
|
3
|
-
# scenario: SC-e67s01-P1-02
|
|
4
|
-
# Regression tests for Kilo adapter render + hook templates.
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
8
|
-
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
9
|
-
|
|
10
|
-
PASS=0
|
|
11
|
-
FAIL=0
|
|
12
|
-
|
|
13
|
-
pass() { echo "PASS: $1"; PASS=$((PASS + 1)); }
|
|
14
|
-
fail() { echo "FAIL: $1"; FAIL=$((FAIL + 1)); }
|
|
15
|
-
|
|
16
|
-
echo "=== test-kilocode-adapter.sh ==="
|
|
17
|
-
|
|
18
|
-
TMP=$(mktemp -d)
|
|
19
|
-
trap 'rm -rf "$TMP"' EXIT
|
|
20
|
-
|
|
21
|
-
if echo '{"name":"test-skill","description":"test desc","body":"test body"}' \
|
|
22
|
-
| KILOCODE_RULES="$TMP" bash "$REPO_ROOT/scripts/adapters/kilocode.sh" \
|
|
23
|
-
&& [[ -f $TMP/test-skill.md ]] \
|
|
24
|
-
&& grep -q 'name: test-skill' $TMP/test-skill.md \
|
|
25
|
-
&& grep -q 'test body' $TMP/test-skill.md; then
|
|
26
|
-
pass "render_skill emits artifact from stdin SkillIR"
|
|
27
|
-
else
|
|
28
|
-
fail "render_skill emits artifact from stdin SkillIR"
|
|
29
|
-
fi
|
|
30
|
-
|
|
31
|
-
if ! echo '{"name":"../escape","description":"d","body":"b"}' \
|
|
32
|
-
| KILOCODE_RULES="$TMP/bad" bash "$REPO_ROOT/scripts/adapters/kilocode.sh" 2>/dev/null; then
|
|
33
|
-
pass "rejects path traversal in skill name"
|
|
34
|
-
else
|
|
35
|
-
fail "rejects path traversal in skill name"
|
|
36
|
-
fi
|
|
37
|
-
|
|
38
|
-
if [[ -f "$REPO_ROOT/scripts/hooks/kilocode/plugin/guard-git-plugin.ts" ]] \
|
|
39
|
-
&& [[ -f "$REPO_ROOT/scripts/hooks/kilocode/hooks-manifest.json" ]] \
|
|
40
|
-
&& grep -q 'registerHook' "$REPO_ROOT/scripts/hooks/kilocode/plugin/guard-git-plugin.ts"; then
|
|
41
|
-
pass "plugin hook template present"
|
|
42
|
-
else
|
|
43
|
-
fail "plugin hook template present"
|
|
44
|
-
fi
|
|
45
|
-
|
|
46
|
-
ADAPTER_OUT=$(bash "$REPO_ROOT/scripts/test-adapters.sh" kilocode 2>&1 || true)
|
|
47
|
-
if echo "$ADAPTER_OUT" | grep -q '0 failed'; then
|
|
48
|
-
pass "test-adapters.sh kilocode"
|
|
49
|
-
else
|
|
50
|
-
fail "test-adapters.sh kilocode"
|
|
51
|
-
echo "$ADAPTER_OUT"
|
|
52
|
-
fi
|
|
53
|
-
|
|
54
|
-
echo "test-kilocode-adapter: $PASS passed, $FAIL failed"
|
|
55
|
-
[[ "$FAIL" -eq 0 ]] || exit 1
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# story: e67s02
|
|
3
|
-
# Regression tests for Kilo install hub wiring (Wave B).
|
|
4
|
-
set -euo pipefail
|
|
5
|
-
|
|
6
|
-
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
7
|
-
PASS=0
|
|
8
|
-
FAIL=0
|
|
9
|
-
|
|
10
|
-
pass() { echo "PASS: $1"; PASS=$((PASS + 1)); }
|
|
11
|
-
fail() { echo "FAIL: $1" >&2; FAIL=$((FAIL + 1)); }
|
|
12
|
-
|
|
13
|
-
echo "=== test-kilocode-hub.sh ==="
|
|
14
|
-
|
|
15
|
-
INSTALL_SH="$REPO_ROOT/scripts/install.sh"
|
|
16
|
-
source "$REPO_ROOT/scripts/lib/install-grep.sh"
|
|
17
|
-
HELPERS_JS="$REPO_ROOT/scripts/lib/install-helpers.js"
|
|
18
|
-
SETUP_JS="$REPO_ROOT/bin/setup.js"
|
|
19
|
-
TARGETS_YAML="$REPO_ROOT/scripts/targets.yaml"
|
|
20
|
-
|
|
21
|
-
install_grep -q 'install_kilocode()' && pass 'install.sh: install_kilocode()' || fail 'install.sh: missing install_kilocode()'
|
|
22
|
-
install_grep -q 'uninstall_kilocode()' && pass 'install.sh: uninstall_kilocode()' || fail 'install.sh: missing uninstall_kilocode()'
|
|
23
|
-
install_grep -q 'KILOCODE_SKILLS_DIR=' && pass 'install.sh: skills dir var' || fail 'install.sh: missing skills dir var'
|
|
24
|
-
install_grep -q 'install_kilocode' && install_grep -q 'uninstall_kilocode' && pass 'install.sh: dispatch wired' || fail 'install.sh: dispatch missing kilocode'
|
|
25
|
-
|
|
26
|
-
DRY_OUT="$(bash "$INSTALL_SH" --dry-run 2>&1)"
|
|
27
|
-
grep -q 'Kilo →' <<< "$DRY_OUT" && pass 'dry-run: Kilo section' || fail 'dry-run: missing Kilo section'
|
|
28
|
-
DRY_UNINSTALL="$(bash "$INSTALL_SH" --dry-run --uninstall 2>&1)"
|
|
29
|
-
grep -q 'Kilo →' <<< "$DRY_UNINSTALL" && pass 'dry-run uninstall: Kilo section' || fail 'dry-run uninstall: missing Kilo section'
|
|
30
|
-
|
|
31
|
-
grep -q "case 'kilo'" "$HELPERS_JS" && pass 'install-helpers: kilo case' || fail 'install-helpers: missing kilo case'
|
|
32
|
-
install_grep -q 'scripts/hooks/kilocode/plugin' && pass 'install.sh: plugin hook template' || fail 'install.sh: missing plugin template'
|
|
33
|
-
|
|
34
|
-
SETUP_SRC="$(cat "$SETUP_JS")"
|
|
35
|
-
echo "$SETUP_SRC" | grep -q "SUPPORTED_IDS = new Set" && pass 'setup.js: SUPPORTED_IDS set' || fail 'setup.js: missing SUPPORTED_IDS'
|
|
36
|
-
grep -q "'kilo'" <<< "$(sed -n "/SUPPORTED_IDS = new Set/,/);/p" "$SETUP_JS")" && pass 'setup.js: kilo in SUPPORTED_IDS' || fail 'setup.js: kilo not in SUPPORTED_IDS'
|
|
37
|
-
|
|
38
|
-
grep -q 'id: kilocode' "$TARGETS_YAML" && pass 'targets.yaml: kilocode row' || fail 'targets.yaml: missing kilocode row'
|
|
39
|
-
grep -q 'adapter: kilocode' "$TARGETS_YAML" && pass 'targets.yaml: kilocode adapter' || fail 'targets.yaml: missing kilocode adapter'
|
|
40
|
-
grep -q 'kilocode_hooks_manifest' "$TARGETS_YAML" && pass 'targets.yaml: kilocode_hooks_manifest' || fail 'targets.yaml: missing kilocode_hooks_manifest'
|
|
41
|
-
grep -q 'install_kilocode()' "$REPO_ROOT/scripts/verify-install.sh" && pass 'verify-install: install_kilocode assertion' || fail 'verify-install: missing install_kilocode assertion'
|
|
42
|
-
|
|
43
|
-
bash -n "$INSTALL_SH" && pass 'bash -n install.sh' || fail 'bash -n install.sh'
|
|
44
|
-
node --check "$HELPERS_JS" && pass 'node --check install-helpers.js' || fail 'node --check install-helpers.js'
|
|
45
|
-
node --check "$SETUP_JS" && pass 'node --check setup.js' || fail 'node --check setup.js'
|
|
46
|
-
|
|
47
|
-
echo "test-kilocode-hub: $PASS passed, $FAIL failed"
|
|
48
|
-
[[ "$FAIL" -eq 0 ]] || exit 1
|
package/scripts/test-mimo-hub.sh
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# story: e69s02
|
|
3
|
-
# Regression tests for MiMo Code install hub wiring (Wave B).
|
|
4
|
-
set -euo pipefail
|
|
5
|
-
|
|
6
|
-
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
7
|
-
PASS=0
|
|
8
|
-
FAIL=0
|
|
9
|
-
|
|
10
|
-
pass() { echo "PASS: $1"; PASS=$((PASS + 1)); }
|
|
11
|
-
fail() { echo "FAIL: $1" >&2; FAIL=$((FAIL + 1)); }
|
|
12
|
-
|
|
13
|
-
echo "=== test-mimo-hub.sh ==="
|
|
14
|
-
|
|
15
|
-
INSTALL_SH="$REPO_ROOT/scripts/install.sh"
|
|
16
|
-
source "$REPO_ROOT/scripts/lib/install-grep.sh"
|
|
17
|
-
HELPERS_JS="$REPO_ROOT/scripts/lib/install-helpers.js"
|
|
18
|
-
SETUP_JS="$REPO_ROOT/bin/setup.js"
|
|
19
|
-
TARGETS_YAML="$REPO_ROOT/scripts/targets.yaml"
|
|
20
|
-
|
|
21
|
-
install_grep -q 'install_mimo()' && pass 'install.sh: install_mimo()' || fail 'install.sh: missing install_mimo()'
|
|
22
|
-
install_grep -q 'uninstall_mimo()' && pass 'install.sh: uninstall_mimo()' || fail 'install.sh: missing uninstall_mimo()'
|
|
23
|
-
install_grep -q 'MIMO_SKILLS_DIR=' && pass 'install.sh: MIMO_SKILLS_DIR' || fail 'install.sh: missing MIMO_SKILLS_DIR'
|
|
24
|
-
install_grep -q 'install_mimo' && install_grep -q 'uninstall_mimo' && pass 'install.sh: dispatch wired' || fail 'install.sh: dispatch missing mimo'
|
|
25
|
-
|
|
26
|
-
DRY_OUT="$(bash "$INSTALL_SH" --dry-run 2>&1)"
|
|
27
|
-
grep -q 'MiMo Code →' <<< "$DRY_OUT" && pass 'dry-run: MiMo Code section' || fail 'dry-run: missing MiMo Code section'
|
|
28
|
-
DRY_UNINSTALL="$(bash "$INSTALL_SH" --dry-run --uninstall 2>&1)"
|
|
29
|
-
grep -q 'MiMo Code →' <<< "$DRY_UNINSTALL" && pass 'dry-run uninstall: MiMo Code section' || fail 'dry-run uninstall: missing MiMo Code section'
|
|
30
|
-
|
|
31
|
-
grep -q "case 'mimo'" "$HELPERS_JS" && pass 'install-helpers: mimo global case' || fail 'install-helpers: missing mimo global case'
|
|
32
|
-
grep -q "case 'mimo'" "$HELPERS_JS" && pass 'install-helpers: mimo cases present' || fail 'install-helpers: missing mimo cases'
|
|
33
|
-
|
|
34
|
-
SETUP_SRC="$(cat "$SETUP_JS")"
|
|
35
|
-
echo "$SETUP_SRC" | grep -q "SUPPORTED_IDS = new Set" && pass 'setup.js: SUPPORTED_IDS set' || fail 'setup.js: missing SUPPORTED_IDS'
|
|
36
|
-
echo "$SETUP_SRC" | grep -q "'mimo'" "$SETUP_JS" && pass 'setup.js: mimo in TOOLS' || fail 'setup.js: mimo missing from TOOLS'
|
|
37
|
-
echo "$SETUP_SRC" | grep -q "'mimo'" && echo "$SETUP_SRC" | grep -q "SUPPORTED_IDS" \
|
|
38
|
-
&& grep -q "'mimo'" <<< "$(sed -n "/SUPPORTED_IDS = new Set/,/);/p" "$SETUP_JS")" \
|
|
39
|
-
&& pass 'setup.js: mimo in SUPPORTED_IDS' || fail 'setup.js: mimo not in SUPPORTED_IDS'
|
|
40
|
-
|
|
41
|
-
grep -q 'id: mimo' "$TARGETS_YAML" && pass 'targets.yaml: mimo row' || fail 'targets.yaml: missing mimo row'
|
|
42
|
-
grep -q 'adapter: mimo' "$TARGETS_YAML" && pass 'targets.yaml: mimo adapter' || fail 'targets.yaml: missing mimo adapter'
|
|
43
|
-
grep -q 'output: .mimocode/skills' "$TARGETS_YAML" && pass 'targets.yaml: mimo output path' || fail 'targets.yaml: missing mimo output'
|
|
44
|
-
|
|
45
|
-
grep -q 'install_mimo()' "$REPO_ROOT/scripts/verify-install.sh" && pass 'verify-install: install_mimo assertion' || fail 'verify-install: missing install_mimo assertion'
|
|
46
|
-
|
|
47
|
-
bash -n "$INSTALL_SH" && pass 'bash -n install.sh' || fail 'bash -n install.sh'
|
|
48
|
-
node --check "$HELPERS_JS" && pass 'node --check install-helpers.js' || fail 'node --check install-helpers.js'
|
|
49
|
-
node --check "$SETUP_JS" && pass 'node --check setup.js' || fail 'node --check setup.js'
|
|
50
|
-
|
|
51
|
-
echo "test-mimo-hub: $PASS passed, $FAIL failed"
|
|
52
|
-
[[ "$FAIL" -eq 0 ]] || exit 1
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# story: e62s01
|
|
3
|
-
# scenario: SC-e62s01-P1-02
|
|
4
|
-
# Regression tests for OpenCode adapter render + hook templates.
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
8
|
-
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
9
|
-
|
|
10
|
-
PASS=0
|
|
11
|
-
FAIL=0
|
|
12
|
-
|
|
13
|
-
pass() { echo "PASS: $1"; PASS=$((PASS + 1)); }
|
|
14
|
-
fail() { echo "FAIL: $1"; FAIL=$((FAIL + 1)); }
|
|
15
|
-
|
|
16
|
-
echo "=== test-opencode-adapter.sh ==="
|
|
17
|
-
|
|
18
|
-
TMP=$(mktemp -d)
|
|
19
|
-
trap 'rm -rf "$TMP"' EXIT
|
|
20
|
-
|
|
21
|
-
if echo '{"name":"test-skill","description":"test desc","body":"test body"}' \
|
|
22
|
-
| OPENCODE_SKILLS="$TMP" bash "$REPO_ROOT/scripts/adapters/opencode.sh" \
|
|
23
|
-
&& [[ -f $TMP/test-skill/SKILL.md ]] \
|
|
24
|
-
&& grep -q 'name: test-skill' $TMP/test-skill/SKILL.md \
|
|
25
|
-
&& grep -q 'test body' $TMP/test-skill/SKILL.md; then
|
|
26
|
-
pass "render_skill emits artifact from stdin SkillIR"
|
|
27
|
-
else
|
|
28
|
-
fail "render_skill emits artifact from stdin SkillIR"
|
|
29
|
-
fi
|
|
30
|
-
|
|
31
|
-
if ! echo '{"name":"../escape","description":"d","body":"b"}' \
|
|
32
|
-
| OPENCODE_SKILLS="$TMP/bad" bash "$REPO_ROOT/scripts/adapters/opencode.sh" 2>/dev/null; then
|
|
33
|
-
pass "rejects path traversal in skill name"
|
|
34
|
-
else
|
|
35
|
-
fail "rejects path traversal in skill name"
|
|
36
|
-
fi
|
|
37
|
-
|
|
38
|
-
ADAPTER_OUT=$(bash "$REPO_ROOT/scripts/test-adapters.sh" opencode 2>&1 || true)
|
|
39
|
-
if echo "$ADAPTER_OUT" | grep -q '0 failed'; then
|
|
40
|
-
pass "test-adapters.sh opencode"
|
|
41
|
-
else
|
|
42
|
-
fail "test-adapters.sh opencode"
|
|
43
|
-
echo "$ADAPTER_OUT"
|
|
44
|
-
fi
|
|
45
|
-
|
|
46
|
-
echo "test-opencode-adapter: $PASS passed, $FAIL failed"
|
|
47
|
-
[[ "$FAIL" -eq 0 ]] || exit 1
|