sqlew 4.0.5 → 4.1.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 (201) hide show
  1. package/CHANGELOG.md +1805 -1782
  2. package/README.md +409 -468
  3. package/assets/claude-md-snippets/plan-mode-integration.md +17 -6
  4. package/assets/config.example.toml +282 -284
  5. package/assets/sample-agents/README.md +36 -40
  6. package/assets/sample-agents/sqlew-architect.md +321 -322
  7. package/assets/sample-agents/sqlew-researcher.md +292 -293
  8. package/assets/sample-agents/sqlew-scrum-master.md +286 -287
  9. package/assets/sample-commands/README.md +56 -57
  10. package/assets/sample-skills/sqlew-plan-guidance/SKILL.md +33 -26
  11. package/dist/cli/hooks/check-completion.d.ts +19 -0
  12. package/dist/cli/hooks/check-completion.d.ts.map +1 -0
  13. package/dist/cli/hooks/check-completion.js +104 -0
  14. package/dist/cli/hooks/check-completion.js.map +1 -0
  15. package/dist/cli/hooks/init-hooks.d.ts +35 -0
  16. package/dist/cli/hooks/init-hooks.d.ts.map +1 -0
  17. package/dist/cli/hooks/init-hooks.js +425 -0
  18. package/dist/cli/hooks/init-hooks.js.map +1 -0
  19. package/dist/cli/hooks/mark-done.d.ts +25 -0
  20. package/dist/cli/hooks/mark-done.d.ts.map +1 -0
  21. package/dist/cli/hooks/mark-done.js +128 -0
  22. package/dist/cli/hooks/mark-done.js.map +1 -0
  23. package/dist/cli/hooks/plan-id-utils.d.ts +83 -0
  24. package/dist/cli/hooks/plan-id-utils.d.ts.map +1 -0
  25. package/dist/cli/hooks/plan-id-utils.js +183 -0
  26. package/dist/cli/hooks/plan-id-utils.js.map +1 -0
  27. package/dist/cli/hooks/save.d.ts +23 -0
  28. package/dist/cli/hooks/save.d.ts.map +1 -0
  29. package/dist/cli/hooks/save.js +90 -0
  30. package/dist/cli/hooks/save.js.map +1 -0
  31. package/dist/cli/hooks/stdin-parser.d.ts +139 -0
  32. package/dist/cli/hooks/stdin-parser.d.ts.map +1 -0
  33. package/dist/cli/hooks/stdin-parser.js +127 -0
  34. package/dist/cli/hooks/stdin-parser.js.map +1 -0
  35. package/dist/cli/hooks/suggest.d.ts +19 -0
  36. package/dist/cli/hooks/suggest.d.ts.map +1 -0
  37. package/dist/cli/hooks/suggest.js +157 -0
  38. package/dist/cli/hooks/suggest.js.map +1 -0
  39. package/dist/cli/hooks/track-plan.d.ts +36 -0
  40. package/dist/cli/hooks/track-plan.d.ts.map +1 -0
  41. package/dist/cli/hooks/track-plan.js +152 -0
  42. package/dist/cli/hooks/track-plan.js.map +1 -0
  43. package/dist/cli.d.ts.map +1 -1
  44. package/dist/cli.js +56 -16
  45. package/dist/cli.js.map +1 -1
  46. package/dist/config/global-config.d.ts +187 -0
  47. package/dist/config/global-config.d.ts.map +1 -0
  48. package/dist/config/global-config.js +206 -0
  49. package/dist/config/global-config.js.map +1 -0
  50. package/dist/config/loader.d.ts +42 -0
  51. package/dist/config/loader.d.ts.map +1 -1
  52. package/dist/config/loader.js +96 -0
  53. package/dist/config/loader.js.map +1 -1
  54. package/dist/constants.d.ts +4 -0
  55. package/dist/constants.d.ts.map +1 -1
  56. package/dist/constants.js +10 -0
  57. package/dist/constants.js.map +1 -1
  58. package/dist/database/operations/queries.d.ts.map +1 -1
  59. package/dist/database/operations/queries.js +11 -2
  60. package/dist/database/operations/queries.js.map +1 -1
  61. package/dist/index.js +4 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/init-agents.js +0 -1
  64. package/dist/init-agents.js.map +1 -1
  65. package/dist/init-skills.d.ts +4 -3
  66. package/dist/init-skills.d.ts.map +1 -1
  67. package/dist/init-skills.js +10 -3
  68. package/dist/init-skills.js.map +1 -1
  69. package/dist/server/setup.d.ts +8 -0
  70. package/dist/server/setup.d.ts.map +1 -1
  71. package/dist/server/setup.js +141 -21
  72. package/dist/server/setup.js.map +1 -1
  73. package/dist/sync-agents.d.ts.map +1 -1
  74. package/dist/sync-agents.js +48 -3
  75. package/dist/sync-agents.js.map +1 -1
  76. package/dist/sync-commands.d.ts.map +1 -1
  77. package/dist/sync-commands.js +43 -3
  78. package/dist/sync-commands.js.map +1 -1
  79. package/dist/tools/constraints/actions/get.d.ts.map +1 -1
  80. package/dist/tools/constraints/actions/get.js +5 -8
  81. package/dist/tools/constraints/actions/get.js.map +1 -1
  82. package/dist/tools/constraints/help/help.d.ts.map +1 -1
  83. package/dist/tools/constraints/help/help.js +1 -6
  84. package/dist/tools/constraints/help/help.js.map +1 -1
  85. package/dist/tools/context/actions/get.d.ts.map +1 -1
  86. package/dist/tools/context/actions/get.js.map +1 -1
  87. package/dist/tools/context/actions/search-layer.d.ts.map +1 -1
  88. package/dist/tools/context/actions/search-layer.js +5 -3
  89. package/dist/tools/context/actions/search-layer.js.map +1 -1
  90. package/dist/tools/context/actions/set-from-policy.d.ts +2 -1
  91. package/dist/tools/context/actions/set-from-policy.d.ts.map +1 -1
  92. package/dist/tools/context/actions/set-from-policy.js.map +1 -1
  93. package/dist/tools/context/help/help.d.ts.map +1 -1
  94. package/dist/tools/context/help/help.js +1 -7
  95. package/dist/tools/context/help/help.js.map +1 -1
  96. package/dist/tools/context/internal/queries.d.ts.map +1 -1
  97. package/dist/tools/context/internal/queries.js +5 -2
  98. package/dist/tools/context/internal/queries.js.map +1 -1
  99. package/dist/tools/context/types.d.ts +1 -1
  100. package/dist/tools/context/types.d.ts.map +1 -1
  101. package/dist/tools/files/actions/get.d.ts.map +1 -1
  102. package/dist/tools/files/actions/get.js +4 -6
  103. package/dist/tools/files/actions/get.js.map +1 -1
  104. package/dist/tools/files/help/help.d.ts.map +1 -1
  105. package/dist/tools/files/help/help.js +1 -6
  106. package/dist/tools/files/help/help.js.map +1 -1
  107. package/dist/tools/suggest/help/constraint-help.d.ts.map +1 -1
  108. package/dist/tools/suggest/help/constraint-help.js +0 -2
  109. package/dist/tools/suggest/help/constraint-help.js.map +1 -1
  110. package/dist/tools/suggest/internal/constraint-queries.d.ts.map +1 -1
  111. package/dist/tools/suggest/internal/constraint-queries.js +12 -5
  112. package/dist/tools/suggest/internal/constraint-queries.js.map +1 -1
  113. package/dist/tools/suggest/internal/queries.js +2 -2
  114. package/dist/tools/suggest/internal/queries.js.map +1 -1
  115. package/dist/tools/tasks/help/help.d.ts.map +1 -1
  116. package/dist/tools/tasks/help/help.js +0 -6
  117. package/dist/tools/tasks/help/help.js.map +1 -1
  118. package/dist/tools/tasks/help/use-case.d.ts.map +1 -1
  119. package/dist/tools/tasks/help/use-case.js +0 -1
  120. package/dist/tools/tasks/help/use-case.js.map +1 -1
  121. package/dist/tools/tasks/watcher/status.d.ts.map +1 -1
  122. package/dist/tools/tasks/watcher/status.js +5 -1
  123. package/dist/tools/tasks/watcher/status.js.map +1 -1
  124. package/dist/types/decision/params.d.ts +7 -6
  125. package/dist/types/decision/params.d.ts.map +1 -1
  126. package/dist/types/decision/templates.d.ts +3 -2
  127. package/dist/types/decision/templates.d.ts.map +1 -1
  128. package/dist/types/view-entities.d.ts +2 -1
  129. package/dist/types/view-entities.d.ts.map +1 -1
  130. package/dist/types.d.ts +19 -11
  131. package/dist/types.d.ts.map +1 -1
  132. package/dist/types.js +4 -1
  133. package/dist/types.js.map +1 -1
  134. package/dist/utils/enum-converter.d.ts +72 -0
  135. package/dist/utils/enum-converter.d.ts.map +1 -0
  136. package/dist/utils/enum-converter.js +76 -0
  137. package/dist/utils/enum-converter.js.map +1 -0
  138. package/dist/utils/hook-queue.d.ts +81 -0
  139. package/dist/utils/hook-queue.d.ts.map +1 -0
  140. package/dist/utils/hook-queue.js +156 -0
  141. package/dist/utils/hook-queue.js.map +1 -0
  142. package/dist/utils/project-root.d.ts +9 -2
  143. package/dist/utils/project-root.d.ts.map +1 -1
  144. package/dist/utils/project-root.js +16 -2
  145. package/dist/utils/project-root.js.map +1 -1
  146. package/dist/utils/tag-parser.d.ts.map +1 -1
  147. package/dist/utils/tag-parser.js +6 -0
  148. package/dist/utils/tag-parser.js.map +1 -1
  149. package/dist/utils/validators.d.ts +1 -1
  150. package/dist/utils/validators.d.ts.map +1 -1
  151. package/dist/utils/validators.js +1 -1
  152. package/dist/utils/validators.js.map +1 -1
  153. package/dist/utils/vcs-adapter.d.ts +44 -0
  154. package/dist/utils/vcs-adapter.d.ts.map +1 -1
  155. package/dist/utils/vcs-adapter.js +88 -0
  156. package/dist/utils/vcs-adapter.js.map +1 -1
  157. package/dist/utils/view-queries.d.ts.map +1 -1
  158. package/dist/utils/view-queries.js +9 -19
  159. package/dist/utils/view-queries.js.map +1 -1
  160. package/dist/watcher/base-watcher.d.ts +69 -0
  161. package/dist/watcher/base-watcher.d.ts.map +1 -0
  162. package/dist/watcher/base-watcher.js +130 -0
  163. package/dist/watcher/base-watcher.js.map +1 -0
  164. package/dist/watcher/index.d.ts +3 -0
  165. package/dist/watcher/index.d.ts.map +1 -1
  166. package/dist/watcher/index.js +2 -0
  167. package/dist/watcher/index.js.map +1 -1
  168. package/dist/watcher/queue-watcher.d.ts +64 -0
  169. package/dist/watcher/queue-watcher.d.ts.map +1 -0
  170. package/dist/watcher/queue-watcher.js +187 -0
  171. package/dist/watcher/queue-watcher.js.map +1 -0
  172. package/docs/ADR_CONCEPTS.md +140 -0
  173. package/docs/CONFIGURATION.md +922 -925
  174. package/docs/CROSS_DATABASE.md +153 -0
  175. package/docs/DATABASE_AUTH.md +70 -356
  176. package/docs/HOOKS_GUIDE.md +159 -0
  177. package/docs/SLASH_COMMANDS.md +329 -337
  178. package/docs/TASK_SYSTEM_DEPRECATED.md +88 -0
  179. package/docs/changelogs/CHANGELOG_ARCHIVE_v3.4_and_older.md +293 -296
  180. package/docs/cli/DATA_EXPORT_IMPORT.md +699 -700
  181. package/docs/cli/README.md +276 -277
  182. package/package.json +123 -124
  183. package/docs/ACCEPTANCE_CRITERIA.md +0 -625
  184. package/docs/AI_AGENT_GUIDE.md +0 -299
  185. package/docs/ARCHITECTURE.md +0 -167
  186. package/docs/AUTO_FILE_TRACKING.md +0 -841
  187. package/docs/BATCH_VALIDATION.md +0 -617
  188. package/docs/BEST_PRACTICES.md +0 -168
  189. package/docs/CONSTRAINT_INTELLIGENCE.md +0 -339
  190. package/docs/DECISION_CONTEXT.md +0 -697
  191. package/docs/DECISION_INTELLIGENCE.md +0 -605
  192. package/docs/GIT_AWARE_AUTO_COMPLETE.md +0 -646
  193. package/docs/MIGRATION_GUIDE_V3.9.0.md +0 -371
  194. package/docs/SHARED_CONCEPTS.md +0 -225
  195. package/docs/SPECIALIZED_AGENTS.md +0 -126
  196. package/docs/TASK_ACTIONS.md +0 -1177
  197. package/docs/TASK_OVERVIEW.md +0 -452
  198. package/docs/TASK_PRUNING.md +0 -594
  199. package/docs/TOOL_REFERENCE.md +0 -1077
  200. package/docs/TOOL_SELECTION.md +0 -83
  201. package/docs/WORKFLOWS.md +0 -941
