safeword 0.68.0 → 0.70.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/codex-plugin/.codex-plugin/plugin.json +26 -0
- package/codex-plugin/hooks.json +69 -0
- package/codex-plugin/skills/audit/SKILL.md +992 -0
- package/codex-plugin/skills/bdd/SKILL.md +116 -0
- package/codex-plugin/skills/bdd/references/DISCOVERY.md +231 -0
- package/codex-plugin/skills/bdd/references/DONE.md +15 -0
- package/codex-plugin/skills/bdd/references/PLAN_IMPLEMENTATION.md +57 -0
- package/codex-plugin/skills/bdd/references/SCENARIOS.md +223 -0
- package/codex-plugin/skills/bdd/references/SPLITTING.md +46 -0
- package/codex-plugin/skills/bdd/references/TDD.md +188 -0
- package/codex-plugin/skills/bdd/references/VERIFY.md +26 -0
- package/codex-plugin/skills/brainstorm/SKILL.md +54 -0
- package/codex-plugin/skills/cleanup-zombies/SKILL.md +51 -0
- package/codex-plugin/skills/debug/SKILL.md +246 -0
- package/codex-plugin/skills/elicit/SKILL.md +93 -0
- package/codex-plugin/skills/explain/SKILL.md +98 -0
- package/codex-plugin/skills/figure-it-out/SKILL.md +105 -0
- package/codex-plugin/skills/lint/SKILL.md +56 -0
- package/codex-plugin/skills/quality-review/SKILL.md +143 -0
- package/codex-plugin/skills/refactor/SKILL.md +273 -0
- package/codex-plugin/skills/retro/SKILL.md +108 -0
- package/codex-plugin/skills/retro-filer/SKILL.md +56 -0
- package/codex-plugin/skills/review-spec/SKILL.md +107 -0
- package/codex-plugin/skills/self-review/SKILL.md +75 -0
- package/codex-plugin/skills/tdd-review/SKILL.md +101 -0
- package/codex-plugin/skills/testing/SKILL.md +313 -0
- package/codex-plugin/skills/ticket-system/SKILL.md +167 -0
- package/codex-plugin/skills/verify/SKILL.md +337 -0
- package/dist/architecture-XECMMTJO.js +639 -0
- package/dist/architecture-XECMMTJO.js.map +1 -0
- package/dist/architecture-document-WW2KDC7G.js +24 -0
- package/dist/architecture-monorepo-QQ2OCQMC.js +14 -0
- package/dist/{boundary-SBKG6B55.js → boundary-2VG6JWGW.js} +111 -162
- package/dist/boundary-2VG6JWGW.js.map +1 -0
- package/dist/chunk-2OBVDGB4.js +60 -0
- package/dist/chunk-2OBVDGB4.js.map +1 -0
- package/dist/{chunk-ZAJS56IE.js → chunk-4DGDH7SG.js} +23 -20
- package/dist/chunk-4DGDH7SG.js.map +1 -0
- package/dist/chunk-4XA4ZX5U.js +482 -0
- package/dist/chunk-4XA4ZX5U.js.map +1 -0
- package/dist/chunk-5GPCAAVW.js +18 -0
- package/dist/chunk-5GPCAAVW.js.map +1 -0
- package/dist/chunk-7BRCUXTB.js +18 -0
- package/dist/chunk-7BRCUXTB.js.map +1 -0
- package/dist/chunk-7MZST3KV.js +134 -0
- package/dist/chunk-7MZST3KV.js.map +1 -0
- package/dist/chunk-A62N27JZ.js +1547 -0
- package/dist/chunk-A62N27JZ.js.map +1 -0
- package/dist/chunk-ABCSHC5I.js +177 -0
- package/dist/chunk-ABCSHC5I.js.map +1 -0
- package/dist/{chunk-RZQATAGI.js → chunk-D53VK6D2.js} +268 -124
- package/dist/chunk-D53VK6D2.js.map +1 -0
- package/dist/{chunk-O2ULQPXW.js → chunk-DAFOEHJA.js} +2 -13
- package/dist/{chunk-O2ULQPXW.js.map → chunk-DAFOEHJA.js.map} +1 -1
- package/dist/{architecture-K67T4PSI.js → chunk-FLMWLQHK.js} +279 -542
- package/dist/chunk-FLMWLQHK.js.map +1 -0
- package/dist/chunk-GSQQS53Z.js +102 -0
- package/dist/chunk-GSQQS53Z.js.map +1 -0
- package/dist/chunk-GUIZH3NI.js +128 -0
- package/dist/chunk-GUIZH3NI.js.map +1 -0
- package/dist/{chunk-YJ6BSUPX.js → chunk-HU7KMEIQ.js} +22 -10
- package/dist/chunk-HU7KMEIQ.js.map +1 -0
- package/dist/{chunk-B6KVKEZA.js → chunk-IEBFBHR2.js} +9 -3
- package/dist/{chunk-B6KVKEZA.js.map → chunk-IEBFBHR2.js.map} +1 -1
- package/dist/chunk-IRKICK2K.js +62 -0
- package/dist/chunk-IRKICK2K.js.map +1 -0
- package/dist/chunk-KG7MFUUQ.js +54 -0
- package/dist/chunk-KG7MFUUQ.js.map +1 -0
- package/dist/{chunk-CXGL65PS.js → chunk-KWOEDO5W.js} +3 -1
- package/dist/chunk-KWOEDO5W.js.map +1 -0
- package/dist/chunk-LX6G2SZC.js +223 -0
- package/dist/chunk-LX6G2SZC.js.map +1 -0
- package/dist/chunk-MDXMCB37.js +30 -0
- package/dist/chunk-MDXMCB37.js.map +1 -0
- package/dist/{chunk-IDTVO3BJ.js → chunk-MLEJHDVU.js} +35 -7
- package/dist/chunk-MLEJHDVU.js.map +1 -0
- package/dist/chunk-MMSUTN3X.js +22 -0
- package/dist/chunk-MMSUTN3X.js.map +1 -0
- package/dist/chunk-PGUVVBIN.js +14 -0
- package/dist/chunk-PGUVVBIN.js.map +1 -0
- package/dist/chunk-PKWJP43G.js +546 -0
- package/dist/chunk-PKWJP43G.js.map +1 -0
- package/dist/chunk-PPQOPS6F.js +154 -0
- package/dist/chunk-PPQOPS6F.js.map +1 -0
- package/dist/{chunk-C3YBWOJF.js → chunk-PUNN7MZ6.js} +34 -4
- package/dist/chunk-PUNN7MZ6.js.map +1 -0
- package/dist/{chunk-CYICTM6W.js → chunk-PZHHGMVB.js} +66 -16
- package/dist/chunk-PZHHGMVB.js.map +1 -0
- package/dist/{chunk-CWPBPI6A.js → chunk-QEF2VCPK.js} +521 -2073
- package/dist/chunk-QEF2VCPK.js.map +1 -0
- package/dist/chunk-QQI3PT2V.js +601 -0
- package/dist/chunk-QQI3PT2V.js.map +1 -0
- package/dist/chunk-QWL47LKR.js +21 -0
- package/dist/chunk-QWL47LKR.js.map +1 -0
- package/dist/{chunk-TJWIGDMT.js → chunk-QYO5EMNH.js} +4 -37
- package/dist/chunk-QYO5EMNH.js.map +1 -0
- package/dist/chunk-RT3SK4B5.js +276 -0
- package/dist/chunk-RT3SK4B5.js.map +1 -0
- package/dist/{chunk-PRHPWVWN.js → chunk-TOLJ6T4S.js} +1 -66
- package/dist/chunk-TOLJ6T4S.js.map +1 -0
- package/dist/chunk-UW3BGLRB.js +31 -0
- package/dist/chunk-UW3BGLRB.js.map +1 -0
- package/dist/chunk-VXFLYFZ6.js +134 -0
- package/dist/chunk-VXFLYFZ6.js.map +1 -0
- package/dist/chunk-WHNYCYU6.js +64 -0
- package/dist/chunk-WHNYCYU6.js.map +1 -0
- package/dist/{chunk-HSC7TELY.js → chunk-WPDGHG6D.js} +2 -3
- package/dist/chunk-X2OHUUNE.js +289 -0
- package/dist/chunk-X2OHUUNE.js.map +1 -0
- package/dist/{chunk-4YWR3HPC.js → chunk-XH6FTCM7.js} +2 -2
- package/dist/chunk-XH6FTCM7.js.map +1 -0
- package/dist/{chunk-4DUNUF4B.js → chunk-XIGSW56Z.js} +23 -8
- package/dist/chunk-XIGSW56Z.js.map +1 -0
- package/dist/chunk-YT7OEXAA.js +82 -0
- package/dist/chunk-YT7OEXAA.js.map +1 -0
- package/dist/{chunk-NDBLQB7Z.js → chunk-ZESGPJCY.js} +4 -2
- package/dist/chunk-ZESGPJCY.js.map +1 -0
- package/dist/cli.js +1921 -142
- package/dist/cli.js.map +1 -1
- package/dist/clients-2EXYFMMV.js +12 -0
- package/dist/codex-hook-NSLWXHB4.js +519 -0
- package/dist/codex-hook-NSLWXHB4.js.map +1 -0
- package/dist/{codify-YCMAMAJH.js → codify-ZAEKSB2M.js} +78 -58
- package/dist/codify-ZAEKSB2M.js.map +1 -0
- package/dist/config-X5ZFCS6Q.js +7 -0
- package/dist/configured-paths-CSRPNDRS.js +42 -0
- package/dist/converge-setup-SZ57SRMI.js +1323 -0
- package/dist/converge-setup-SZ57SRMI.js.map +1 -0
- package/dist/corpus-AFBBTLYZ.js +14 -0
- package/dist/corpus-AFBBTLYZ.js.map +1 -0
- package/dist/feature-directories-FUAV6QSQ.js +17 -0
- package/dist/feature-directories-FUAV6QSQ.js.map +1 -0
- package/dist/finalization-VBVZTQ66.js +22 -0
- package/dist/finalization-VBVZTQ66.js.map +1 -0
- package/dist/gh-cli-7XMXAKF7.js +9 -0
- package/dist/gh-cli-7XMXAKF7.js.map +1 -0
- package/dist/github-rest-S2INRKNE.js +220 -0
- package/dist/github-rest-S2INRKNE.js.map +1 -0
- package/dist/index.js +3 -3
- package/dist/{sync-learnings-TA7F3OYP.js → learning-sync-OPK7A6IA.js} +9 -31
- package/dist/learning-sync-OPK7A6IA.js.map +1 -0
- package/dist/lint-gherkin-MK3ZICLF.js +67 -0
- package/dist/lint-gherkin-MK3ZICLF.js.map +1 -0
- package/dist/migrate-codex-plugin-O2BNHWUG.js +884 -0
- package/dist/migrate-codex-plugin-O2BNHWUG.js.map +1 -0
- package/dist/{output-7MPCY3U7.js → output-DCTUSINZ.js} +2 -6
- package/dist/output-DCTUSINZ.js.map +1 -0
- package/dist/plan-ZZ7FK62E.js +54 -0
- package/dist/plan-ZZ7FK62E.js.map +1 -0
- package/dist/presets/typescript/index.d.ts +1 -8
- package/dist/presets/typescript/index.js +3 -3
- package/dist/remove-LIDW4RT5.js +220 -0
- package/dist/remove-LIDW4RT5.js.map +1 -0
- package/dist/retro-A4IU44IX.js +677 -0
- package/dist/retro-A4IU44IX.js.map +1 -0
- package/dist/retro-draft-spool-XAD5F76M.js +24 -0
- package/dist/retro-draft-spool-XAD5F76M.js.map +1 -0
- package/dist/{retro-extract-6IZLY25L.js → retro-extract-E5F5A35R.js} +7 -3
- package/dist/retro-extract-E5F5A35R.js.map +1 -0
- package/dist/run-IUKI4FQ3.js +246 -0
- package/dist/run-IUKI4FQ3.js.map +1 -0
- package/dist/{self-report-MZ2CP23A.js → self-report-EBTIB7G3.js} +11 -5
- package/dist/self-report-EBTIB7G3.js.map +1 -0
- package/dist/status-HO6ANPXM.js +151 -0
- package/dist/status-HO6ANPXM.js.map +1 -0
- package/dist/{sync-config-P3KXXKTR.js → sync-config-N7U2FXWV.js} +5 -6
- package/dist/sync-config-N7U2FXWV.js.map +1 -0
- package/dist/sync-tracker-G37ZNGZU.js +332 -0
- package/dist/sync-tracker-G37ZNGZU.js.map +1 -0
- package/dist/{test-plan-M7HEJIVM.js → test-plan-DTV6QZCC.js} +51 -44
- package/dist/test-plan-DTV6QZCC.js.map +1 -0
- package/dist/ticket-new-GDGYKYDR.js +605 -0
- package/dist/ticket-new-GDGYKYDR.js.map +1 -0
- package/dist/ticket-sync-YCOPASYY.js +23 -0
- package/dist/ticket-sync-YCOPASYY.js.map +1 -0
- package/dist/tracker-map-PAHJEOGE.js +15 -0
- package/dist/tracker-map-PAHJEOGE.js.map +1 -0
- package/dist/tracker-sync-P6DLDWJ2.js +12 -0
- package/dist/tracker-sync-P6DLDWJ2.js.map +1 -0
- package/package.json +39 -30
- package/schemas/cli-result-v1.schema.json +126 -0
- package/templates/AGENTS.md +1 -1
- package/templates/SAFEWORD.md +4 -3
- package/templates/agents/safeword-retro-filer.md +40 -11
- package/templates/commands/cleanup-zombies.md +3 -3
- package/templates/commands/lint.md +2 -2
- package/templates/cucumber/cucumber.mjs +13 -1
- package/templates/cucumber/safeword-lane.feature +1 -1
- package/templates/cursor/rules/bdd-plan-implementation.mdc +6 -0
- package/templates/cursor/rules/safeword-quality-reviewing.mdc +1 -1
- package/templates/cursor/rules/safeword-retro-filer.mdc +6 -0
- package/templates/doc-templates/adr-template.md +36 -0
- package/templates/doc-templates/architecture-template.md +1 -1
- package/templates/doc-templates/impl-plan-template.md +12 -4
- package/templates/doc-templates/ticket-template.md +2 -2
- package/templates/glossary-template.md +1 -1
- package/templates/guides/architecture-guide.md +22 -15
- package/templates/guides/context-files-guide.md +3 -3
- package/templates/guides/llm-evals-guide.md +9 -8
- package/templates/guides/planning-guide.md +7 -6
- package/templates/guides/retro.md +6 -4
- package/templates/guides/self-report-filing.md +37 -7
- package/templates/guides/skill-eval-optimization-guide.md +130 -0
- package/templates/guides/zombie-process-cleanup.md +53 -47
- package/templates/hooks/codex/post-tool-skill-nudge.ts +29 -9
- package/templates/hooks/codex/stop.ts +129 -12
- package/templates/hooks/cursor/gate-adapter.ts +8 -3
- package/templates/hooks/lib/architecture-staged-scope.ts +55 -20
- package/templates/hooks/lib/audit-scope.sh +96 -0
- package/templates/hooks/lib/bash-ledger-writes.ts +7 -2
- package/templates/hooks/lib/branch-staleness.ts +24 -13
- package/templates/hooks/lib/cursor-run-identity.ts +21 -116
- package/templates/hooks/lib/dependency-readiness.ts +18 -195
- package/templates/hooks/lib/host-toolchain.ts +162 -0
- package/templates/hooks/lib/impl-plan.ts +44 -16
- package/templates/hooks/lib/jsonl-spool.ts +22 -3
- package/templates/hooks/lib/jtbd.ts +114 -19
- package/templates/hooks/lib/lint-config.ts +1 -1
- package/templates/hooks/lib/lint.ts +78 -78
- package/templates/hooks/lib/namespace-root.ts +5 -0
- package/templates/hooks/lib/phase-provenance.ts +242 -46
- package/templates/hooks/lib/plan-gate.ts +51 -0
- package/templates/hooks/lib/process-kill-guard.ts +35 -8
- package/templates/hooks/lib/quality-state.ts +59 -3
- package/templates/hooks/lib/quality.ts +25 -6
- package/templates/hooks/lib/re-entry.ts +7 -4
- package/templates/hooks/lib/readiness-pointer.ts +4 -4
- package/templates/hooks/lib/retro-debug.ts +60 -0
- package/templates/hooks/lib/retro-draft-spool.ts +38 -7
- package/templates/hooks/lib/retro-extract.ts +38 -12
- package/templates/hooks/lib/retro-filing-gate.ts +31 -9
- package/templates/hooks/lib/retro-trigger.ts +118 -8
- package/templates/hooks/lib/review-ledger.ts +2 -2
- package/templates/hooks/lib/run-identity.ts +12 -1
- package/templates/hooks/lib/safeword-context.ts +5 -1
- package/templates/hooks/lib/self-report.ts +82 -6
- package/templates/hooks/lib/shell-segments.ts +162 -33
- package/templates/hooks/lib/skill-nudge.ts +1 -1
- package/templates/hooks/lib/test-runner.ts +43 -9
- package/templates/hooks/lib/typecheck-gate.ts +225 -36
- package/templates/hooks/post-tool-quality.ts +13 -2
- package/templates/hooks/post-tool-skill-nudge.ts +6 -1
- package/templates/hooks/pre-tool-architecture-stage.ts +642 -35
- package/templates/hooks/pre-tool-quality.ts +52 -10
- package/templates/hooks/prompt-questions.ts +60 -10
- package/templates/hooks/prompt-retro-nudge.ts +5 -2
- package/templates/hooks/session-auto-upgrade.ts +2 -11
- package/templates/hooks/session-codex-start.ts +6 -19
- package/templates/hooks/session-cursor-auto-upgrade.ts +1 -7
- package/templates/hooks/session-dependency-readiness.ts +0 -6
- package/templates/hooks/session-start-reentry.ts +5 -2
- package/templates/hooks/stop-quality.ts +102 -33
- package/templates/hooks/stop-reentry.ts +7 -3
- package/templates/hooks/stop-retro-filing.ts +5 -2
- package/templates/hooks/stop-retro.ts +1 -1
- package/templates/hooks/stop-self-report.ts +35 -3
- package/templates/hooks/write-review-stamp.ts +6 -3
- package/templates/personas-template.md +14 -10
- package/templates/scripts/cleanup-zombies.sh +277 -67
- package/templates/skills/audit/SKILL.md +673 -174
- package/templates/skills/bdd/DISCOVERY.md +12 -12
- package/templates/skills/bdd/PLAN_IMPLEMENTATION.md +57 -0
- package/templates/skills/bdd/SCENARIOS.md +17 -33
- package/templates/skills/bdd/SKILL.md +31 -28
- package/templates/skills/bdd/SPLITTING.md +12 -12
- package/templates/skills/bdd/TDD.md +40 -1
- package/templates/skills/cleanup-zombies/SKILL.md +3 -3
- package/templates/skills/figure-it-out/SKILL.md +3 -3
- package/templates/skills/lint/SKILL.md +2 -2
- package/templates/skills/quality-review/SKILL.md +62 -73
- package/templates/skills/retro/SKILL.md +4 -4
- package/templates/skills/retro-filer/SKILL.md +53 -0
- package/templates/skills/review-spec/SKILL.md +31 -15
- package/templates/skills/self-review/SKILL.md +1 -1
- package/templates/skills/tdd-review/SKILL.md +9 -1
- package/templates/skills/ticket-system/SKILL.md +7 -5
- package/templates/skills/verify/SKILL.md +14 -14
- package/templates/spec-template.md +6 -6
- package/templates/statusline/reentry.ts +2 -3
- package/dist/architecture-K67T4PSI.js.map +0 -1
- package/dist/boundary-SBKG6B55.js.map +0 -1
- package/dist/check-U65IHMZM.js +0 -131
- package/dist/check-U65IHMZM.js.map +0 -1
- package/dist/chunk-3JDN4VVS.js +0 -149
- package/dist/chunk-3JDN4VVS.js.map +0 -1
- package/dist/chunk-4DUNUF4B.js.map +0 -1
- package/dist/chunk-4YWR3HPC.js.map +0 -1
- package/dist/chunk-C3YBWOJF.js.map +0 -1
- package/dist/chunk-CTHKK2XP.js +0 -298
- package/dist/chunk-CTHKK2XP.js.map +0 -1
- package/dist/chunk-CWPBPI6A.js.map +0 -1
- package/dist/chunk-CXGL65PS.js.map +0 -1
- package/dist/chunk-CYICTM6W.js.map +0 -1
- package/dist/chunk-IDTVO3BJ.js.map +0 -1
- package/dist/chunk-LRYWFRPD.js +0 -46
- package/dist/chunk-LRYWFRPD.js.map +0 -1
- package/dist/chunk-M4FTAAXQ.js +0 -24
- package/dist/chunk-M4FTAAXQ.js.map +0 -1
- package/dist/chunk-NDBLQB7Z.js.map +0 -1
- package/dist/chunk-NHXVS5FL.js +0 -9
- package/dist/chunk-NHXVS5FL.js.map +0 -1
- package/dist/chunk-OY7F4YNQ.js +0 -81
- package/dist/chunk-OY7F4YNQ.js.map +0 -1
- package/dist/chunk-PRHPWVWN.js.map +0 -1
- package/dist/chunk-RZQATAGI.js.map +0 -1
- package/dist/chunk-SEDNCRMM.js +0 -14
- package/dist/chunk-SEDNCRMM.js.map +0 -1
- package/dist/chunk-TJWIGDMT.js.map +0 -1
- package/dist/chunk-UVBYTXHG.js +0 -631
- package/dist/chunk-UVBYTXHG.js.map +0 -1
- package/dist/chunk-YJ6BSUPX.js.map +0 -1
- package/dist/chunk-ZAJS56IE.js.map +0 -1
- package/dist/codify-YCMAMAJH.js.map +0 -1
- package/dist/connect-X7S7BNWV.js +0 -24
- package/dist/connect-X7S7BNWV.js.map +0 -1
- package/dist/diff-2KJUUMQ4.js +0 -206
- package/dist/diff-2KJUUMQ4.js.map +0 -1
- package/dist/github-rest-XHCZPXMW.js +0 -82
- package/dist/github-rest-XHCZPXMW.js.map +0 -1
- package/dist/lint-gherkin-OYFN6ZA3.js +0 -52
- package/dist/lint-gherkin-OYFN6ZA3.js.map +0 -1
- package/dist/offer-KQINNE43.js +0 -15
- package/dist/offer-KQINNE43.js.map +0 -1
- package/dist/reset-IP64AEPP.js +0 -84
- package/dist/reset-IP64AEPP.js.map +0 -1
- package/dist/retro-5NCR3MBL.js +0 -674
- package/dist/retro-5NCR3MBL.js.map +0 -1
- package/dist/run-FLIIOY4G.js +0 -9
- package/dist/self-report-SMDJD2UO.js +0 -40
- package/dist/self-report-SMDJD2UO.js.map +0 -1
- package/dist/setup-BIJAPRGL.js +0 -402
- package/dist/setup-BIJAPRGL.js.map +0 -1
- package/dist/sync-learnings-TA7F3OYP.js.map +0 -1
- package/dist/sync-tickets-7CW3FE3D.js +0 -42
- package/dist/sync-tickets-7CW3FE3D.js.map +0 -1
- package/dist/sync-tracker-5HKABUN4.js +0 -512
- package/dist/sync-tracker-5HKABUN4.js.map +0 -1
- package/dist/test-plan-M7HEJIVM.js.map +0 -1
- package/dist/ticket-new-RNS5RTUK.js +0 -357
- package/dist/ticket-new-RNS5RTUK.js.map +0 -1
- package/dist/upgrade-POITHI4A.js +0 -503
- package/dist/upgrade-POITHI4A.js.map +0 -1
- package/templates/agents/safeword-retro-filer.toml +0 -50
- package/templates/codex/config.toml +0 -74
- /package/dist/{output-7MPCY3U7.js.map → architecture-document-WW2KDC7G.js.map} +0 -0
- /package/dist/{retro-extract-6IZLY25L.js.map → architecture-monorepo-QQ2OCQMC.js.map} +0 -0
- /package/dist/{chunk-HSC7TELY.js.map → chunk-WPDGHG6D.js.map} +0 -0
- /package/dist/{run-FLIIOY4G.js.map → clients-2EXYFMMV.js.map} +0 -0
- /package/dist/{self-report-MZ2CP23A.js.map → config-X5ZFCS6Q.js.map} +0 -0
- /package/dist/{sync-config-P3KXXKTR.js.map → configured-paths-CSRPNDRS.js.map} +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "safeword",
|
|
3
|
+
"version": "0.70.0",
|
|
4
|
+
"description": "Safe Word workflow guidance and gates for Codex.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Arcade AI"
|
|
7
|
+
},
|
|
8
|
+
"homepage": "https://github.com/ArcadeAI/safeword",
|
|
9
|
+
"repository": "https://github.com/ArcadeAI/safeword",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"keywords": ["safeword", "codex", "bdd", "tdd", "agent-workflow"],
|
|
12
|
+
"skills": "./skills/",
|
|
13
|
+
"hooks": "./hooks.json",
|
|
14
|
+
"interface": {
|
|
15
|
+
"displayName": "Safe Word",
|
|
16
|
+
"shortDescription": "BDD/TDD workflow guidance and gates for Codex",
|
|
17
|
+
"longDescription": "Safe Word helps Codex follow behavior-first delivery, preserve user-owned project files, and enforce workflow gates through package-backed commands.",
|
|
18
|
+
"developerName": "Arcade AI",
|
|
19
|
+
"category": "Developer Tools",
|
|
20
|
+
"capabilities": ["Read", "Write"],
|
|
21
|
+
"websiteURL": "https://github.com/ArcadeAI/safeword",
|
|
22
|
+
"defaultPrompt": ["Use Safe Word to define scenarios before implementation."],
|
|
23
|
+
"brandColor": "#10A37F",
|
|
24
|
+
"screenshots": []
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"SessionStart": [
|
|
4
|
+
{
|
|
5
|
+
"matcher": "",
|
|
6
|
+
"hooks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "command",
|
|
9
|
+
"command": "bunx --bun safeword@0.70.0 hook codex session-start --plugin-hook",
|
|
10
|
+
"timeout": 120,
|
|
11
|
+
"statusMessage": "Loading Safe Word standing instructions"
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"PreToolUse": [
|
|
17
|
+
{
|
|
18
|
+
"matcher": "^(apply_patch|Bash|Edit|Write)$",
|
|
19
|
+
"hooks": [
|
|
20
|
+
{
|
|
21
|
+
"type": "command",
|
|
22
|
+
"command": "bunx --bun safeword@0.70.0 hook codex pre-tool-use --plugin-hook",
|
|
23
|
+
"timeout": 30,
|
|
24
|
+
"statusMessage": "Checking Safe Word edit gates"
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"PostToolUse": [
|
|
30
|
+
{
|
|
31
|
+
"matcher": "^(apply_patch|Bash|Edit|Write)$",
|
|
32
|
+
"hooks": [
|
|
33
|
+
{
|
|
34
|
+
"type": "command",
|
|
35
|
+
"command": "bunx --bun safeword@0.70.0 hook codex post-tool-use --plugin-hook",
|
|
36
|
+
"timeout": 30,
|
|
37
|
+
"statusMessage": "Surfacing Safe Word post-tool context"
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"UserPromptSubmit": [
|
|
43
|
+
{
|
|
44
|
+
"matcher": "",
|
|
45
|
+
"hooks": [
|
|
46
|
+
{
|
|
47
|
+
"type": "command",
|
|
48
|
+
"command": "bunx --bun safeword@0.70.0 hook codex user-prompt-submit --plugin-hook",
|
|
49
|
+
"timeout": 30,
|
|
50
|
+
"statusMessage": "Checking queued Safe Word prompt context"
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"Stop": [
|
|
56
|
+
{
|
|
57
|
+
"matcher": "",
|
|
58
|
+
"hooks": [
|
|
59
|
+
{
|
|
60
|
+
"type": "command",
|
|
61
|
+
"command": "bunx --bun safeword@0.70.0 hook codex stop --plugin-hook",
|
|
62
|
+
"timeout": 600,
|
|
63
|
+
"statusMessage": "Checking Safe Word stop continuation"
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
}
|