safeword 0.2.4 → 0.2.6

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 (235) hide show
  1. package/dist/check-3NGQ4NR5.js +129 -0
  2. package/dist/check-3NGQ4NR5.js.map +1 -0
  3. package/dist/chunk-2XWIUEQK.js +190 -0
  4. package/dist/chunk-2XWIUEQK.js.map +1 -0
  5. package/dist/chunk-GZRQL3SX.js +146 -0
  6. package/dist/chunk-GZRQL3SX.js.map +1 -0
  7. package/dist/chunk-ORQHKDT2.js +10 -0
  8. package/dist/chunk-ORQHKDT2.js.map +1 -0
  9. package/dist/chunk-W66Z3C5H.js +21 -0
  10. package/dist/chunk-W66Z3C5H.js.map +1 -0
  11. package/dist/cli.d.ts +1 -0
  12. package/dist/cli.js +34 -0
  13. package/dist/cli.js.map +1 -0
  14. package/dist/diff-Y6QTAW4O.js +166 -0
  15. package/dist/diff-Y6QTAW4O.js.map +1 -0
  16. package/dist/index.d.ts +11 -0
  17. package/dist/index.js +7 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/reset-3ACTIYYE.js +143 -0
  20. package/dist/reset-3ACTIYYE.js.map +1 -0
  21. package/dist/setup-AIL5RL45.js +276 -0
  22. package/dist/setup-AIL5RL45.js.map +1 -0
  23. package/dist/upgrade-6AR3DHUV.js +134 -0
  24. package/dist/upgrade-6AR3DHUV.js.map +1 -0
  25. package/package.json +44 -19
  26. package/{.safeword → templates}/hooks/agents-md-check.sh +0 -0
  27. package/{.safeword → templates}/hooks/post-tool.sh +0 -0
  28. package/{.safeword → templates}/hooks/pre-commit.sh +0 -0
  29. package/.claude/commands/arch-review.md +0 -32
  30. package/.claude/commands/lint.md +0 -6
  31. package/.claude/commands/quality-review.md +0 -13
  32. package/.claude/commands/setup-linting.md +0 -6
  33. package/.claude/hooks/auto-lint.sh +0 -6
  34. package/.claude/hooks/auto-quality-review.sh +0 -170
  35. package/.claude/hooks/check-linting-sync.sh +0 -17
  36. package/.claude/hooks/inject-timestamp.sh +0 -6
  37. package/.claude/hooks/question-protocol.sh +0 -12
  38. package/.claude/hooks/run-linters.sh +0 -8
  39. package/.claude/hooks/run-quality-review.sh +0 -76
  40. package/.claude/hooks/version-check.sh +0 -10
  41. package/.claude/mcp/README.md +0 -96
  42. package/.claude/mcp/arcade.sample.json +0 -9
  43. package/.claude/mcp/context7.sample.json +0 -7
  44. package/.claude/mcp/playwright.sample.json +0 -7
  45. package/.claude/settings.json +0 -62
  46. package/.claude/skills/quality-reviewer/SKILL.md +0 -190
  47. package/.claude/skills/safeword-quality-reviewer/SKILL.md +0 -13
  48. package/.env.arcade.example +0 -4
  49. package/.env.example +0 -11
  50. package/.gitmodules +0 -4
  51. package/.safeword/SAFEWORD.md +0 -33
  52. package/.safeword/eslint/eslint-base.mjs +0 -101
  53. package/.safeword/guides/architecture-guide.md +0 -404
  54. package/.safeword/guides/code-philosophy.md +0 -174
  55. package/.safeword/guides/context-files-guide.md +0 -405
  56. package/.safeword/guides/data-architecture-guide.md +0 -183
  57. package/.safeword/guides/design-doc-guide.md +0 -165
  58. package/.safeword/guides/learning-extraction.md +0 -515
  59. package/.safeword/guides/llm-instruction-design.md +0 -239
  60. package/.safeword/guides/llm-prompting.md +0 -95
  61. package/.safeword/guides/tdd-best-practices.md +0 -570
  62. package/.safeword/guides/test-definitions-guide.md +0 -243
  63. package/.safeword/guides/testing-methodology.md +0 -573
  64. package/.safeword/guides/user-story-guide.md +0 -237
  65. package/.safeword/guides/zombie-process-cleanup.md +0 -214
  66. package/.safeword/planning/002-user-story-quality-evaluation.md +0 -1840
  67. package/.safeword/planning/003-langsmith-eval-setup-prompt.md +0 -363
  68. package/.safeword/planning/004-llm-eval-test-cases.md +0 -3226
  69. package/.safeword/planning/005-architecture-enforcement-system.md +0 -169
  70. package/.safeword/planning/006-reactive-fix-prevention-research.md +0 -135
  71. package/.safeword/planning/011-cli-ux-vision.md +0 -330
  72. package/.safeword/planning/012-project-structure-cleanup.md +0 -154
  73. package/.safeword/planning/README.md +0 -39
  74. package/.safeword/planning/automation-plan-v2.md +0 -1225
  75. package/.safeword/planning/automation-plan-v3.md +0 -1291
  76. package/.safeword/planning/automation-plan.md +0 -3058
  77. package/.safeword/planning/design/005-cli-implementation.md +0 -343
  78. package/.safeword/planning/design/013-cli-self-contained-templates.md +0 -596
  79. package/.safeword/planning/design/013a-eslint-plugin-suite.md +0 -256
  80. package/.safeword/planning/design/013b-implementation-snippets.md +0 -385
  81. package/.safeword/planning/design/013c-config-isolation-strategy.md +0 -242
  82. package/.safeword/planning/design/code-philosophy-improvements.md +0 -60
  83. package/.safeword/planning/mcp-analysis.md +0 -545
  84. package/.safeword/planning/phase2-subagents-vs-skills-analysis.md +0 -451
  85. package/.safeword/planning/settings-improvements.md +0 -970
  86. package/.safeword/planning/test-definitions/005-cli-implementation.md +0 -1301
  87. package/.safeword/planning/test-definitions/cli-self-contained-templates.md +0 -205
  88. package/.safeword/planning/user-stories/001-guides-review-user-stories.md +0 -1381
  89. package/.safeword/planning/user-stories/003-reactive-fix-prevention.md +0 -132
  90. package/.safeword/planning/user-stories/004-technical-constraints.md +0 -86
  91. package/.safeword/planning/user-stories/005-cli-implementation.md +0 -311
  92. package/.safeword/planning/user-stories/cli-self-contained-templates.md +0 -172
  93. package/.safeword/planning/versioned-distribution.md +0 -740
  94. package/.safeword/prompts/arch-review.md +0 -43
  95. package/.safeword/prompts/quality-review.md +0 -11
  96. package/.safeword/scripts/arch-review.sh +0 -235
  97. package/.safeword/scripts/check-linting-sync.sh +0 -58
  98. package/.safeword/scripts/setup-linting.sh +0 -559
  99. package/.safeword/templates/architecture-template.md +0 -136
  100. package/.safeword/templates/ci/architecture-check.yml +0 -79
  101. package/.safeword/templates/design-doc-template.md +0 -127
  102. package/.safeword/templates/test-definitions-feature.md +0 -100
  103. package/.safeword/templates/ticket-template.md +0 -74
  104. package/.safeword/templates/user-stories-template.md +0 -82
  105. package/.safeword/tickets/001-guides-review-user-stories.md +0 -83
  106. package/.safeword/tickets/002-architecture-enforcement.md +0 -211
  107. package/.safeword/tickets/003-reactive-fix-prevention.md +0 -57
  108. package/.safeword/tickets/004-technical-constraints-in-user-stories.md +0 -39
  109. package/.safeword/tickets/005-cli-implementation.md +0 -248
  110. package/.safeword/tickets/006-flesh-out-skills.md +0 -43
  111. package/.safeword/tickets/007-flesh-out-questioning.md +0 -44
  112. package/.safeword/tickets/008-upgrade-questioning.md +0 -58
  113. package/.safeword/tickets/009-naming-conventions.md +0 -41
  114. package/.safeword/tickets/010-safeword-md-cleanup.md +0 -34
  115. package/.safeword/tickets/011-cursor-setup.md +0 -86
  116. package/.safeword/tickets/README.md +0 -73
  117. package/.safeword/version +0 -1
  118. package/AGENTS.md +0 -59
  119. package/CLAUDE.md +0 -12
  120. package/README.md +0 -347
  121. package/docs/001-cli-implementation-plan.md +0 -856
  122. package/docs/elite-dx-implementation-plan.md +0 -1034
  123. package/framework/README.md +0 -131
  124. package/framework/mcp/README.md +0 -96
  125. package/framework/mcp/arcade.sample.json +0 -8
  126. package/framework/mcp/context7.sample.json +0 -6
  127. package/framework/mcp/playwright.sample.json +0 -6
  128. package/framework/scripts/arch-review.sh +0 -235
  129. package/framework/scripts/check-linting-sync.sh +0 -58
  130. package/framework/scripts/load-env.sh +0 -49
  131. package/framework/scripts/setup-claude.sh +0 -223
  132. package/framework/scripts/setup-linting.sh +0 -559
  133. package/framework/scripts/setup-quality.sh +0 -477
  134. package/framework/scripts/setup-safeword.sh +0 -550
  135. package/framework/templates/ci/architecture-check.yml +0 -78
  136. package/learnings/ai-sdk-v5-breaking-changes.md +0 -178
  137. package/learnings/e2e-test-zombie-processes.md +0 -231
  138. package/learnings/milkdown-crepe-editor-property.md +0 -96
  139. package/learnings/prosemirror-fragment-traversal.md +0 -119
  140. package/packages/cli/AGENTS.md +0 -1
  141. package/packages/cli/ARCHITECTURE.md +0 -279
  142. package/packages/cli/package.json +0 -51
  143. package/packages/cli/src/cli.ts +0 -63
  144. package/packages/cli/src/commands/check.ts +0 -166
  145. package/packages/cli/src/commands/diff.ts +0 -209
  146. package/packages/cli/src/commands/reset.ts +0 -190
  147. package/packages/cli/src/commands/setup.ts +0 -325
  148. package/packages/cli/src/commands/upgrade.ts +0 -163
  149. package/packages/cli/src/index.ts +0 -3
  150. package/packages/cli/src/templates/config.ts +0 -58
  151. package/packages/cli/src/templates/content.ts +0 -18
  152. package/packages/cli/src/templates/index.ts +0 -12
  153. package/packages/cli/src/utils/agents-md.ts +0 -66
  154. package/packages/cli/src/utils/fs.ts +0 -179
  155. package/packages/cli/src/utils/git.ts +0 -124
  156. package/packages/cli/src/utils/hooks.ts +0 -29
  157. package/packages/cli/src/utils/output.ts +0 -60
  158. package/packages/cli/src/utils/project-detector.test.ts +0 -185
  159. package/packages/cli/src/utils/project-detector.ts +0 -44
  160. package/packages/cli/src/utils/version.ts +0 -28
  161. package/packages/cli/src/version.ts +0 -6
  162. package/packages/cli/templates/SAFEWORD.md +0 -776
  163. package/packages/cli/templates/doc-templates/architecture-template.md +0 -136
  164. package/packages/cli/templates/doc-templates/design-doc-template.md +0 -134
  165. package/packages/cli/templates/doc-templates/test-definitions-feature.md +0 -131
  166. package/packages/cli/templates/doc-templates/ticket-template.md +0 -82
  167. package/packages/cli/templates/doc-templates/user-stories-template.md +0 -92
  168. package/packages/cli/templates/guides/architecture-guide.md +0 -423
  169. package/packages/cli/templates/guides/code-philosophy.md +0 -195
  170. package/packages/cli/templates/guides/context-files-guide.md +0 -457
  171. package/packages/cli/templates/guides/data-architecture-guide.md +0 -200
  172. package/packages/cli/templates/guides/design-doc-guide.md +0 -171
  173. package/packages/cli/templates/guides/learning-extraction.md +0 -552
  174. package/packages/cli/templates/guides/llm-instruction-design.md +0 -248
  175. package/packages/cli/templates/guides/llm-prompting.md +0 -102
  176. package/packages/cli/templates/guides/tdd-best-practices.md +0 -615
  177. package/packages/cli/templates/guides/test-definitions-guide.md +0 -334
  178. package/packages/cli/templates/guides/testing-methodology.md +0 -618
  179. package/packages/cli/templates/guides/user-story-guide.md +0 -256
  180. package/packages/cli/templates/guides/zombie-process-cleanup.md +0 -219
  181. package/packages/cli/templates/hooks/agents-md-check.sh +0 -27
  182. package/packages/cli/templates/hooks/post-tool.sh +0 -4
  183. package/packages/cli/templates/hooks/pre-commit.sh +0 -10
  184. package/packages/cli/templates/prompts/arch-review.md +0 -43
  185. package/packages/cli/templates/prompts/quality-review.md +0 -10
  186. package/packages/cli/templates/skills/safeword-quality-reviewer/SKILL.md +0 -207
  187. package/packages/cli/tests/commands/check.test.ts +0 -129
  188. package/packages/cli/tests/commands/cli.test.ts +0 -89
  189. package/packages/cli/tests/commands/diff.test.ts +0 -115
  190. package/packages/cli/tests/commands/reset.test.ts +0 -310
  191. package/packages/cli/tests/commands/self-healing.test.ts +0 -170
  192. package/packages/cli/tests/commands/setup-blocking.test.ts +0 -71
  193. package/packages/cli/tests/commands/setup-core.test.ts +0 -135
  194. package/packages/cli/tests/commands/setup-git.test.ts +0 -139
  195. package/packages/cli/tests/commands/setup-hooks.test.ts +0 -334
  196. package/packages/cli/tests/commands/setup-linting.test.ts +0 -189
  197. package/packages/cli/tests/commands/setup-noninteractive.test.ts +0 -80
  198. package/packages/cli/tests/commands/setup-templates.test.ts +0 -181
  199. package/packages/cli/tests/commands/upgrade.test.ts +0 -215
  200. package/packages/cli/tests/helpers.ts +0 -243
  201. package/packages/cli/tests/npm-package.test.ts +0 -83
  202. package/packages/cli/tests/technical-constraints.test.ts +0 -96
  203. package/packages/cli/tsconfig.json +0 -25
  204. package/packages/cli/tsup.config.ts +0 -11
  205. package/packages/cli/vitest.config.ts +0 -23
  206. package/promptfoo.yaml +0 -3270
  207. /package/{framework → templates}/SAFEWORD.md +0 -0
  208. /package/{packages/cli/templates → templates}/commands/arch-review.md +0 -0
  209. /package/{packages/cli/templates → templates}/commands/lint.md +0 -0
  210. /package/{packages/cli/templates → templates}/commands/quality-review.md +0 -0
  211. /package/{framework/templates → templates/doc-templates}/architecture-template.md +0 -0
  212. /package/{framework/templates → templates/doc-templates}/design-doc-template.md +0 -0
  213. /package/{framework/templates → templates/doc-templates}/test-definitions-feature.md +0 -0
  214. /package/{framework/templates → templates/doc-templates}/ticket-template.md +0 -0
  215. /package/{framework/templates → templates/doc-templates}/user-stories-template.md +0 -0
  216. /package/{framework → templates}/guides/architecture-guide.md +0 -0
  217. /package/{framework → templates}/guides/code-philosophy.md +0 -0
  218. /package/{framework → templates}/guides/context-files-guide.md +0 -0
  219. /package/{framework → templates}/guides/data-architecture-guide.md +0 -0
  220. /package/{framework → templates}/guides/design-doc-guide.md +0 -0
  221. /package/{framework → templates}/guides/learning-extraction.md +0 -0
  222. /package/{framework → templates}/guides/llm-instruction-design.md +0 -0
  223. /package/{framework → templates}/guides/llm-prompting.md +0 -0
  224. /package/{framework → templates}/guides/tdd-best-practices.md +0 -0
  225. /package/{framework → templates}/guides/test-definitions-guide.md +0 -0
  226. /package/{framework → templates}/guides/testing-methodology.md +0 -0
  227. /package/{framework → templates}/guides/user-story-guide.md +0 -0
  228. /package/{framework → templates}/guides/zombie-process-cleanup.md +0 -0
  229. /package/{packages/cli/templates → templates}/hooks/inject-timestamp.sh +0 -0
  230. /package/{packages/cli/templates → templates}/lib/common.sh +0 -0
  231. /package/{packages/cli/templates → templates}/lib/jq-fallback.sh +0 -0
  232. /package/{packages/cli/templates → templates}/markdownlint.jsonc +0 -0
  233. /package/{framework → templates}/prompts/arch-review.md +0 -0
  234. /package/{framework → templates}/prompts/quality-review.md +0 -0
  235. /package/{framework/skills/quality-reviewer → templates/skills/safeword-quality-reviewer}/SKILL.md +0 -0