@@ -0,0 +1,159 @@
1
+ # Claude Code Hooks Guide
2
+
3
+ Integration guide for sqlew with Claude Code hooks.
4
+
5
+ ## Overview
6
+
7
+ sqlew integrates with Claude Code through PreToolUse and PostToolUse hooks, enabling automatic decision tracking during AI-assisted development.
8
+
9
+ ## Architecture
10
+
11
+ ```
12
+ Claude Code sqlew
13
+ │ │
14
+ ├─ PreToolUse ──────────────►│ suggest (related decisions)
15
+ │ │
16
+ ├─ Tool Execution │
17
+ │ │
18
+ ├─ PostToolUse ─────────────►│ track-plan, save, check-completion
19
+ │ │
20
+ └─ (Git hooks) ─────────────►│ mark-done (post-merge, post-rewrite)
21
+ ```
22
+
23
+ ## File Queue Architecture
24
+
25
+ Hooks use a file-based queue for async operations:
26
+
27
+ 1. **Hook writes to queue** (fast, <100ms)
28
+ - Location: `.sqlew/queue/pending.json`
29
+ 2. **QueueWatcher detects change** (MCP server)
30
+ 3. **Decisions registered in DB** (async)
31
+
32
+ This architecture ensures zero latency on code edits.
33
+
34
+ ## Installation
35
+
36
+ ```bash
37
+ # Initialize hooks in your project
38
+ sqlew init --hooks
39
+
40
+ # Without Git hooks (MCP hooks only)
41
+ sqlew init --hooks --no-git
42
+ ```
43
+
44
+ This creates `.claude/settings.local.json` with hook configuration.
45
+
46
+ ## Hook Commands
47
+
48
+ ### PreToolUse Hooks
49
+
50
+ | Trigger | Command | Purpose |
51
+ |---------|---------|---------|
52
+ | Task | `sqlew suggest` | Suggest related decisions before Task creation |
53
+ | Write | `sqlew track-plan` | Track plan ID during planning |
54
+
55
+ ### PostToolUse Hooks
56
+
57
+ | Trigger | Command | Purpose |
58
+ |---------|---------|---------|
59
+ | Edit, Write | `sqlew save` | Enqueue decision updates |
60
+ | TodoWrite | `sqlew check-completion` | Check task completion status |
61
+ | ExitPlanMode | `sqlew save` | Save plan state on exit |
62
+
63
+ ### Git Hooks
64
+
65
+ | Trigger | Command | Purpose |
66
+ |---------|---------|---------|
67
+ | post-merge | `sqlew mark-done` | Mark decisions as complete after merge |
68
+ | post-rewrite | `sqlew mark-done` | Mark decisions as complete after rebase |
69
+
70
+ ## Configuration
71
+
72
+ Generated configuration in `.claude/settings.local.json`:
73
+
74
+ ```json
75
+ {
76
+ "hooks": {
77
+ "PreToolUse": [
78
+ {
79
+ "matcher": "Task",
80
+ "hooks": [
81
+ {
82
+ "type": "command",
83
+ "command": "sqlew suggest"
84
+ }
85
+ ]
86
+ }
87
+ ],
88
+ "PostToolUse": [
89
+ {
90
+ "matcher": "Edit|Write",
91
+ "hooks": [
92
+ {
93
+ "type": "command",
94
+ "command": "sqlew save"
95
+ }
96
+ ]
97
+ },
98
+ {
99
+ "matcher": "TodoWrite",
100
+ "hooks": [
101
+ {
102
+ "type": "command",
103
+ "command": "sqlew check-completion"
104
+ }
105
+ ]
106
+ }
107
+ ]
108
+ }
109
+ }
110
+ ```
111
+
112
+ ## Queue File Format
113
+
114
+ `.sqlew/queue/pending.json`:
115
+
116
+ ```json
117
+ {
118
+ "items": [
119
+ {
120
+ "type": "decision",
121
+ "action": "update",
122
+ "key": "plan/my-feature",
123
+ "timestamp": 1703404800000,
124
+ "data": {
125
+ "value": "in_progress",
126
+ "layer": "planning"
127
+ }
128
+ }
129
+ ]
130
+ }
131
+ ```
132
+
133
+ ## Troubleshooting
134
+
135
+ ### Hooks not triggering
136
+
137
+ 1. Check `.claude/settings.local.json` exists
138
+ 2. Verify hook configuration format
139
+ 3. Restart Claude Code to reload hooks
140
+
141
+ ### Queue not processing
142
+
143
+ 1. Ensure MCP server is running
144
+ 2. Check `.sqlew/queue/pending.json` for items
145
+ 3. Verify QueueWatcher is active (check debug logs)
146
+
147
+ ### Debug logging
148
+
149
+ Enable debug logging in `.sqlew/config.toml`:
150
+
151
+ ```toml
152
+ [debug]
153
+ log_path = ".sqlew/debug.log"
154
+ log_level = "debug"
155
+ ```
156
+
157
+ ## Version History
158
+
159
+ - **v4.1.0**: Initial Claude Code Hooks integration with File Queue Architecture