safeword 0.68.0 → 0.69.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.
Files changed (141) hide show
  1. package/codex-plugin/.codex-plugin/plugin.json +26 -0
  2. package/codex-plugin/hooks.json +69 -0
  3. package/codex-plugin/skills/audit/SKILL.md +608 -0
  4. package/codex-plugin/skills/bdd/SKILL.md +116 -0
  5. package/codex-plugin/skills/bdd/references/DISCOVERY.md +231 -0
  6. package/codex-plugin/skills/bdd/references/DONE.md +15 -0
  7. package/codex-plugin/skills/bdd/references/PLAN_IMPLEMENTATION.md +57 -0
  8. package/codex-plugin/skills/bdd/references/SCENARIOS.md +223 -0
  9. package/codex-plugin/skills/bdd/references/SPLITTING.md +46 -0
  10. package/codex-plugin/skills/bdd/references/TDD.md +162 -0
  11. package/codex-plugin/skills/bdd/references/VERIFY.md +26 -0
  12. package/codex-plugin/skills/brainstorm/SKILL.md +54 -0
  13. package/codex-plugin/skills/cleanup-zombies/SKILL.md +51 -0
  14. package/codex-plugin/skills/debug/SKILL.md +246 -0
  15. package/codex-plugin/skills/elicit/SKILL.md +93 -0
  16. package/codex-plugin/skills/explain/SKILL.md +98 -0
  17. package/codex-plugin/skills/figure-it-out/SKILL.md +104 -0
  18. package/codex-plugin/skills/lint/SKILL.md +56 -0
  19. package/codex-plugin/skills/quality-review/SKILL.md +149 -0
  20. package/codex-plugin/skills/refactor/SKILL.md +273 -0
  21. package/codex-plugin/skills/retro/SKILL.md +108 -0
  22. package/codex-plugin/skills/review-spec/SKILL.md +91 -0
  23. package/codex-plugin/skills/self-review/SKILL.md +75 -0
  24. package/codex-plugin/skills/tdd-review/SKILL.md +93 -0
  25. package/codex-plugin/skills/testing/SKILL.md +313 -0
  26. package/codex-plugin/skills/ticket-system/SKILL.md +165 -0
  27. package/codex-plugin/skills/verify/SKILL.md +337 -0
  28. package/dist/{boundary-SBKG6B55.js → boundary-XZGTCBC2.js} +62 -147
  29. package/dist/boundary-XZGTCBC2.js.map +1 -0
  30. package/dist/{check-U65IHMZM.js → check-C3BVV6G6.js} +11 -10
  31. package/dist/{check-U65IHMZM.js.map → check-C3BVV6G6.js.map} +1 -1
  32. package/dist/{chunk-CWPBPI6A.js → chunk-75YGYNJU.js} +322 -1875
  33. package/dist/chunk-75YGYNJU.js.map +1 -0
  34. package/dist/{chunk-UVBYTXHG.js → chunk-BHJVCZ3X.js} +7 -83
  35. package/dist/chunk-BHJVCZ3X.js.map +1 -0
  36. package/dist/chunk-BZWUUIJU.js +284 -0
  37. package/dist/chunk-BZWUUIJU.js.map +1 -0
  38. package/dist/{chunk-4DUNUF4B.js → chunk-DMIHPYJT.js} +21 -7
  39. package/dist/chunk-DMIHPYJT.js.map +1 -0
  40. package/dist/{chunk-CTHKK2XP.js → chunk-ENP6AYVR.js} +308 -21
  41. package/dist/chunk-ENP6AYVR.js.map +1 -0
  42. package/dist/{chunk-PRHPWVWN.js → chunk-FEOQZQ7Y.js} +1 -1
  43. package/dist/{chunk-PRHPWVWN.js.map → chunk-FEOQZQ7Y.js.map} +1 -1
  44. package/dist/{chunk-IDTVO3BJ.js → chunk-IQ442O5C.js} +4 -3
  45. package/dist/chunk-IQ442O5C.js.map +1 -0
  46. package/dist/chunk-LTFMPVH6.js +1435 -0
  47. package/dist/chunk-LTFMPVH6.js.map +1 -0
  48. package/dist/{chunk-RZQATAGI.js → chunk-YABTBVEX.js} +70 -31
  49. package/dist/chunk-YABTBVEX.js.map +1 -0
  50. package/dist/{chunk-4YWR3HPC.js → chunk-ZESYYWRZ.js} +2 -2
  51. package/dist/cli.js +45 -14
  52. package/dist/cli.js.map +1 -1
  53. package/dist/codex-hook-ZKCBDGYZ.js +474 -0
  54. package/dist/codex-hook-ZKCBDGYZ.js.map +1 -0
  55. package/dist/{codify-YCMAMAJH.js → codify-HPL5EWNE.js} +3 -3
  56. package/dist/{diff-2KJUUMQ4.js → diff-SU6ONEH2.js} +5 -3
  57. package/dist/{diff-2KJUUMQ4.js.map → diff-SU6ONEH2.js.map} +1 -1
  58. package/dist/github-rest-3O3C46JA.js +163 -0
  59. package/dist/github-rest-3O3C46JA.js.map +1 -0
  60. package/dist/{lint-gherkin-OYFN6ZA3.js → lint-gherkin-V4FPDDYX.js} +2 -2
  61. package/dist/migrate-codex-plugin-3B6UB72X.js +380 -0
  62. package/dist/migrate-codex-plugin-3B6UB72X.js.map +1 -0
  63. package/dist/{reset-IP64AEPP.js → reset-67JDOVRR.js} +5 -3
  64. package/dist/{reset-IP64AEPP.js.map → reset-67JDOVRR.js.map} +1 -1
  65. package/dist/{retro-5NCR3MBL.js → retro-FH4JQHWB.js} +350 -308
  66. package/dist/retro-FH4JQHWB.js.map +1 -0
  67. package/dist/{retro-extract-6IZLY25L.js → retro-extract-5D3OINYS.js} +6 -2
  68. package/dist/{self-report-SMDJD2UO.js → self-report-7ML44SQS.js} +2 -2
  69. package/dist/{self-report-MZ2CP23A.js → self-report-IRKZ2NMZ.js} +2 -2
  70. package/dist/{setup-BIJAPRGL.js → setup-CBF7JMIU.js} +18 -19
  71. package/dist/setup-CBF7JMIU.js.map +1 -0
  72. package/dist/{upgrade-POITHI4A.js → upgrade-LYKVR7TO.js} +20 -24
  73. package/dist/upgrade-LYKVR7TO.js.map +1 -0
  74. package/package.json +19 -15
  75. package/templates/SAFEWORD.md +2 -1
  76. package/templates/cucumber/cucumber.mjs +13 -1
  77. package/templates/cursor/rules/bdd-plan-implementation.mdc +6 -0
  78. package/templates/doc-templates/adr-template.md +36 -0
  79. package/templates/doc-templates/impl-plan-template.md +12 -4
  80. package/templates/doc-templates/ticket-template.md +1 -1
  81. package/templates/guides/planning-guide.md +7 -6
  82. package/templates/guides/retro.md +4 -2
  83. package/templates/hooks/codex/stop.ts +48 -2
  84. package/templates/hooks/cursor/gate-adapter.ts +8 -3
  85. package/templates/hooks/lib/bash-ledger-writes.ts +7 -2
  86. package/templates/hooks/lib/branch-staleness.ts +24 -13
  87. package/templates/hooks/lib/cursor-run-identity.ts +13 -114
  88. package/templates/hooks/lib/dependency-readiness.ts +18 -195
  89. package/templates/hooks/lib/impl-plan.ts +44 -16
  90. package/templates/hooks/lib/jtbd.ts +114 -19
  91. package/templates/hooks/lib/lint.ts +10 -3
  92. package/templates/hooks/lib/phase-provenance.ts +197 -46
  93. package/templates/hooks/lib/plan-gate.ts +51 -0
  94. package/templates/hooks/lib/process-kill-guard.ts +35 -8
  95. package/templates/hooks/lib/quality.ts +6 -2
  96. package/templates/hooks/lib/retro-debug.ts +60 -0
  97. package/templates/hooks/lib/retro-draft-spool.ts +4 -2
  98. package/templates/hooks/lib/retro-extract.ts +35 -10
  99. package/templates/hooks/lib/retro-trigger.ts +116 -6
  100. package/templates/hooks/lib/review-ledger.ts +2 -2
  101. package/templates/hooks/lib/safeword-context.ts +5 -1
  102. package/templates/hooks/lib/self-report.ts +7 -3
  103. package/templates/hooks/lib/shell-segments.ts +140 -31
  104. package/templates/hooks/pre-tool-quality.ts +48 -7
  105. package/templates/hooks/prompt-questions.ts +6 -2
  106. package/templates/hooks/stop-quality.ts +3 -3
  107. package/templates/personas-template.md +14 -10
  108. package/templates/scripts/cleanup-zombies.sh +13 -2
  109. package/templates/skills/audit/SKILL.md +115 -0
  110. package/templates/skills/bdd/DISCOVERY.md +11 -11
  111. package/templates/skills/bdd/PLAN_IMPLEMENTATION.md +57 -0
  112. package/templates/skills/bdd/SCENARIOS.md +12 -28
  113. package/templates/skills/bdd/SKILL.md +31 -28
  114. package/templates/skills/bdd/SPLITTING.md +12 -12
  115. package/templates/skills/bdd/TDD.md +14 -1
  116. package/templates/skills/quality-review/SKILL.md +9 -8
  117. package/templates/skills/review-spec/SKILL.md +1 -1
  118. package/templates/skills/self-review/SKILL.md +1 -1
  119. package/templates/skills/tdd-review/SKILL.md +1 -1
  120. package/templates/skills/ticket-system/SKILL.md +2 -2
  121. package/templates/spec-template.md +6 -6
  122. package/dist/boundary-SBKG6B55.js.map +0 -1
  123. package/dist/chunk-4DUNUF4B.js.map +0 -1
  124. package/dist/chunk-CTHKK2XP.js.map +0 -1
  125. package/dist/chunk-CWPBPI6A.js.map +0 -1
  126. package/dist/chunk-IDTVO3BJ.js.map +0 -1
  127. package/dist/chunk-RZQATAGI.js.map +0 -1
  128. package/dist/chunk-UVBYTXHG.js.map +0 -1
  129. package/dist/github-rest-XHCZPXMW.js +0 -82
  130. package/dist/github-rest-XHCZPXMW.js.map +0 -1
  131. package/dist/retro-5NCR3MBL.js.map +0 -1
  132. package/dist/setup-BIJAPRGL.js.map +0 -1
  133. package/dist/upgrade-POITHI4A.js.map +0 -1
  134. package/templates/agents/safeword-retro-filer.toml +0 -50
  135. package/templates/codex/config.toml +0 -74
  136. /package/dist/{chunk-4YWR3HPC.js.map → chunk-ZESYYWRZ.js.map} +0 -0
  137. /package/dist/{codify-YCMAMAJH.js.map → codify-HPL5EWNE.js.map} +0 -0
  138. /package/dist/{lint-gherkin-OYFN6ZA3.js.map → lint-gherkin-V4FPDDYX.js.map} +0 -0
  139. /package/dist/{retro-extract-6IZLY25L.js.map → retro-extract-5D3OINYS.js.map} +0 -0
  140. /package/dist/{self-report-SMDJD2UO.js.map → self-report-7ML44SQS.js.map} +0 -0
  141. /package/dist/{self-report-MZ2CP23A.js.map → self-report-IRKZ2NMZ.js.map} +0 -0
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "safeword",
3
+ "version": "0.69.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.69.0 hook codex session-start",
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.69.0 hook codex pre-tool-use",
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.69.0 hook codex post-tool-use",
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.69.0 hook codex user-prompt-submit",
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.69.0 hook codex stop",
62
+ "timeout": 600,
63
+ "statusMessage": "Checking Safe Word stop continuation"
64
+ }
65
+ ]
66
+ }
67
+ ]
68
+ }
69
+ }