@@ -1,58 +0,0 @@
1
- ---
2
- id: 008
3
- status: pending
4
- created: 2025-11-27
5
- github: https://github.com/TheMostlyGreat/safeword/issues/4
6
- ---
7
-
8
- # Upgrade Questioning - Requirements Gathering
9
-
10
- **Goal:** Add proactive questioning for requirements gathering BEFORE implementation, not just during quality review.
11
-
12
- **Why:** Current questioning only happens in quality review (after changes). Need questioning skill for upfront requirements clarification.
13
-
14
- ## Problem
15
-
16
- Agent often starts implementing without clarifying:
17
-
18
- - Ambiguous requirements
19
- - Missing acceptance criteria
20
- - Undefined edge cases
21
- - Technology preferences
22
-
23
- **Result:** Rework, wrong direction, wasted cycles.
24
-
25
- ## Scope
26
-
27
- **New capability:** Requirements questioning skill
28
-
29
- **Key scenarios:**
30
-
31
- 1. **Feature request** - Clarify scope, acceptance criteria, constraints
32
- 2. **Bug report** - Clarify repro steps, expected behavior, severity
33
- 3. **Refactoring** - Clarify goals, constraints, risk tolerance
34
- 4. **Design decision** - Clarify priorities, trade-offs, timeline
35
-
36
- **Question protocol:**
37
-
38
- - Ask upfront (before implementation)
39
- - Limit to 2-3 key questions
40
- - Provide defaults/assumptions if user doesn't answer
41
- - Document answers in ticket/planning docs
42
-
43
- ## Deliverables
44
-
45
- - `framework/skills/requirements-questioning/SKILL.md`
46
- - Integration with ticket system (questions → ticket answers)
47
- - Update SAFEWORD.md workflow with questioning step
48
-
49
- ## Acceptance Criteria
50
-
51
- - [ ] Skill file with clear triggers and protocol
52
- - [ ] Question templates for each scenario
53
- - [ ] Integration with planning docs workflow
54
- - [ ] Maximum question limits to avoid fatigue
55
-
56
- ## Work Log
57
-
58
- - 2025-11-27 Created ticket
@@ -1,41 +0,0 @@
1
- ---
2
- id: 009
3
- status: pending
4
- created: 2025-11-27
5
- github: https://github.com/TheMostlyGreat/safeword/issues/5
6
- ---
7
-
8
- # Fix File Naming Conventions
9
-
10
- **Goal:** Standardize naming for tickets vs derived planning docs vs standalone docs.
11
-
12
- **Why:** Current naming is inconsistent. Hard to see which planning docs belong to which tickets.
13
-
14
- ## Naming Rules
15
-
16
- | File Type | Pattern | Example |
17
- | ------------------- | ----------------------- | ------------------------------------------------------ |
18
- | **Tickets** | `{NNN}-{slug}.md` | `001-fix-login-bug.md` |
19
- | **Derived docs** | `{NNN}.{XX}-{slug}.md` | `001.01-user-stories.md`, `001.02-test-definitions.md` |
20
- | **Standalone docs** | `{slug}.md` (no number) | `architecture-enforcement-system.md` |
21
-
22
- ## Rules
23
-
24
- 1. **Tickets** stay numbered: `001-`, `002-`, etc.
25
- 2. **Planning docs derived from a ticket** append `.XX` sub-number
26
- - First planning doc: `001.01-user-stories.md`
27
- - Second: `001.02-design-doc.md`
28
- - Allows sorting while showing relationship
29
- 3. **Standalone planning docs** (bigger scope than any ticket) get no number
30
- - Cross-cutting concerns, research, multi-ticket planning
31
- - Example: `architecture-enforcement-system.md`
32
-
33
- ## Acceptance Criteria
34
-
35
- - [ ] SAFEWORD.md updated with naming convention
36
- - [ ] Existing files renamed to match
37
- - [ ] Ticket template includes derived doc naming guidance
38
-
39
- ## Work Log
40
-
41
- - 2025-11-27 Created ticket
@@ -1,34 +0,0 @@
1
- ---
2
- id: 010
3
- status: pending
4
- priority: high
5
- created: 2025-11-27
6
- github: https://github.com/TheMostlyGreat/safeword/issues/6
7
- ---
8
-
9
- # Clean Up SAFEWORD.md
10
-
11
- **Goal:** Streamline and modernize SAFEWORD.md for clarity and maintainability.
12
-
13
- **Why:** Core file that all AI agents read. Bloated/unclear instructions = confused agents = wasted cycles.
14
-
15
- ## Scope
16
-
17
- **Review and clean:**
18
-
19
- - Remove duplication
20
- - Tighten language (brevity, clarity)
21
- - Update outdated sections
22
- - Improve structure/hierarchy
23
- - Ensure consistency with guides
24
-
25
- ## Acceptance Criteria
26
-
27
- - [ ] Reduced line count without losing value
28
- - [ ] Clear section hierarchy
29
- - [ ] No duplicated content with guides
30
- - [ ] All cross-references valid
31
-
32
- ## Work Log
33
-
34
- - 2025-11-27 Created ticket (high priority)
@@ -1,86 +0,0 @@
1
- ---
2
- id: 011
3
- status: pending
4
- created: 2025-11-27
5
- github: https://github.com/TheMostlyGreat/safeword/issues/7
6
- ---
7
-
8
- # Add Cursor Setup Support
9
-
10
- **Goal:** Create `setup-cursor.sh` script that sets up Cursor IDE with SAFEWORD patterns, parallel to `setup-claude.sh`.
11
-
12
- **Why:** Cursor is a popular AI-powered IDE. Teams using Cursor need the same SAFEWORD enforcement (TDD workflow, quality standards, guides) that Claude Code users get.
13
-
14
- ## Scope
15
-
16
- **In scope:**
17
-
18
- - `setup-cursor.sh` - Sets up Cursor-specific configurations
19
- - `.cursorrules` file with SAFEWORD trigger
20
- - `.cursor/mcp.json` for MCP server configurations (Context7, etc.)
21
- - `CURSOR.md` project context file (optional, when CLAUDE.md doesn't exist)
22
- - Integration with existing `setup-safeword.sh` (detect and offer Cursor setup)
23
-
24
- **Out of scope:**
25
-
26
- - Cursor-specific hooks (Cursor doesn't support hooks like Claude Code)
27
- - Linting setup (already handled by `setup-linting.sh`, works for any editor)
28
- - CLI integration (`safeword init --cursor` - that's for the CLI ticket)
29
-
30
- ## Technical Notes
31
-
32
- Cursor uses these files:
33
-
34
- - `.cursorrules` - Project-level rules (like `.claude/settings.json` but simpler)
35
- - `.cursor/mcp.json` - MCP server configurations
36
- - `.cursor/rules/` - Directory for multiple rule files (alternative to single `.cursorrules`)
37
-
38
- Key differences from Claude setup:
39
-
40
- - No hooks system (Cursor doesn't have pre/post command hooks)
41
- - Rules are simpler - just instructions, no JSON config
42
- - MCP config format differs from Claude's
43
-
44
- ## Acceptance Criteria
45
-
46
- - [ ] `bash setup-cursor.sh` creates `.cursorrules` with SAFEWORD trigger
47
- - [ ] `.cursorrules` references `@./.safeword/SAFEWORD.md`
48
- - [ ] Script creates `.cursor/mcp.json` with Context7 config
49
- - [ ] Script is idempotent (safe to run multiple times)
50
- - [ ] Script detects existing `.cursorrules` and appends (doesn't overwrite)
51
- - [ ] `setup-safeword.sh` mentions Cursor setup as next step
52
- - [ ] README updated with Cursor setup instructions
53
-
54
- ## Implementation Notes
55
-
56
- `.cursorrules` content should include:
57
-
58
- ```markdown
59
- # Project Rules
60
-
61
- **⚠️ ALWAYS READ FIRST: @./.safeword/SAFEWORD.md**
62
-
63
- The SAFEWORD.md file contains core development patterns, workflows, and conventions.
64
- Read it BEFORE working on any task in this project.
65
-
66
- ---
67
-
68
- [Project-specific Cursor rules go here]
69
- ```
70
-
71
- `.cursor/mcp.json` should include Context7 (and optionally Arcade):
72
-
73
- ```json
74
- {
75
- "mcpServers": {
76
- "context7": {
77
- "command": "npx",
78
- "args": ["-y", "@upstash/context7-mcp"]
79
- }
80
- }
81
- }
82
- ```
83
-
84
- ## Work Log
85
-
86
- - 2025-11-27 Created ticket
@@ -1,73 +0,0 @@
1
- # Tickets
2
-
3
- Higher-level feature/epic tracking. Each ticket references planning docs.
4
-
5
- ## Structure
6
-
7
- - `./` - Active tickets (in progress or todo)
8
- - `completed/` - Verified completed tickets (user confirmed)
9
- - `archived/` - Blocked or cancelled tickets
10
-
11
- ## Naming Convention
12
-
13
- **Tickets:** `{id}-{feature-slug}.md`
14
- - Example: `001-user-authentication.md`, `002-payment-flow.md`
15
-
16
- **Planning docs share same prefix:**
17
- - User stories: `./.safeword/planning/user-stories/001-user-authentication.md`
18
- - Test definitions: `./.safeword/planning/test-definitions/001-user-authentication.md`
19
- - Design doc: `./.safeword/planning/design/001-user-authentication.md`
20
-
21
- This makes it easy to find all related docs by prefix.
22
-
23
- ## Format
24
-
25
- ```markdown
26
- ---
27
- id: 001
28
- status: todo|in_progress|done|blocked
29
- created: 2025-01-19T14:30:00Z
30
- priority: low|medium|high
31
- planning_refs:
32
- - ./.safeword/planning/user-stories/001-user-authentication.md
33
- - ./.safeword/planning/test-definitions/001-user-authentication.md
34
- - ./.safeword/planning/design/001-user-authentication.md (if complex)
35
- ---
36
-
37
- # User Authentication System
38
-
39
- ## Description
40
- {High-level feature description}
41
-
42
- ## Scope
43
- {What's included in this ticket}
44
-
45
- ## Acceptance Criteria
46
- - [ ] All user stories completed
47
- - [ ] All tests passing
48
- - [ ] Documentation updated
49
-
50
- ## Work Log
51
- {Progress notes, decisions, blockers}
52
- ```
53
-
54
- ## Completion Process
55
-
56
- **CRITICAL:** Never mark ticket as done or archive without user confirmation.
57
-
58
- 1. Update status to `done` when work complete
59
- 2. **Ask user to confirm** all acceptance criteria met
60
- 3. User verifies:
61
- - All tests passing
62
- - Feature works as expected
63
- - No regressions introduced
64
- 4. After confirmation: Move to `completed/`
65
- 5. Blocked/cancelled tickets: Move to `archived/`
66
-
67
- ## Relationship
68
-
69
- - **Ticket** = Higher-level feature/epic
70
- - **Planning docs** = Detailed specs (user stories, test definitions, design)
71
- - **TodoWrite** = Task-level tracking in current session
72
-
73
- See `@./.safeword/SAFEWORD.md` → Ticket System for details.
package/.safeword/version DELETED
@@ -1 +0,0 @@
1
- 0.1.0
package/AGENTS.md DELETED
@@ -1,59 +0,0 @@
1
- **⚠️ ALWAYS READ FIRST: @./.safeword/SAFEWORD.md**
2
-
3
- The SAFEWORD.md file contains core development patterns, workflows, and conventions.
4
- Read it BEFORE working on any task in this project.
5
-
6
- ---
7
-
8
- # SAFEWORD - AI Agent Configuration CLI
9
-
10
- A CLI tool that sets up AI coding agent configurations (guides, hooks, templates) for any project.
11
-
12
- ## Project Purpose
13
-
14
- **What:** `npx safeword setup` installs a `.safeword/` directory with guides, templates, and hooks into user projects.
15
-
16
- **This repo is safeword's source code AND uses safeword itself (dogfooding).**
17
-
18
- ## Directory Roles
19
-
20
- | Directory | Role |
21
- |-----------|------|
22
- | `framework/` | **Source templates** - What the CLI copies to user projects |
23
- | `packages/cli/` | **CLI source** - The `npx safeword` tool itself |
24
- | `.safeword/` | **Dogfooding** - This project's own installed safeword config (tracked, generated by CLI) |
25
- | `.claude/` | **Claude Code config** - Hooks, commands, skills for this project |
26
-
27
- ## Tech Stack
28
-
29
- | Component | Technology |
30
- |-----------|------------|
31
- | CLI | TypeScript, Commander.js, Node 18+ |
32
- | Build | tsup (ESM-only output) |
33
- | Tests | Vitest, promptfoo (LLM evals) |
34
- | Linting | ESLint 9 + Prettier |
35
-
36
- ## Development Workflow
37
-
38
- ### Editing Source Templates
39
-
40
- 1. Edit in `framework/` (source of truth)
41
- 2. Run `npx safeword upgrade` to sync to `.safeword/`
42
- 3. Run evals: `npm run eval`
43
-
44
- ### Running LLM Evals
45
-
46
- ```bash
47
- npm run eval # Run all tests
48
- npm run eval:view # Open web UI for results
49
- ```
50
-
51
- **Requires:** `ANTHROPIC_API_KEY` environment variable
52
-
53
- ## Common Gotchas
54
-
55
- 1. **framework/ vs .safeword/**: Edit `framework/` first, then run `npx safeword upgrade` to sync.
56
-
57
- 2. **Eval failures**: Usually means the guide needs clearer instructions, not that the test is wrong.
58
-
59
- 3. **Planning docs location**: All planning goes in `.safeword/planning/` per the SAFEWORD.md conventions.
package/CLAUDE.md DELETED
@@ -1,12 +0,0 @@
1
- # Project Claude Context
2
-
3
- **⚠️ ALWAYS READ FIRST: @./.safeword/SAFEWORD.md**
4
-
5
- The SAFEWORD.md file contains core development patterns, workflows, and conventions.
6
- Read it BEFORE working on any task in this project.
7
-
8
- ---
9
-
10
- ## Project-Specific Guidance
11
-
12
- - Add Claude-specific context, commands, or workflow notes here