bigpowers 2.83.4 → 2.84.1
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/audit-code/SKILL.md +4 -7
- package/.agents/skills/grill-me/SKILL.md +12 -0
- package/.agents/skills/grill-with-docs/SKILL.md +12 -0
- package/.agents/skills/request-review/SKILL.md +1 -0
- package/.agents/skills/wire-ci/SKILL.md +164 -181
- package/.codebuddy/skills/align-grid/SKILL.md +110 -0
- package/.codebuddy/skills/assess-impact/SKILL.md +91 -0
- package/.codebuddy/skills/audit-code/SKILL.md +184 -0
- package/.codebuddy/skills/audit-plan/SKILL.md +89 -0
- package/.codebuddy/skills/build-epic/SKILL.md +105 -0
- package/.codebuddy/skills/change-request/SKILL.md +121 -0
- package/.codebuddy/skills/commit-message/SKILL.md +140 -0
- package/.codebuddy/skills/compose-workflow/SKILL.md +82 -0
- package/.codebuddy/skills/context7-mcp/SKILL.md +55 -0
- package/.codebuddy/skills/craft-skill/SKILL.md +179 -0
- package/.codebuddy/skills/deepen-architecture/SKILL.md +260 -0
- package/.codebuddy/skills/define-language/SKILL.md +80 -0
- package/.codebuddy/skills/define-success/SKILL.md +65 -0
- package/.codebuddy/skills/delegate-task/SKILL.md +91 -0
- package/.codebuddy/skills/deploy/SKILL.md +198 -0
- package/.codebuddy/skills/design-interface/SKILL.md +97 -0
- package/.codebuddy/skills/develop-tdd/SKILL.md +406 -0
- package/.codebuddy/skills/diagnose-root/SKILL.md +24 -0
- package/.codebuddy/skills/diagnose-stall/SKILL.md +54 -0
- package/.codebuddy/skills/dispatch-agents/SKILL.md +118 -0
- package/.codebuddy/skills/edit-document/SKILL.md +23 -0
- package/.codebuddy/skills/elaborate-spec/SKILL.md +101 -0
- package/.codebuddy/skills/enforce-first/SKILL.md +32 -0
- package/.codebuddy/skills/evolve-skill/SKILL.md +55 -0
- package/.codebuddy/skills/execute-plan/SKILL.md +61 -0
- package/.codebuddy/skills/extract-design/SKILL.md +132 -0
- package/.codebuddy/skills/find-way/SKILL.md +191 -0
- package/.codebuddy/skills/fix-bug/SKILL.md +67 -0
- package/.codebuddy/skills/gate-trace/SKILL.md +88 -0
- package/.codebuddy/skills/generate-allure-report/SKILL.md +285 -0
- package/.codebuddy/skills/grill-me/SKILL.md +108 -0
- package/.codebuddy/skills/grill-with-docs/SKILL.md +53 -0
- package/.codebuddy/skills/guard-git/SKILL.md +231 -0
- package/.codebuddy/skills/harden-vps/SKILL.md +288 -0
- package/.codebuddy/skills/hook-commits/SKILL.md +94 -0
- package/.codebuddy/skills/inspect-quality/SKILL.md +106 -0
- package/.codebuddy/skills/investigate-bug/SKILL.md +127 -0
- package/.codebuddy/skills/kickoff-branch/SKILL.md +143 -0
- package/.codebuddy/skills/maintain-wiki/SKILL.md +64 -0
- package/.codebuddy/skills/map-codebase/SKILL.md +71 -0
- package/.codebuddy/skills/migrate-spec/SKILL.md +862 -0
- package/.codebuddy/skills/model-domain/SKILL.md +232 -0
- package/.codebuddy/skills/orchestrate-project/SKILL.md +174 -0
- package/.codebuddy/skills/organize-workspace/SKILL.md +164 -0
- package/.codebuddy/skills/plan-refactor/SKILL.md +87 -0
- package/.codebuddy/skills/plan-release/SKILL.md +145 -0
- package/.codebuddy/skills/plan-tests/SKILL.md +75 -0
- package/.codebuddy/skills/plan-work/SKILL.md +260 -0
- package/.codebuddy/skills/publish-package/SKILL.md +328 -0
- package/.codebuddy/skills/quick-fix/SKILL.md +114 -0
- package/.codebuddy/skills/release-branch/SKILL.md +298 -0
- package/.codebuddy/skills/request-review/SKILL.md +113 -0
- package/.codebuddy/skills/research-first/SKILL.md +87 -0
- package/.codebuddy/skills/reset-baseline/SKILL.md +21 -0
- package/.codebuddy/skills/respond-review/SKILL.md +71 -0
- package/.codebuddy/skills/run-benchmark/SKILL.md +85 -0
- package/.codebuddy/skills/run-evals/SKILL.md +80 -0
- package/.codebuddy/skills/run-planning/SKILL.md +101 -0
- package/.codebuddy/skills/scope-work/SKILL.md +63 -0
- package/.codebuddy/skills/search-skills/SKILL.md +73 -0
- package/.codebuddy/skills/security-review/SKILL.md +384 -0
- package/.codebuddy/skills/seed-conventions/SKILL.md +285 -0
- package/.codebuddy/skills/session-state/SKILL.md +146 -0
- package/.codebuddy/skills/setup-environment/SKILL.md +39 -0
- package/.codebuddy/skills/simulate-agents/SKILL.md +26 -0
- package/.codebuddy/skills/slice-tasks/SKILL.md +68 -0
- package/.codebuddy/skills/smoke-test/SKILL.md +242 -0
- package/.codebuddy/skills/spike-prototype/SKILL.md +95 -0
- package/.codebuddy/skills/stocktake-skills/SKILL.md +72 -0
- package/.codebuddy/skills/survey-context/SKILL.md +135 -0
- package/.codebuddy/skills/terse-mode/SKILL.md +42 -0
- package/.codebuddy/skills/trace-requirement/SKILL.md +69 -0
- package/.codebuddy/skills/using-bigpowers/SKILL.md +111 -0
- package/.codebuddy/skills/validate-contracts/SKILL.md +309 -0
- package/.codebuddy/skills/validate-fix/SKILL.md +106 -0
- package/.codebuddy/skills/verify-work/SKILL.md +191 -0
- package/.codebuddy/skills/visual-dashboard/SKILL.md +50 -0
- package/.codebuddy/skills/wire-ci/SKILL.md +358 -0
- package/.codebuddy/skills/wire-observability/SKILL.md +97 -0
- package/.codebuddy/skills/write-document/SKILL.md +255 -0
- package/.codex/skills/align-grid/SKILL.md +110 -0
- package/.codex/skills/assess-impact/SKILL.md +91 -0
- package/.codex/skills/audit-code/SKILL.md +184 -0
- package/.codex/skills/audit-plan/SKILL.md +89 -0
- package/.codex/skills/build-epic/SKILL.md +105 -0
- package/.codex/skills/change-request/SKILL.md +121 -0
- package/.codex/skills/commit-message/SKILL.md +140 -0
- package/.codex/skills/compose-workflow/SKILL.md +82 -0
- package/.codex/skills/context7-mcp/SKILL.md +55 -0
- package/.codex/skills/craft-skill/SKILL.md +179 -0
- package/.codex/skills/deepen-architecture/SKILL.md +260 -0
- package/.codex/skills/define-language/SKILL.md +80 -0
- package/.codex/skills/define-success/SKILL.md +65 -0
- package/.codex/skills/delegate-task/SKILL.md +91 -0
- package/.codex/skills/deploy/SKILL.md +198 -0
- package/.codex/skills/design-interface/SKILL.md +97 -0
- package/.codex/skills/develop-tdd/SKILL.md +406 -0
- package/.codex/skills/diagnose-root/SKILL.md +24 -0
- package/.codex/skills/diagnose-stall/SKILL.md +54 -0
- package/.codex/skills/dispatch-agents/SKILL.md +118 -0
- package/.codex/skills/edit-document/SKILL.md +23 -0
- package/.codex/skills/elaborate-spec/SKILL.md +101 -0
- package/.codex/skills/enforce-first/SKILL.md +32 -0
- package/.codex/skills/evolve-skill/SKILL.md +55 -0
- package/.codex/skills/execute-plan/SKILL.md +61 -0
- package/.codex/skills/extract-design/SKILL.md +132 -0
- package/.codex/skills/find-way/SKILL.md +191 -0
- package/.codex/skills/fix-bug/SKILL.md +67 -0
- package/.codex/skills/gate-trace/SKILL.md +88 -0
- package/.codex/skills/generate-allure-report/SKILL.md +285 -0
- package/.codex/skills/grill-me/SKILL.md +108 -0
- package/.codex/skills/grill-with-docs/SKILL.md +53 -0
- package/.codex/skills/guard-git/SKILL.md +231 -0
- package/.codex/skills/harden-vps/SKILL.md +288 -0
- package/.codex/skills/hook-commits/SKILL.md +94 -0
- package/.codex/skills/inspect-quality/SKILL.md +106 -0
- package/.codex/skills/investigate-bug/SKILL.md +127 -0
- package/.codex/skills/kickoff-branch/SKILL.md +143 -0
- package/.codex/skills/maintain-wiki/SKILL.md +64 -0
- package/.codex/skills/map-codebase/SKILL.md +71 -0
- package/.codex/skills/migrate-spec/SKILL.md +862 -0
- package/.codex/skills/model-domain/SKILL.md +232 -0
- package/.codex/skills/orchestrate-project/SKILL.md +174 -0
- package/.codex/skills/organize-workspace/SKILL.md +164 -0
- package/.codex/skills/plan-refactor/SKILL.md +87 -0
- package/.codex/skills/plan-release/SKILL.md +145 -0
- package/.codex/skills/plan-tests/SKILL.md +75 -0
- package/.codex/skills/plan-work/SKILL.md +260 -0
- package/.codex/skills/publish-package/SKILL.md +328 -0
- package/.codex/skills/quick-fix/SKILL.md +114 -0
- package/.codex/skills/release-branch/SKILL.md +298 -0
- package/.codex/skills/request-review/SKILL.md +113 -0
- package/.codex/skills/research-first/SKILL.md +87 -0
- package/.codex/skills/reset-baseline/SKILL.md +21 -0
- package/.codex/skills/respond-review/SKILL.md +71 -0
- package/.codex/skills/run-benchmark/SKILL.md +85 -0
- package/.codex/skills/run-evals/SKILL.md +80 -0
- package/.codex/skills/run-planning/SKILL.md +101 -0
- package/.codex/skills/scope-work/SKILL.md +63 -0
- package/.codex/skills/search-skills/SKILL.md +73 -0
- package/.codex/skills/security-review/SKILL.md +384 -0
- package/.codex/skills/seed-conventions/SKILL.md +285 -0
- package/.codex/skills/session-state/SKILL.md +146 -0
- package/.codex/skills/setup-environment/SKILL.md +39 -0
- package/.codex/skills/simulate-agents/SKILL.md +26 -0
- package/.codex/skills/slice-tasks/SKILL.md +68 -0
- package/.codex/skills/smoke-test/SKILL.md +242 -0
- package/.codex/skills/spike-prototype/SKILL.md +95 -0
- package/.codex/skills/stocktake-skills/SKILL.md +72 -0
- package/.codex/skills/survey-context/SKILL.md +135 -0
- package/.codex/skills/terse-mode/SKILL.md +42 -0
- package/.codex/skills/trace-requirement/SKILL.md +69 -0
- package/.codex/skills/using-bigpowers/SKILL.md +111 -0
- package/.codex/skills/validate-contracts/SKILL.md +309 -0
- package/.codex/skills/validate-fix/SKILL.md +106 -0
- package/.codex/skills/verify-work/SKILL.md +191 -0
- package/.codex/skills/visual-dashboard/SKILL.md +50 -0
- package/.codex/skills/wire-ci/SKILL.md +358 -0
- package/.codex/skills/wire-observability/SKILL.md +97 -0
- package/.codex/skills/write-document/SKILL.md +255 -0
- package/.hermes/skills/audit-code/SKILL.md +4 -7
- package/.hermes/skills/grill-me/SKILL.md +12 -0
- package/.hermes/skills/grill-with-docs/SKILL.md +12 -0
- package/.hermes/skills/request-review/SKILL.md +1 -0
- package/.hermes/skills/wire-ci/SKILL.md +164 -181
- package/.kilocode/rules/align-grid.md +110 -0
- package/.kilocode/rules/assess-impact.md +91 -0
- package/.kilocode/rules/audit-code.md +184 -0
- package/.kilocode/rules/audit-plan.md +89 -0
- package/.kilocode/rules/build-epic.md +105 -0
- package/.kilocode/rules/change-request.md +121 -0
- package/.kilocode/rules/commit-message.md +140 -0
- package/.kilocode/rules/compose-workflow.md +82 -0
- package/.kilocode/rules/context7-mcp.md +55 -0
- package/.kilocode/rules/craft-skill.md +179 -0
- package/.kilocode/rules/deepen-architecture.md +260 -0
- package/.kilocode/rules/define-language.md +80 -0
- package/.kilocode/rules/define-success.md +65 -0
- package/.kilocode/rules/delegate-task.md +91 -0
- package/.kilocode/rules/deploy.md +198 -0
- package/.kilocode/rules/design-interface.md +97 -0
- package/.kilocode/rules/develop-tdd.md +406 -0
- package/.kilocode/rules/diagnose-root.md +24 -0
- package/.kilocode/rules/diagnose-stall.md +54 -0
- package/.kilocode/rules/dispatch-agents.md +118 -0
- package/.kilocode/rules/edit-document.md +23 -0
- package/.kilocode/rules/elaborate-spec.md +101 -0
- package/.kilocode/rules/enforce-first.md +32 -0
- package/.kilocode/rules/evolve-skill.md +55 -0
- package/.kilocode/rules/execute-plan.md +61 -0
- package/.kilocode/rules/extract-design.md +132 -0
- package/.kilocode/rules/find-way.md +191 -0
- package/.kilocode/rules/fix-bug.md +67 -0
- package/.kilocode/rules/gate-trace.md +88 -0
- package/.kilocode/rules/generate-allure-report.md +285 -0
- package/.kilocode/rules/grill-me.md +108 -0
- package/.kilocode/rules/grill-with-docs.md +53 -0
- package/.kilocode/rules/guard-git.md +231 -0
- package/.kilocode/rules/harden-vps.md +288 -0
- package/.kilocode/rules/hook-commits.md +94 -0
- package/.kilocode/rules/inspect-quality.md +106 -0
- package/.kilocode/rules/investigate-bug.md +127 -0
- package/.kilocode/rules/kickoff-branch.md +143 -0
- package/.kilocode/rules/maintain-wiki.md +64 -0
- package/.kilocode/rules/map-codebase.md +71 -0
- package/.kilocode/rules/migrate-spec.md +862 -0
- package/.kilocode/rules/model-domain.md +232 -0
- package/.kilocode/rules/orchestrate-project.md +174 -0
- package/.kilocode/rules/organize-workspace.md +164 -0
- package/.kilocode/rules/plan-refactor.md +87 -0
- package/.kilocode/rules/plan-release.md +145 -0
- package/.kilocode/rules/plan-tests.md +75 -0
- package/.kilocode/rules/plan-work.md +260 -0
- package/.kilocode/rules/publish-package.md +328 -0
- package/.kilocode/rules/quick-fix.md +114 -0
- package/.kilocode/rules/release-branch.md +298 -0
- package/.kilocode/rules/request-review.md +113 -0
- package/.kilocode/rules/research-first.md +87 -0
- package/.kilocode/rules/reset-baseline.md +21 -0
- package/.kilocode/rules/respond-review.md +71 -0
- package/.kilocode/rules/run-benchmark.md +85 -0
- package/.kilocode/rules/run-evals.md +80 -0
- package/.kilocode/rules/run-planning.md +101 -0
- package/.kilocode/rules/scope-work.md +63 -0
- package/.kilocode/rules/search-skills.md +73 -0
- package/.kilocode/rules/security-review.md +384 -0
- package/.kilocode/rules/seed-conventions.md +285 -0
- package/.kilocode/rules/session-state.md +146 -0
- package/.kilocode/rules/setup-environment.md +39 -0
- package/.kilocode/rules/simulate-agents.md +26 -0
- package/.kilocode/rules/slice-tasks.md +68 -0
- package/.kilocode/rules/smoke-test.md +242 -0
- package/.kilocode/rules/spike-prototype.md +95 -0
- package/.kilocode/rules/stocktake-skills.md +72 -0
- package/.kilocode/rules/survey-context.md +135 -0
- package/.kilocode/rules/terse-mode.md +42 -0
- package/.kilocode/rules/trace-requirement.md +69 -0
- package/.kilocode/rules/using-bigpowers.md +111 -0
- package/.kilocode/rules/validate-contracts.md +309 -0
- package/.kilocode/rules/validate-fix.md +106 -0
- package/.kilocode/rules/verify-work.md +191 -0
- package/.kilocode/rules/visual-dashboard.md +50 -0
- package/.kilocode/rules/wire-ci.md +358 -0
- package/.kilocode/rules/wire-observability.md +97 -0
- package/.kilocode/rules/write-document.md +255 -0
- package/.mimocode/skills/audit-code/SKILL.md +4 -7
- package/.mimocode/skills/grill-me/SKILL.md +12 -0
- package/.mimocode/skills/grill-with-docs/SKILL.md +12 -0
- package/.mimocode/skills/request-review/SKILL.md +1 -0
- package/.mimocode/skills/wire-ci/SKILL.md +164 -181
- package/.pi/package.json +1 -1
- package/.pi/prompts/audit-code.md +4 -7
- package/.pi/prompts/grill-me.md +12 -0
- package/.pi/prompts/grill-with-docs.md +12 -0
- package/.pi/prompts/request-review.md +1 -0
- package/.pi/prompts/wire-ci.md +164 -181
- package/.pi/skills/audit-code/SKILL.md +4 -7
- package/.pi/skills/grill-me/SKILL.md +12 -0
- package/.pi/skills/grill-with-docs/SKILL.md +12 -0
- package/.pi/skills/request-review/SKILL.md +1 -0
- package/.pi/skills/wire-ci/SKILL.md +164 -181
- package/.trae/skills/align-grid/SKILL.md +110 -0
- package/.trae/skills/assess-impact/SKILL.md +91 -0
- package/.trae/skills/audit-code/SKILL.md +184 -0
- package/.trae/skills/audit-plan/SKILL.md +89 -0
- package/.trae/skills/build-epic/SKILL.md +105 -0
- package/.trae/skills/change-request/SKILL.md +121 -0
- package/.trae/skills/commit-message/SKILL.md +140 -0
- package/.trae/skills/compose-workflow/SKILL.md +82 -0
- package/.trae/skills/context7-mcp/SKILL.md +55 -0
- package/.trae/skills/craft-skill/SKILL.md +179 -0
- package/.trae/skills/deepen-architecture/SKILL.md +260 -0
- package/.trae/skills/define-language/SKILL.md +80 -0
- package/.trae/skills/define-success/SKILL.md +65 -0
- package/.trae/skills/delegate-task/SKILL.md +91 -0
- package/.trae/skills/deploy/SKILL.md +198 -0
- package/.trae/skills/design-interface/SKILL.md +97 -0
- package/.trae/skills/develop-tdd/SKILL.md +406 -0
- package/.trae/skills/diagnose-root/SKILL.md +24 -0
- package/.trae/skills/diagnose-stall/SKILL.md +54 -0
- package/.trae/skills/dispatch-agents/SKILL.md +118 -0
- package/.trae/skills/edit-document/SKILL.md +23 -0
- package/.trae/skills/elaborate-spec/SKILL.md +101 -0
- package/.trae/skills/enforce-first/SKILL.md +32 -0
- package/.trae/skills/evolve-skill/SKILL.md +55 -0
- package/.trae/skills/execute-plan/SKILL.md +61 -0
- package/.trae/skills/extract-design/SKILL.md +132 -0
- package/.trae/skills/find-way/SKILL.md +191 -0
- package/.trae/skills/fix-bug/SKILL.md +67 -0
- package/.trae/skills/gate-trace/SKILL.md +88 -0
- package/.trae/skills/generate-allure-report/SKILL.md +285 -0
- package/.trae/skills/grill-me/SKILL.md +108 -0
- package/.trae/skills/grill-with-docs/SKILL.md +53 -0
- package/.trae/skills/guard-git/SKILL.md +231 -0
- package/.trae/skills/harden-vps/SKILL.md +288 -0
- package/.trae/skills/hook-commits/SKILL.md +94 -0
- package/.trae/skills/inspect-quality/SKILL.md +106 -0
- package/.trae/skills/investigate-bug/SKILL.md +127 -0
- package/.trae/skills/kickoff-branch/SKILL.md +143 -0
- package/.trae/skills/maintain-wiki/SKILL.md +64 -0
- package/.trae/skills/map-codebase/SKILL.md +71 -0
- package/.trae/skills/migrate-spec/SKILL.md +862 -0
- package/.trae/skills/model-domain/SKILL.md +232 -0
- package/.trae/skills/orchestrate-project/SKILL.md +174 -0
- package/.trae/skills/organize-workspace/SKILL.md +164 -0
- package/.trae/skills/plan-refactor/SKILL.md +87 -0
- package/.trae/skills/plan-release/SKILL.md +145 -0
- package/.trae/skills/plan-tests/SKILL.md +75 -0
- package/.trae/skills/plan-work/SKILL.md +260 -0
- package/.trae/skills/publish-package/SKILL.md +328 -0
- package/.trae/skills/quick-fix/SKILL.md +114 -0
- package/.trae/skills/release-branch/SKILL.md +298 -0
- package/.trae/skills/request-review/SKILL.md +113 -0
- package/.trae/skills/research-first/SKILL.md +87 -0
- package/.trae/skills/reset-baseline/SKILL.md +21 -0
- package/.trae/skills/respond-review/SKILL.md +71 -0
- package/.trae/skills/run-benchmark/SKILL.md +85 -0
- package/.trae/skills/run-evals/SKILL.md +80 -0
- package/.trae/skills/run-planning/SKILL.md +101 -0
- package/.trae/skills/scope-work/SKILL.md +63 -0
- package/.trae/skills/search-skills/SKILL.md +73 -0
- package/.trae/skills/security-review/SKILL.md +384 -0
- package/.trae/skills/seed-conventions/SKILL.md +285 -0
- package/.trae/skills/session-state/SKILL.md +146 -0
- package/.trae/skills/setup-environment/SKILL.md +39 -0
- package/.trae/skills/simulate-agents/SKILL.md +26 -0
- package/.trae/skills/slice-tasks/SKILL.md +68 -0
- package/.trae/skills/smoke-test/SKILL.md +242 -0
- package/.trae/skills/spike-prototype/SKILL.md +95 -0
- package/.trae/skills/stocktake-skills/SKILL.md +72 -0
- package/.trae/skills/survey-context/SKILL.md +135 -0
- package/.trae/skills/terse-mode/SKILL.md +42 -0
- package/.trae/skills/trace-requirement/SKILL.md +69 -0
- package/.trae/skills/using-bigpowers/SKILL.md +111 -0
- package/.trae/skills/validate-contracts/SKILL.md +309 -0
- package/.trae/skills/validate-fix/SKILL.md +106 -0
- package/.trae/skills/verify-work/SKILL.md +191 -0
- package/.trae/skills/visual-dashboard/SKILL.md +50 -0
- package/.trae/skills/wire-ci/SKILL.md +358 -0
- package/.trae/skills/wire-observability/SKILL.md +97 -0
- package/.trae/skills/write-document/SKILL.md +255 -0
- package/.windsurf/rules/align-grid.md +110 -0
- package/.windsurf/rules/assess-impact.md +91 -0
- package/.windsurf/rules/audit-code.md +184 -0
- package/.windsurf/rules/audit-plan.md +89 -0
- package/.windsurf/rules/build-epic.md +105 -0
- package/.windsurf/rules/change-request.md +121 -0
- package/.windsurf/rules/commit-message.md +140 -0
- package/.windsurf/rules/compose-workflow.md +82 -0
- package/.windsurf/rules/context7-mcp.md +55 -0
- package/.windsurf/rules/craft-skill.md +179 -0
- package/.windsurf/rules/deepen-architecture.md +260 -0
- package/.windsurf/rules/define-language.md +80 -0
- package/.windsurf/rules/define-success.md +65 -0
- package/.windsurf/rules/delegate-task.md +91 -0
- package/.windsurf/rules/deploy.md +198 -0
- package/.windsurf/rules/design-interface.md +97 -0
- package/.windsurf/rules/develop-tdd.md +406 -0
- package/.windsurf/rules/diagnose-root.md +24 -0
- package/.windsurf/rules/diagnose-stall.md +54 -0
- package/.windsurf/rules/dispatch-agents.md +118 -0
- package/.windsurf/rules/edit-document.md +23 -0
- package/.windsurf/rules/elaborate-spec.md +101 -0
- package/.windsurf/rules/enforce-first.md +32 -0
- package/.windsurf/rules/evolve-skill.md +55 -0
- package/.windsurf/rules/execute-plan.md +61 -0
- package/.windsurf/rules/extract-design.md +132 -0
- package/.windsurf/rules/find-way.md +191 -0
- package/.windsurf/rules/fix-bug.md +67 -0
- package/.windsurf/rules/gate-trace.md +88 -0
- package/.windsurf/rules/generate-allure-report.md +285 -0
- package/.windsurf/rules/grill-me.md +108 -0
- package/.windsurf/rules/grill-with-docs.md +53 -0
- package/.windsurf/rules/guard-git.md +231 -0
- package/.windsurf/rules/harden-vps.md +288 -0
- package/.windsurf/rules/hook-commits.md +94 -0
- package/.windsurf/rules/inspect-quality.md +106 -0
- package/.windsurf/rules/investigate-bug.md +127 -0
- package/.windsurf/rules/kickoff-branch.md +143 -0
- package/.windsurf/rules/maintain-wiki.md +64 -0
- package/.windsurf/rules/map-codebase.md +71 -0
- package/.windsurf/rules/migrate-spec.md +862 -0
- package/.windsurf/rules/model-domain.md +232 -0
- package/.windsurf/rules/orchestrate-project.md +174 -0
- package/.windsurf/rules/organize-workspace.md +164 -0
- package/.windsurf/rules/plan-refactor.md +87 -0
- package/.windsurf/rules/plan-release.md +145 -0
- package/.windsurf/rules/plan-tests.md +75 -0
- package/.windsurf/rules/plan-work.md +260 -0
- package/.windsurf/rules/publish-package.md +328 -0
- package/.windsurf/rules/quick-fix.md +114 -0
- package/.windsurf/rules/release-branch.md +298 -0
- package/.windsurf/rules/request-review.md +113 -0
- package/.windsurf/rules/research-first.md +87 -0
- package/.windsurf/rules/reset-baseline.md +21 -0
- package/.windsurf/rules/respond-review.md +71 -0
- package/.windsurf/rules/run-benchmark.md +85 -0
- package/.windsurf/rules/run-evals.md +80 -0
- package/.windsurf/rules/run-planning.md +101 -0
- package/.windsurf/rules/scope-work.md +63 -0
- package/.windsurf/rules/search-skills.md +73 -0
- package/.windsurf/rules/security-review.md +384 -0
- package/.windsurf/rules/seed-conventions.md +285 -0
- package/.windsurf/rules/session-state.md +146 -0
- package/.windsurf/rules/setup-environment.md +39 -0
- package/.windsurf/rules/simulate-agents.md +26 -0
- package/.windsurf/rules/slice-tasks.md +68 -0
- package/.windsurf/rules/smoke-test.md +242 -0
- package/.windsurf/rules/spike-prototype.md +95 -0
- package/.windsurf/rules/stocktake-skills.md +72 -0
- package/.windsurf/rules/survey-context.md +135 -0
- package/.windsurf/rules/terse-mode.md +42 -0
- package/.windsurf/rules/trace-requirement.md +69 -0
- package/.windsurf/rules/using-bigpowers.md +111 -0
- package/.windsurf/rules/validate-contracts.md +309 -0
- package/.windsurf/rules/validate-fix.md +106 -0
- package/.windsurf/rules/verify-work.md +191 -0
- package/.windsurf/rules/visual-dashboard.md +50 -0
- package/.windsurf/rules/wire-ci.md +358 -0
- package/.windsurf/rules/wire-observability.md +97 -0
- package/.windsurf/rules/write-document.md +255 -0
- package/.zcode/skills/audit-code/SKILL.md +4 -7
- package/.zcode/skills/grill-me/SKILL.md +12 -0
- package/.zcode/skills/grill-with-docs/SKILL.md +12 -0
- package/.zcode/skills/request-review/SKILL.md +1 -0
- package/.zcode/skills/wire-ci/SKILL.md +164 -181
- package/CHANGELOG.md +37 -0
- package/CONVENTIONS.md +22 -0
- package/README.md +14 -1
- package/SKILL-INDEX.md +84 -76
- package/bin/setup.js +9 -1
- package/instructions +1 -0
- package/package.json +1 -1
- package/scripts/adapters/cline.sh +53 -3
- package/scripts/adapters/codebuddy.sh +58 -0
- package/scripts/adapters/codex.sh +58 -0
- package/scripts/adapters/copilot.sh +58 -0
- package/scripts/adapters/kilocode.sh +44 -3
- package/scripts/adapters/opencode.sh +58 -0
- package/scripts/adapters/qwen.sh +53 -1
- package/scripts/adapters/trae.sh +58 -0
- package/scripts/adapters/windsurf.sh +52 -0
- package/scripts/bp-yaml-set.sh +2 -0
- package/scripts/generate-skill-index.sh +20 -4
- package/scripts/generate-wave-b-hub.py +31 -0
- package/scripts/golden-g04-selftest.sh +19 -0
- package/scripts/hooks/cline/HOOKS.md +16 -0
- package/scripts/hooks/cline/hooks-manifest.json +12 -0
- package/scripts/hooks/cline/plugin/guard-git-plugin.ts +16 -0
- package/scripts/hooks/codebuddy/HOOKS.md +24 -0
- package/scripts/hooks/codebuddy/hooks-manifest.json +20 -0
- package/scripts/hooks/codebuddy/pre-tool-git-guard.sh +22 -0
- package/scripts/hooks/codebuddy/settings.example.json +16 -0
- package/scripts/hooks/codex/HOOKS.md +21 -0
- package/scripts/hooks/codex/hooks-manifest.json +17 -0
- package/scripts/hooks/codex/pre-tool-git-guard.sh +22 -0
- package/scripts/hooks/codex/settings.example.json +16 -0
- package/scripts/hooks/kilocode/HOOKS.md +16 -0
- package/scripts/hooks/kilocode/hooks-manifest.json +12 -0
- package/scripts/hooks/kilocode/plugin/guard-git-plugin.ts +16 -0
- package/scripts/hooks/qwen/HOOKS.md +27 -0
- package/scripts/hooks/qwen/hooks-manifest.json +23 -0
- package/scripts/hooks/qwen/pre-tool-git-guard.sh +22 -0
- package/scripts/hooks/qwen/settings.example.json +16 -0
- package/scripts/hooks/trae/HOOKS.md +17 -0
- package/scripts/hooks/trae/hooks-manifest.json +13 -0
- package/scripts/hooks/trae/pre-tool-git-guard.sh +22 -0
- package/scripts/hooks/trae/settings.example.json +16 -0
- package/scripts/hooks/windsurf/HOOKS.md +23 -0
- package/scripts/hooks/windsurf/hooks-manifest.json +19 -0
- package/scripts/hooks/windsurf/pre-tool-git-guard.sh +22 -0
- package/scripts/hooks/windsurf/settings.example.json +16 -0
- package/scripts/install.sh +33 -373
- 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/context-wire.sh +5 -0
- package/scripts/lib/install-grep.sh +18 -0
- package/scripts/lib/install-helpers.js +139 -2
- package/scripts/lib/install-targets-a.sh +227 -0
- package/scripts/lib/install-targets-b.sh +226 -0
- package/scripts/lib/install-targets-c.sh +128 -0
- package/scripts/lib/install-targets-d.sh +179 -0
- package/scripts/lib/srp-engine.py +2 -70
- package/scripts/lib/srp_engine_links.py +59 -0
- package/scripts/lib/wave_b_hub_codegen_helpers.py +273 -0
- package/scripts/lib/wave_b_hub_codegen_install.py +134 -0
- package/scripts/lib/wave_b_hub_config.py +130 -0
- package/scripts/lib/wave_b_hub_patch.py +213 -0
- package/scripts/record-cycle-time.sh +3 -14
- package/scripts/targets.yaml +75 -2
- package/scripts/test-agy-hub.sh +11 -10
- package/scripts/test-cline-adapter.sh +55 -0
- package/scripts/test-cline-hub.sh +48 -0
- package/scripts/test-codebuddy-adapter.sh +63 -0
- package/scripts/test-codebuddy-hub.sh +49 -0
- package/scripts/test-codex-adapter.sh +63 -0
- package/scripts/test-codex-hub.sh +49 -0
- package/scripts/test-copilot-adapter.sh +47 -0
- package/scripts/test-copilot-hub.sh +43 -0
- package/scripts/test-gemini-hub.sh +10 -9
- package/scripts/test-hermes-hub.sh +7 -6
- package/scripts/test-install-helpers.js +9 -3
- package/scripts/test-kilocode-adapter.sh +55 -0
- package/scripts/test-kilocode-hub.sh +48 -0
- package/scripts/test-mimo-hub.sh +7 -6
- package/scripts/test-opencode-adapter.sh +47 -0
- package/scripts/test-opencode-hub.sh +43 -0
- package/scripts/test-qwen-adapter.sh +63 -0
- package/scripts/test-qwen-hub.sh +49 -0
- package/scripts/test-trae-adapter.sh +63 -0
- package/scripts/test-trae-hub.sh +49 -0
- package/scripts/test-windsurf-adapter.sh +63 -0
- package/scripts/test-windsurf-hub.sh +49 -0
- package/scripts/test-zcode-hub.sh +7 -6
- package/scripts/verify-install.sh +83 -29
- package/skills/audit-code/SKILL.md +4 -7
- package/skills/grill-me/SKILL.md +12 -0
- package/skills/grill-with-docs/SKILL.md +12 -0
- package/skills/request-review/SKILL.md +1 -0
- package/skills/visual-dashboard/scripts/frame-template.html +1 -39
- package/skills/wire-ci/REFERENCE.md +137 -152
- package/skills/wire-ci/SKILL.md +28 -30
- package/skills-lock.json +5 -5
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wire-ci
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: "CI pipeline setup with pre-built templates and local validation. Generates GitHub Actions workflows, validates YAML syntax and permissions, supports dry-run via act/gh. The CI equivalent of wire-observability."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Wire CI
|
|
8
|
+
|
|
9
|
+
> **HARD GATE** — Do not ship a project without CI. Run this skill before first merge to main or when adding CI to an existing project.
|
|
10
|
+
>
|
|
11
|
+
> **HARD GATE** — CI that is untestable locally will break every cycle. Always run `--validate` after generating workflows and `--dry-run` before pushing.
|
|
12
|
+
|
|
13
|
+
Generate, validate, and test CI workflows. Detects your project type, copies org templates from `danielvm-git/.github/workflow-templates/`, and provides local verification to catch auth, permissions, and syntax issues before they reach CI.
|
|
14
|
+
|
|
15
|
+
## What this sets up
|
|
16
|
+
|
|
17
|
+
1. **Test Build Release workflow** — `.github/workflows/test-build-release.yml` with lint → test → build → release (single pipeline, `needs:` chain)
|
|
18
|
+
2. **Deploy workflow** — `.github/workflows/deploy.yml` triggered via `workflow_run` (BigBase/Pages stacks only; CLI/library repos omit this)
|
|
19
|
+
3. **`--validate` mode** — checks YAML syntax, workflow permissions, required secrets, and common pitfalls
|
|
20
|
+
4. **`--dry-run` mode** — runs workflows locally via `act` or `gh workflow run` to prove correctness before push
|
|
21
|
+
5. **Failure pattern documentation** — common CI failure categories and their fixes
|
|
22
|
+
|
|
23
|
+
## Process
|
|
24
|
+
|
|
25
|
+
### 1. Detect project type
|
|
26
|
+
|
|
27
|
+
Read the project root for manifest files to determine which template pair to copy:
|
|
28
|
+
|
|
29
|
+
| Manifest | Type | Template pair (from `.github` repo) |
|
|
30
|
+
|----------|------|-------------------------------------|
|
|
31
|
+
| `Cargo.toml` | Rust | `test-build-release-monorepo.yml` + `deploy-monorepo.yml` (or monorepo subset) |
|
|
32
|
+
| `package.json` | Node | `test-build-release-node.yml` + `deploy-node.yml` |
|
|
33
|
+
| `setup.py` / `pyproject.toml` | Python | `test-build-release-python.yml` + `deploy-python.yml` |
|
|
34
|
+
| `go.mod` | Go | `test-build-release-go.yml` + `deploy-go.yml` |
|
|
35
|
+
| Static site (no server) | Static | `test-build-release-static.yml` + `deploy-static.yml` |
|
|
36
|
+
| `Package.swift` | Swift | `test-build-release-swift.yml` only (no deploy yet) |
|
|
37
|
+
| Multiple detected | Polyglot | `test-build-release-monorepo.yml` + `deploy-monorepo.yml` |
|
|
38
|
+
|
|
39
|
+
**CLI/library repos** (no hosted target): copy only `test-build-release-<stack>.yml` → `test-build-release.yml`. The `release` job is terminal; skip `deploy.yml`. See `docs/how-to/migrate-ci-cd/migration-plan.md` § CLI and library repos.
|
|
40
|
+
|
|
41
|
+
If no manifest is found, prompt the user to specify the type or pass `--type <rust|node|python|go|static|swift>`.
|
|
42
|
+
|
|
43
|
+
### 2. Copy test-build-release template
|
|
44
|
+
|
|
45
|
+
Copy the matching template from `~/Developer/.github/workflow-templates/` to `.github/workflows/test-build-release.yml`. **Do not rename the workflow `name:` field** — deploy listens for `"Test Build Release"`.
|
|
46
|
+
|
|
47
|
+
Edit placeholders: `APP_TYPE`, `SITE_URL`, language versions.
|
|
48
|
+
|
|
49
|
+
See [REFERENCE.md](REFERENCE.md) for stack-specific job shapes.
|
|
50
|
+
|
|
51
|
+
### 3. Copy deploy template (hosted stacks only)
|
|
52
|
+
|
|
53
|
+
If the project deploys to BigBase or GitHub Pages:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
cp ~/Developer/.github/workflow-templates/deploy-${STACK}.yml .github/workflows/deploy.yml
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Configure `BIGBASE_SITE_ID`, `BIGBASE_DEPLOY_TOKEN`, and matching `SITE_URL`. Deploy runs via `workflow_run` after TBR succeeds on `main` with `cancel-in-progress: false`.
|
|
60
|
+
|
|
61
|
+
Skip this step for CLI/library repos.
|
|
62
|
+
|
|
63
|
+
### 4. Validate workflows (`--validate`)
|
|
64
|
+
|
|
65
|
+
Run `wire-ci --validate` to check all generated workflow files:
|
|
66
|
+
|
|
67
|
+
See [REFERENCE.md](REFERENCE.md)
|
|
68
|
+
|
|
69
|
+
**Exit codes:**
|
|
70
|
+
- `0` — all checks pass (no errors)
|
|
71
|
+
- `1` — YAML syntax errors found
|
|
72
|
+
- `2` — validation warnings only (missing permissions, secrets, etc.)
|
|
73
|
+
|
|
74
|
+
### 5. Dry-run workflows (`--dry-run`)
|
|
75
|
+
|
|
76
|
+
Attempt to run the generated workflows locally to catch errors before push:
|
|
77
|
+
|
|
78
|
+
See [REFERENCE.md](REFERENCE.md)
|
|
79
|
+
|
|
80
|
+
> **act** runs workflows in a local Docker environment — the most accurate pre-push validation.
|
|
81
|
+
> **gh workflow run** sends the workflow to GitHub but doesn't execute locally — useful for checking YAML parsing but not for testing the actual steps.
|
|
82
|
+
|
|
83
|
+
### 6. Document common CI failure patterns
|
|
84
|
+
|
|
85
|
+
Add the following to the project's documentation or CLAUDE.md after setup:
|
|
86
|
+
|
|
87
|
+
| Failure | Cause | Fix |
|
|
88
|
+
|---------|-------|-----|
|
|
89
|
+
| `npm publish` fails | `NPM_TOKEN` not set as repo secret | Add `NPM_TOKEN` to GitHub repo secrets |
|
|
90
|
+
| `semantic-release` fails on push | Missing `permissions: contents: write` | Add `permissions: contents: write` to release job |
|
|
91
|
+
| `cargo publish` auth fail | `CARGO_REGISTRY_TOKEN` not set | Add token to `~/.cargo/config.toml` or env |
|
|
92
|
+
| `go vet` fails | Go version mismatch | Match `go.mod` `go` directive with setup-go version |
|
|
93
|
+
| `cargo clippy` errors | New lints in Rust nightly | `cargo clippy --fix` or allow specific lints |
|
|
94
|
+
| `act` not found | Docker not running or act not installed | `brew install act` / `docker ps` to verify Docker |
|
|
95
|
+
| Hardcoded Node version stale | `.nvmrc` exists but workflow uses hardcoded version | Use `node-version-file: .nvmrc` instead |
|
|
96
|
+
| Deploy never runs | TBR workflow renamed | Keep `name: Test Build Release` in test-build-release.yml |
|
|
97
|
+
| Release rebuilds binary | Artifact not downloaded | `release` job must `download-artifact` from `build` |
|
|
98
|
+
|
|
99
|
+
## Verify
|
|
100
|
+
|
|
101
|
+
→ verify: `grep -ci "template\|workflow\|validate\|dry.run" skills/wire-ci/SKILL.md | awk '{if($1>=3) print "OK: semantics"; else print "FAIL: missing"}'`
|
|
102
|
+
→ verify: `grep -q "wire-ci" SKILL-INDEX.md && echo "OK: in SKILL-INDEX" || echo "FAIL: not indexed"`
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
# Wire Ci — Reference
|
|
107
|
+
|
|
108
|
+
## Navigation
|
|
109
|
+
|
|
110
|
+
| Lines | Section |
|
|
111
|
+
|-------|---------|
|
|
112
|
+
| 1 | Title |
|
|
113
|
+
| 3–14 | Navigation |
|
|
114
|
+
| 16–38 | Examples |
|
|
115
|
+
| 40–52 | Options |
|
|
116
|
+
| 54–62 | Integration with build-epic |
|
|
117
|
+
| 64–270 | Reference blocks 1–8 |
|
|
118
|
+
|
|
119
|
+
## Examples
|
|
120
|
+
|
|
121
|
+
### Create CI for a Go project (TBR + optional deploy)
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Copy org templates
|
|
125
|
+
cp ~/Developer/.github/workflow-templates/test-build-release-go.yml .github/workflows/test-build-release.yml
|
|
126
|
+
cp ~/Developer/.github/workflow-templates/deploy-go.yml .github/workflows/deploy.yml
|
|
127
|
+
|
|
128
|
+
wire-ci --validate
|
|
129
|
+
wire-ci --dry-run
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Create CI for a CLI tool (TBR only, no deploy)
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
cp ~/Developer/.github/workflow-templates/test-build-release-go.yml .github/workflows/test-build-release.yml
|
|
136
|
+
# Edit release job to download build artifact — see big-release dogfood
|
|
137
|
+
|
|
138
|
+
wire-ci --validate
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Validate existing workflows (no generation)
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
wire-ci --validate --check-only
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Options
|
|
150
|
+
|
|
151
|
+
| Flag | Description |
|
|
152
|
+
|------|-------------|
|
|
153
|
+
| `--validate` | Check YAML syntax, permissions, secrets, common pitfalls |
|
|
154
|
+
| `--dry-run` | Run workflows locally via `act` or dispatch via `gh` |
|
|
155
|
+
| `--check-only` | Only validate, do not generate new files |
|
|
156
|
+
| `--type <type>` | Force project type (skip auto-detection) |
|
|
157
|
+
| `--force` | Overwrite existing workflow files |
|
|
158
|
+
| `--no-deploy` | Skip deploy.yml even for hosted stacks |
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Integration with build-epic
|
|
163
|
+
|
|
164
|
+
When `wire-ci` is used as part of `build-epic`:
|
|
165
|
+
|
|
166
|
+
1. **During develop-tdd**: If the task modifies `.github/workflows/`, run `wire-ci --validate` as a CI dry-run sub-step
|
|
167
|
+
2. **During release-branch**: After push, run `gh run list --limit 1 --branch main --json status,conclusion` to verify CI passes
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Reference block 1 — test-build-release.yml (Go, excerpt)
|
|
172
|
+
|
|
173
|
+
```yaml
|
|
174
|
+
name: Test Build Release
|
|
175
|
+
on:
|
|
176
|
+
push:
|
|
177
|
+
branches: [main]
|
|
178
|
+
pull_request:
|
|
179
|
+
branches: [main]
|
|
180
|
+
|
|
181
|
+
permissions:
|
|
182
|
+
contents: read
|
|
183
|
+
|
|
184
|
+
concurrency:
|
|
185
|
+
group: pipeline-${{ github.workflow }}-${{ github.ref }}
|
|
186
|
+
cancel-in-progress: true
|
|
187
|
+
|
|
188
|
+
jobs:
|
|
189
|
+
lint:
|
|
190
|
+
runs-on: ubuntu-22.04
|
|
191
|
+
timeout-minutes: 10
|
|
192
|
+
steps:
|
|
193
|
+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
194
|
+
- uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0
|
|
195
|
+
with:
|
|
196
|
+
go-version: '1.22'
|
|
197
|
+
cache: true
|
|
198
|
+
- uses: golangci/golangci-lint-action@55c2c1448f86e01eaae002a5a3a9624417608d84 # v6.5.2
|
|
199
|
+
with:
|
|
200
|
+
version: v1.64.8
|
|
201
|
+
|
|
202
|
+
test:
|
|
203
|
+
needs: [lint]
|
|
204
|
+
runs-on: ubuntu-22.04
|
|
205
|
+
steps:
|
|
206
|
+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
207
|
+
- uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0
|
|
208
|
+
with:
|
|
209
|
+
go-version: '1.22'
|
|
210
|
+
cache: true
|
|
211
|
+
- run: go vet ./...
|
|
212
|
+
- run: go test ./... -count=1
|
|
213
|
+
|
|
214
|
+
build:
|
|
215
|
+
needs: [test]
|
|
216
|
+
runs-on: ubuntu-22.04
|
|
217
|
+
steps:
|
|
218
|
+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
219
|
+
- uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0
|
|
220
|
+
with:
|
|
221
|
+
go-version: '1.22'
|
|
222
|
+
cache: true
|
|
223
|
+
- run: go build ./...
|
|
224
|
+
- run: jq -n --arg sha "${{ github.sha }}" '{sha: $sha}' > deploy-meta.json
|
|
225
|
+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
226
|
+
with:
|
|
227
|
+
name: deploy-meta
|
|
228
|
+
path: deploy-meta.json
|
|
229
|
+
|
|
230
|
+
release:
|
|
231
|
+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
|
|
232
|
+
needs: [build]
|
|
233
|
+
permissions:
|
|
234
|
+
contents: write
|
|
235
|
+
steps:
|
|
236
|
+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
237
|
+
with:
|
|
238
|
+
fetch-depth: 0
|
|
239
|
+
- run: npx semantic-release
|
|
240
|
+
env:
|
|
241
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Reference block 2 — deploy.yml (BigBase, excerpt)
|
|
247
|
+
|
|
248
|
+
```yaml
|
|
249
|
+
name: Deploy
|
|
250
|
+
on:
|
|
251
|
+
workflow_run:
|
|
252
|
+
workflows: ["Test Build Release"]
|
|
253
|
+
types: [completed]
|
|
254
|
+
|
|
255
|
+
permissions:
|
|
256
|
+
contents: read
|
|
257
|
+
actions: read
|
|
258
|
+
|
|
259
|
+
concurrency:
|
|
260
|
+
group: deploy-production
|
|
261
|
+
cancel-in-progress: false
|
|
262
|
+
|
|
263
|
+
env:
|
|
264
|
+
SITE_URL: "https://CHANGE-ME.bigbase.click"
|
|
265
|
+
|
|
266
|
+
jobs:
|
|
267
|
+
deploy:
|
|
268
|
+
if: >
|
|
269
|
+
github.event.workflow_run.conclusion == 'success' &&
|
|
270
|
+
github.event.workflow_run.head_branch == 'main'
|
|
271
|
+
runs-on: ubuntu-22.04
|
|
272
|
+
environment: production
|
|
273
|
+
steps:
|
|
274
|
+
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
275
|
+
with:
|
|
276
|
+
name: deploy-meta
|
|
277
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
278
|
+
run-id: ${{ github.event.workflow_run.id }}
|
|
279
|
+
path: deploy-meta
|
|
280
|
+
- uses: danielvm-git/.github/actions/bigbase-deploy@9c56ac10c629f3baa110ddb19136579e3c90d690 # v1
|
|
281
|
+
with:
|
|
282
|
+
site_id: ${{ secrets.BIGBASE_SITE_ID }}
|
|
283
|
+
app_type: go
|
|
284
|
+
site_url: ${{ env.SITE_URL }}
|
|
285
|
+
deploy_token: ${{ secrets.BIGBASE_DEPLOY_TOKEN }}
|
|
286
|
+
ref: ${{ steps.meta.outputs.ref }}
|
|
287
|
+
skip_health_check: true
|
|
288
|
+
- name: Health check
|
|
289
|
+
run: |
|
|
290
|
+
curl -sf "${{ env.SITE_URL }}" || exit 1
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Reference block 3 — CLI dogfood (big-release pattern)
|
|
296
|
+
|
|
297
|
+
```yaml
|
|
298
|
+
build:
|
|
299
|
+
needs: [test]
|
|
300
|
+
steps:
|
|
301
|
+
- run: make build
|
|
302
|
+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
303
|
+
with:
|
|
304
|
+
name: big-release-${{ github.sha }}
|
|
305
|
+
path: bin/big-release
|
|
306
|
+
|
|
307
|
+
release:
|
|
308
|
+
needs: [build]
|
|
309
|
+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
|
|
310
|
+
steps:
|
|
311
|
+
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
312
|
+
with:
|
|
313
|
+
name: big-release-${{ github.sha }}
|
|
314
|
+
path: bin
|
|
315
|
+
- run: make release # cross-compile assets only; host binary from artifact
|
|
316
|
+
- run: big-release release --verbose
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
No `deploy.yml` — CLI publishes via the release job.
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## Reference block 4 — validate script
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
for f in .github/workflows/*.yml .github/workflows/*.yaml; do
|
|
327
|
+
[ -f "$f" ] || continue
|
|
328
|
+
python3 -c "import yaml; yaml.safe_load(open('$f'))" || echo "FAIL: $f has YAML syntax errors"
|
|
329
|
+
done
|
|
330
|
+
|
|
331
|
+
for f in .github/workflows/test-build-release.yml; do
|
|
332
|
+
if grep -q "permissions:" "$f"; then
|
|
333
|
+
echo "OK: $f has permissions block"
|
|
334
|
+
else
|
|
335
|
+
echo "WARNING: $f missing permissions block"
|
|
336
|
+
fi
|
|
337
|
+
done
|
|
338
|
+
|
|
339
|
+
if grep -q 'workflows: \["Test Build Release"\]' .github/workflows/deploy.yml 2>/dev/null; then
|
|
340
|
+
if ! grep -q 'name: Test Build Release' .github/workflows/test-build-release.yml; then
|
|
341
|
+
echo "WARNING: deploy.yml listens for Test Build Release but TBR name may differ"
|
|
342
|
+
fi
|
|
343
|
+
fi
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## Reference block 5 — dry-run
|
|
349
|
+
|
|
350
|
+
```bash
|
|
351
|
+
if command -v act &>/dev/null; then
|
|
352
|
+
act push --dry-run -W .github/workflows/test-build-release.yml
|
|
353
|
+
elif command -v gh &>/dev/null; then
|
|
354
|
+
gh workflow run test-build-release.yml --ref "$(git branch --show-current)"
|
|
355
|
+
else
|
|
356
|
+
echo "Install act or gh for dry-run"
|
|
357
|
+
fi
|
|
358
|
+
```
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wire-observability
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: "Add structured JSON logging, observability commands, and idempotent setup scripts to a project. Use when a project needs production-readiness instrumentation, when user wants structured logging, or as a production-readiness gate at any phase of development."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Wire Observability
|
|
8
|
+
> **HARD GATE** — **HARD GATE** — Observability is not optional. Before shipping, verify: structured logging is in place, key metrics are instrumented, error cases emit signals. 'We'll add metrics later' becomes 'never.'
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
Add structured logging, observability commands, and idempotent setup scripts. Can be invoked at any phase — recommended at the end of the first working slice, before the first deploy.
|
|
12
|
+
|
|
13
|
+
## What this sets up
|
|
14
|
+
|
|
15
|
+
1. **Structured JSON logging** — machine-readable logs for debugging and observability
|
|
16
|
+
2. **Observability commands** — how to check the system's health documented in CLAUDE.md
|
|
17
|
+
3. **Idempotent setup scripts** — scripts that can be run repeatedly without side effects
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
### 1. Assess current state
|
|
22
|
+
|
|
23
|
+
Check what's already in place:
|
|
24
|
+
- Is there a logging library? (pino, winston, structlog, zap, slog, etc.)
|
|
25
|
+
- Is logging JSON or plain text?
|
|
26
|
+
- Is there a health check endpoint or command?
|
|
27
|
+
- Are there setup scripts? Are they idempotent?
|
|
28
|
+
|
|
29
|
+
### 2. Add structured JSON logging
|
|
30
|
+
|
|
31
|
+
**For user-facing CLI output:** plain text is fine.
|
|
32
|
+
**For everything else:** structured JSON.
|
|
33
|
+
|
|
34
|
+
Structured log entry format:
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"level": "info",
|
|
38
|
+
"timestamp": "2025-01-15T10:23:45.123Z",
|
|
39
|
+
"message": "User created",
|
|
40
|
+
"userId": "usr_abc123",
|
|
41
|
+
"requestId": "req_xyz789"
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Guidelines:
|
|
46
|
+
- Include `level`, `timestamp`, `message` in every entry
|
|
47
|
+
- Add context fields relevant to the operation (userId, requestId, traceId)
|
|
48
|
+
- Log at boundaries: HTTP requests in/out, DB queries, external API calls, background job start/end
|
|
49
|
+
- Log errors with stack traces: `logger.error({ err, context }, "Operation failed")`
|
|
50
|
+
- **Never log secrets, passwords, tokens, or PII**
|
|
51
|
+
|
|
52
|
+
### 3. Document observability commands in CLAUDE.md
|
|
53
|
+
|
|
54
|
+
Add an "Observability" section to the project's CLAUDE.md:
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
## Observability
|
|
58
|
+
|
|
59
|
+
| What | Command |
|
|
60
|
+
|------|---------|
|
|
61
|
+
| View logs | `<log tail command>` |
|
|
62
|
+
| Health check | `<health check command>` |
|
|
63
|
+
| Check DB connection | `<db ping command>` |
|
|
64
|
+
| View metrics | `<metrics command>` |
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### 4. Write idempotent setup scripts
|
|
68
|
+
|
|
69
|
+
An idempotent script can be run multiple times and always produces the same result (no errors on re-run).
|
|
70
|
+
|
|
71
|
+
Pattern: check if the thing already exists before creating it.
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
#!/usr/bin/env bash
|
|
75
|
+
set -euo pipefail
|
|
76
|
+
|
|
77
|
+
# Idempotent: only create if not exists
|
|
78
|
+
if ! psql -c "SELECT 1 FROM pg_database WHERE datname = 'myapp'" | grep -q 1; then
|
|
79
|
+
createdb myapp
|
|
80
|
+
echo "Database created"
|
|
81
|
+
else
|
|
82
|
+
echo "Database already exists, skipping"
|
|
83
|
+
fi
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Place setup scripts in `scripts/setup.sh` (or language-appropriate equivalent). Document the command in CLAUDE.md under Commands.
|
|
87
|
+
|
|
88
|
+
### 5. Verify
|
|
89
|
+
|
|
90
|
+
- [ ] Run the app and confirm JSON logs appear in the correct format
|
|
91
|
+
- [ ] Run `scripts/setup.sh` twice — second run should produce no errors
|
|
92
|
+
- [ ] Health check command returns success
|
|
93
|
+
- [ ] No sensitive data in log output
|
|
94
|
+
|
|
95
|
+
## BCP Plus Integration
|
|
96
|
+
|
|
97
|
+
This skill maps to **BCP Plus dimension 11 (Quality Attributes)** — specifically performance, reliability, and availability instrumentation. Structured logging, health checks, and idempotent setup scripts are observable manifestations of quality-attribute requirements. The NFR Gate rule applies: standard-expectation items (e.g., "the app should log errors") score 0 with a one-line rationale; only above-standard quality requirements (e.g., p99 latency tracking, SLO-based alerting) contribute to the dimension 11 count. See `docs/references/bcp-plus.md` for the full 13-dimension framework and NFR Gate pattern.
|