sqlew 5.0.5 โ†’ 5.0.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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ---
9
9
 
10
+ ## [5.0.6] - 2026-02-14
11
+
12
+ ### Changed
13
+
14
+ **๐Ÿงน CLAUDE.md Injection Removed โ€” Hook-based Plan Mode Enforcement**
15
+
16
+ Plan mode enforcement migrated from `~/.claude/CLAUDE.md` injection (~193 lines always loaded) to `UserPromptSubmit` hook with `permission_mode` check (~5 lines, plan mode only).
17
+
18
+ - New `on-prompt` CLI command: `UserPromptSubmit` hook handler that detects `permission_mode === "plan"` and injects enforcement context via plain text stdout
19
+ - `track-plan` hook (EnterPlanMode): shares same enforcement context for agent-initiated plan mode coverage
20
+ - Legacy `injectToGlobalClaudeMd()` replaced with `cleanupGlobalClaudeMd()` โ€” auto-removes `<!-- sqlew:auto-injected -->` markers from `~/.claude/CLAUDE.md` on MCP startup
21
+ - Removed `assets/claude-md-snippets/` directory (`plan-mode-integration.md`, `queue-monitoring.md`)
22
+
23
+ ### Plugin Changes (sqlew-plugin)
24
+
25
+ - Added `UserPromptSubmit` hook entry in `hooks.json` (`sqlew on-prompt`, timeout: 10s)
26
+ - Skills descriptions strengthened to REQUIRED/MUST tone (`sqlew-decision-format`, `sqlew-plan-guidance`)
27
+ - `sqlew-plan-guidance` expanded: suggest search steps, Related Context template, queue monitoring, failed queue resolution
28
+
29
+ ### Technical Notes
30
+
31
+ - `UserPromptSubmit` hook requires **plain text stdout** (not JSON `additionalContext` format). This is different from `SessionStart`/`PostToolUse` hooks which use JSON format.
32
+ - Non-plan mode: hook outputs nothing and exits 0 (transparent, no system-reminder shown)
33
+
34
+ ---
35
+
10
36
  ## [5.0.4] - 2026-02-04
11
37
 
12
38
  ### Added
package/README.md CHANGED
@@ -30,7 +30,7 @@ claude plugin install sqlew
30
30
  - โœ… Claude Code Skills (Plan Mode guidance)
31
31
  - โœ… Claude Code Hooks (automatic decision capture)
32
32
 
33
- > **Note:** Global Rules are automatically created at `~/.claude/rules/sqlew/` when the MCP server starts.
33
+ > **Note:** Plan mode enforcement is handled by the plugin's `UserPromptSubmit` hook โ€” no manual configuration needed.
34
34
 
35
35
  ### 3. Connect to sqlew.io (For Teams) ๐ŸŒ
36
36
 
@@ -69,7 +69,6 @@ For offline or single-developer use, **no setup required**:
69
69
 
70
70
  - Database (`.sqlew/sqlew.db`) is auto-created on first MCP server start
71
71
  - Config file (`.sqlew/config.toml`) is auto-generated with detected project name
72
- - Global rules (`~/.claude/rules/sqlew/`) are auto-installed
73
72
 
74
73
  Just start using Claude Code - everything initializes automatically!
75
74
 
@@ -295,15 +294,15 @@ Support development via [GitHub Sponsors](https://github.com/sponsors/sqlew-io)
295
294
 
296
295
  ## Version
297
296
 
298
- Current version: **5.0.0**
297
+ Current version: **5.0.6**
299
298
  See [CHANGELOG.md](CHANGELOG.md) for release history.
300
299
 
301
- **What's New in v5.0.0:**
300
+ **What's New in v5.0.6:**
302
301
 
302
+ - ๐Ÿงน **CLAUDE.md injection removed** - Plan mode enforcement via `UserPromptSubmit` hook (no more global file pollution)
303
+ - ๐Ÿ”Œ **Plugin-first Architecture** - Simplified setup via sqlew-plugin
303
304
  - ๐ŸŒ **SaaS Backend** - Connect to [sqlew.io](https://sqlew.io) for team-shared decisions
304
305
  - ๐ŸŒณ **Git Worktree Support** - Seamless multi-branch development
305
- - ๐Ÿ”Œ **Plugin-first Architecture** - Simplified setup via sqlew-plugin
306
- - ๐Ÿ”ง **Queue Tool** - Hook queue management (list, remove, clear)
307
306
 
308
307
  See [docs/HOOKS_GUIDE.md](docs/HOOKS_GUIDE.md) for Claude Code Hooks details.
309
308
 
@@ -0,0 +1,31 @@
1
+ /**
2
+ * On-Prompt Hook Command
3
+ *
4
+ * UserPromptSubmit hook - injects plan mode enforcement context.
5
+ * Fires on every user prompt. When permission_mode is "plan",
6
+ * injects REQUIRED steps for sqlew plan integration.
7
+ *
8
+ * This replaces the previous CLAUDE.md injection approach,
9
+ * providing equivalent always-on enforcement without polluting
10
+ * the user's global ~/.claude/CLAUDE.md.
11
+ *
12
+ * Usage:
13
+ * echo '{"hook_event_name":"UserPromptSubmit","permission_mode":"plan"}' | sqlew on-prompt
14
+ *
15
+ * @since v5.0.6
16
+ */
17
+ /**
18
+ * Enforcement context injected when plan mode is active.
19
+ *
20
+ * Condensed from the previous ~193-line CLAUDE.md injection into ~5 lines.
21
+ * Detailed format/workflow available via Skills (sqlew-decision-format, sqlew-plan-guidance).
22
+ */
23
+ export declare const PLAN_MODE_ENFORCEMENT = "[sqlew] Plan mode active. REQUIRED steps:\n1. Suggest Search BEFORE Planning: suggest { action: \"by_context\", key: \"<keyword>\" } and suggest { action: \"by_context\", target: \"constraint\", text: \"<topic>\" }\n2. Include \"Related Context (from sqlew)\" section in plan (MANDATORY - plans without this = INVALID)\n3. Use \uD83D\uDCCC/\uD83D\uDEAB format for decisions/constraints (invoke sqlew-decision-format skill for template)\n4. Check failed queue: queue { action: \"list\" }";
24
+ /**
25
+ * Main on-prompt command entry point
26
+ *
27
+ * Called as UserPromptSubmit hook on every user prompt.
28
+ * Only injects enforcement context when permission_mode is "plan".
29
+ */
30
+ export declare function onPromptCommand(): Promise<void>;
31
+ //# sourceMappingURL=on-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"on-prompt.d.ts","sourceRoot":"","sources":["../../../src/cli/hooks/on-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,2eAIc,CAAC;AAMjD;;;;;GAKG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAarD"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * On-Prompt Hook Command
3
+ *
4
+ * UserPromptSubmit hook - injects plan mode enforcement context.
5
+ * Fires on every user prompt. When permission_mode is "plan",
6
+ * injects REQUIRED steps for sqlew plan integration.
7
+ *
8
+ * This replaces the previous CLAUDE.md injection approach,
9
+ * providing equivalent always-on enforcement without polluting
10
+ * the user's global ~/.claude/CLAUDE.md.
11
+ *
12
+ * Usage:
13
+ * echo '{"hook_event_name":"UserPromptSubmit","permission_mode":"plan"}' | sqlew on-prompt
14
+ *
15
+ * @since v5.0.6
16
+ */
17
+ import { readStdinJson } from './stdin-parser.js';
18
+ // ============================================================================
19
+ // Plan Mode Enforcement Context
20
+ // ============================================================================
21
+ /**
22
+ * Enforcement context injected when plan mode is active.
23
+ *
24
+ * Condensed from the previous ~193-line CLAUDE.md injection into ~5 lines.
25
+ * Detailed format/workflow available via Skills (sqlew-decision-format, sqlew-plan-guidance).
26
+ */
27
+ export const PLAN_MODE_ENFORCEMENT = `[sqlew] Plan mode active. REQUIRED steps:
28
+ 1. Suggest Search BEFORE Planning: suggest { action: "by_context", key: "<keyword>" } and suggest { action: "by_context", target: "constraint", text: "<topic>" }
29
+ 2. Include "Related Context (from sqlew)" section in plan (MANDATORY - plans without this = INVALID)
30
+ 3. Use ๐Ÿ“Œ/๐Ÿšซ format for decisions/constraints (invoke sqlew-decision-format skill for template)
31
+ 4. Check failed queue: queue { action: "list" }`;
32
+ // ============================================================================
33
+ // Main Entry Point
34
+ // ============================================================================
35
+ /**
36
+ * Main on-prompt command entry point
37
+ *
38
+ * Called as UserPromptSubmit hook on every user prompt.
39
+ * Only injects enforcement context when permission_mode is "plan".
40
+ */
41
+ export async function onPromptCommand() {
42
+ try {
43
+ const input = await readStdinJson();
44
+ if (input.permission_mode === 'plan') {
45
+ // UserPromptSubmit: plain text stdout is added as context directly
46
+ // (JSON format with "continue"/"additionalContext" does NOT work for UserPromptSubmit)
47
+ process.stdout.write(PLAN_MODE_ENFORCEMENT);
48
+ }
49
+ // Non-plan mode: output nothing (exit 0 = allow, no context injection)
50
+ }
51
+ catch {
52
+ // Non-fatal: silent exit (allow)
53
+ }
54
+ }
55
+ //# sourceMappingURL=on-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"on-prompt.js","sourceRoot":"","sources":["../../../src/cli/hooks/on-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;gDAIW,CAAC;AAEjD,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;QAEpC,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;YACrC,mEAAmE;YACnE,uFAAuF;YACvF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC9C,CAAC;QACD,uEAAuE;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"track-plan.d.ts","sourceRoot":"","sources":["../../../src/cli/hooks/track-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAiCvC;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0FtD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAEjF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjE"}
1
+ {"version":3,"file":"track-plan.d.ts","sourceRoot":"","sources":["../../../src/cli/hooks/track-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAiCvC;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0FtD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAEjF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjE"}
@@ -17,6 +17,7 @@
17
17
  * @modified v4.2.3 - Added template injection on new plan creation
18
18
  */
19
19
  import { readStdinJson, sendContinue, isPlanFile, getProjectPath } from './stdin-parser.js';
20
+ import { PLAN_MODE_ENFORCEMENT } from './on-prompt.js';
20
21
  import { extractPlanFileName, parseFrontmatter, generatePlanId, getPlanId } from './plan-id-utils.js';
21
22
  import { saveCurrentPlan, loadCurrentPlan, clearPlanCache, clearCurrentPlan, } from '../../config/global-config.js';
22
23
  import { existsSync, readFileSync } from 'fs';
@@ -28,21 +29,21 @@ import { resolve } from 'path';
28
29
  * Decision/Constraint template to inject on new plan creation
29
30
  * Compact format for context window efficiency
30
31
  */
31
- const PLAN_TEMPLATE = `
32
- ---
33
- ## ๐Ÿ“ Decision/Constraint Recording (auto-detected on ExitPlanMode)
34
-
35
- ### ๐Ÿ“Œ Decision: [key/path]
36
- - **Value**: Description
37
- - **Layer**: presentation | business | data | infrastructure | cross-cutting
38
- - **Rationale**: Why this decision was made
39
-
40
- ### ๐Ÿšซ Constraint: [category]
41
- - **Rule**: Description (category: architecture | security | code-style | performance)
42
- - **Priority**: critical | high | medium | low
43
- - **Tags**: comma-separated tags
44
-
45
- ---
32
+ const PLAN_TEMPLATE = `
33
+ ---
34
+ ## ๐Ÿ“ Decision/Constraint Recording (auto-detected on ExitPlanMode)
35
+
36
+ ### ๐Ÿ“Œ Decision: [key/path]
37
+ - **Value**: Description
38
+ - **Layer**: presentation | business | data | infrastructure | cross-cutting
39
+ - **Rationale**: Why this decision was made
40
+
41
+ ### ๐Ÿšซ Constraint: [category]
42
+ - **Rule**: Description (category: architecture | security | code-style | performance)
43
+ - **Priority**: critical | high | medium | low
44
+ - **Tags**: comma-separated tags
45
+
46
+ ---
46
47
  `.trim();
47
48
  // ============================================================================
48
49
  // Main Entry Point
@@ -66,7 +67,7 @@ export async function trackPlanCommand() {
66
67
  clearPlanCache(projectPath);
67
68
  clearCurrentPlan(projectPath);
68
69
  }
69
- sendContinue('[sqlew] Plan mode entered. Waiting for plan file...');
70
+ sendContinue(PLAN_MODE_ENFORCEMENT);
70
71
  return;
71
72
  }
72
73
  // Only process plan files for Write tool
@@ -1 +1 @@
1
- {"version":3,"file":"track-plan.js","sourceRoot":"","sources":["../../../src/cli/hooks/track-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtG,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;CAerB,CAAC,IAAI,EAAE,CAAC;AAET,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;QAEpC,uEAAuE;QACvE,IAAI,KAAK,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,WAAW,EAAE,CAAC;gBAChB,yEAAyE;gBACzE,cAAc,CAAC,WAAW,CAAC,CAAC;gBAC5B,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;YACD,YAAY,CAAC,qDAAqD,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,YAAY,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,YAAY,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,wBAAwB;QACxB,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEpD,uEAAuE;QACvE,IAAI,OAA2B,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,OAA6B,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,GAAI,KAAK,CAAC,UAAU,EAAE,OAA8B,IAAI,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACrG,CAAC;QAED,0BAA0B;QAC1B,IAAI,MAAc,CAAC;QACnB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,cAAc,EAAE,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,cAAc,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAEvD,qDAAqD;QACrD,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,CAAC,YAAY,IAAI,YAAY,CAAC,OAAO,KAAK,MAAM,CAAC;QAEnE,qCAAqC;QACrC,IAAI,SAAS,EAAE,CAAC;YACd,cAAc,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;QAED,kCAAkC;QAClC,wEAAwE;QACxE,MAAM,QAAQ,GAAoB;YAChC,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,YAAY;YACvB,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACzC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,IAAI,KAAK,CAAC;YAC/D,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,gBAAgB,IAAI,KAAK,CAAC;SAC/E,CAAC;QACF,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEvC,wBAAwB;QACxB,IAAI,UAAU,GAAG,0BAA0B,YAAY,SAAS,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;QAEzF,uCAAuC;QACvC,IAAI,SAAS,EAAE,CAAC;YACd,UAAU,IAAI,OAAO,aAAa,EAAE,CAAC;QACvC,CAAC;QAED,YAAY,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;QACtD,YAAY,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"track-plan.js","sourceRoot":"","sources":["../../../src/cli/hooks/track-plan.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AA8TH;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0I7D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CASrD"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AAgUH;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgJ7D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CASrD"}
package/dist/cli.js CHANGED
@@ -14,12 +14,13 @@ import { trackPlanCommand } from './cli/hooks/track-plan.js';
14
14
  import { saveCommand } from './cli/hooks/save.js';
15
15
  import { checkCompletionCommand } from './cli/hooks/check-completion.js';
16
16
  import { markDoneCommand } from './cli/hooks/mark-done.js';
17
- import { injectToGlobalClaudeMd, initializeGitignore } from './init-rules.js';
17
+ import { cleanupGlobalClaudeMd, initializeGitignore } from './init-rules.js';
18
18
  import { onSubagentStopCommand } from './cli/hooks/on-subagent-stop.js';
19
19
  import { onStopCommand } from './cli/hooks/on-stop.js';
20
20
  import { onEnterPlanCommand } from './cli/hooks/on-enter-plan.js';
21
21
  import { onExitPlanCommand } from './cli/hooks/on-exit-plan.js';
22
22
  import { onSessionStartCommand } from './cli/hooks/on-session-start.js';
23
+ import { onPromptCommand } from './cli/hooks/on-prompt.js';
23
24
  // ============================================================================
24
25
  // Helper Functions
25
26
  // ============================================================================
@@ -146,6 +147,7 @@ LEGACY COMMANDS:
146
147
  on-exit-plan Prompt TOML documentation (PostToolUse hook for ExitPlanMode)
147
148
  on-subagent-stop Process Plan agent completion (SubagentStop hook)
148
149
  on-stop Process main agent stop (Stop hook)
150
+ on-prompt Plan mode enforcement (UserPromptSubmit hook)
149
151
 
150
152
  OPTIONS:
151
153
  --init Legacy initialization
@@ -242,14 +244,14 @@ async function initAllCommand() {
242
244
  console.log('[sqlew --init] Starting initialization...');
243
245
  console.log(`[sqlew --init] Project root: ${projectPath}`);
244
246
  console.log('');
245
- // 1. Inject snippets into ~/.claude/CLAUDE.md
246
- console.log('[1/2] Injecting sqlew snippets into ~/.claude/CLAUDE.md...');
247
+ // 1. Clean up legacy CLAUDE.md injection
248
+ console.log('[1/2] Cleaning up legacy CLAUDE.md injection...');
247
249
  try {
248
- injectToGlobalClaudeMd();
249
- console.log(' โœ“ Plan mode integration injected into CLAUDE.md');
250
+ cleanupGlobalClaudeMd();
251
+ console.log(' โœ“ Legacy injection cleaned up (plan mode now enforced via Hooks)');
250
252
  }
251
253
  catch (error) {
252
- console.log(` โœ— CLAUDE.md injection failed: ${error instanceof Error ? error.message : String(error)}`);
254
+ console.log(` โœ— CLAUDE.md cleanup failed: ${error instanceof Error ? error.message : String(error)}`);
253
255
  }
254
256
  // 2. Initialize gitignore
255
257
  console.log('[2/2] Updating .sqlew/.gitignore...');
@@ -339,6 +341,11 @@ export async function runCli(rawArgs) {
339
341
  await onSessionStartCommand();
340
342
  return;
341
343
  }
344
+ // UserPromptSubmit hook (v5.0.6+) - plan mode enforcement
345
+ if (args.command === 'on-prompt') {
346
+ await onPromptCommand();
347
+ return;
348
+ }
342
349
  // --init flag: comprehensive initialization (Skills + CLAUDE.md + Hooks + gitignore)
343
350
  if (args.init) {
344
351
  await initAllCommand();
@@ -408,7 +415,7 @@ export function isCliCommand(command) {
408
415
  // Claude Code Hooks commands (v4.1.0+)
409
416
  'suggest', 'track-plan', 'save', 'check-completion', 'mark-done', 'init',
410
417
  // Hook events (v4.2.0+, v5.0.0+)
411
- 'on-subagent-stop', 'on-stop', 'on-enter-plan', 'on-exit-plan', 'on-session-start',
418
+ 'on-subagent-stop', 'on-stop', 'on-enter-plan', 'on-exit-plan', 'on-session-start', 'on-prompt',
412
419
  ];
413
420
  return cliCommands.includes(command);
414
421
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAc,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,6BAA6B;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA4B3D,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE1B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACvB,CAAC;iBAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC3B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;YACtB,CAAC;iBAAM,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,6BAA6B;gBAC7B,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACpC,CAAC;qBAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC7B,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACL,MAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC/B,CAAC;gBACD,CAAC,EAAE,CAAC,CAAC,mCAAmC;YAC1C,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,IAAS;IAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAAW,EAAE,OAAiB;IACjD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,MAAM,MAAM,GAAa,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtE,aAAa;IACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACtB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;YACrC,CAAC;YACD,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,YAAY,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDb,CAAC,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,IAAa;IACzC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IAE3C,qBAAqB;IACrB,MAAM,MAAM,GAAyB,EAAE,CAAC;IAExC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,gBAAgB;IAChB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAE5C,iBAAiB;IACjB,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,UAAU,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACnG,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,IAAa;IACxC,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACzE,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,UAAU,CAAC,KAAc;IACtC,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAC7E,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;;;;;GAOG;AACH,KAAK,UAAU,cAAc;IAC3B,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,yCAAyC;IACzC,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,qBAAqB,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;IACxF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;AAC3E,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAiB;IAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEhC,6EAA6E;IAC7E,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,+EAA+E;IAC/E,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,+EAA+E;IAC/E,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,uCAAuC;IACvC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,cAAc,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;QAClC,MAAM,gBAAgB,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACxC,MAAM,sBAAsB,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,8BAA8B;IAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACxC,MAAM,qBAAqB,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,aAAa,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,+BAA+B;IAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;QACrC,MAAM,kBAAkB,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,8BAA8B;IAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;QACpC,MAAM,iBAAiB,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,oEAAoE;IACpE,IAAI,IAAI,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACxC,MAAM,qBAAqB,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,0DAA0D;IAC1D,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,eAAe,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,qFAAqF;IACrF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,cAAc,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,sEAAsE;IACtE,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uCAAuC;IACvC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,+BAA+B;QAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC7B,yCAAyC;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAEjC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,KAAK,WAAW;oBACd,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;oBAC3B,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;oBAC1B,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;oBACvB,MAAM;gBACR;oBACE,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;oBACxD,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,WAAW,GAAG;QAClB,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO;QAC5C,uCAAuC;QACvC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM;QACxE,iCAAiC;QACjC,kBAAkB,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW;KAChG,CAAC;IACF,OAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,iCAAiC;AACjC,+CAA+C;AAC/C,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACrG,IAAI,iBAAiB,EAAE,CAAC;IACtB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC"}
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ const cliCommands = [
17
17
  'db:dump', 'db:export', 'db:import', 'query',
18
18
  'suggest', 'track-plan', 'save', 'check-completion', 'mark-done', 'init',
19
19
  // Hook events (v4.2.0+, v5.0.0+)
20
- 'on-subagent-stop', 'on-stop', 'on-enter-plan', 'on-exit-plan', 'on-session-start',
20
+ 'on-subagent-stop', 'on-stop', 'on-enter-plan', 'on-exit-plan', 'on-session-start', 'on-prompt',
21
21
  ];
22
22
  // CLI flags that should route to CLI (not MCP server)
23
23
  const cliFlags = ['--init', '--help', '--version'];
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,33 @@
1
1
  /**
2
2
  * Auto-initialize sqlew on server startup
3
3
  *
4
- * As of v5.0.0, this module handles:
5
- * - Global CLAUDE.md injection (~/.claude/CLAUDE.md)
4
+ * As of v5.0.6, this module handles:
5
+ * - Cleanup of legacy CLAUDE.md injection (~/.claude/CLAUDE.md)
6
6
  * - Project .gitignore updates
7
7
  *
8
+ * Plan mode enforcement is now handled by:
9
+ * - UserPromptSubmit hook (on-prompt.ts) with permission_mode check
10
+ * - PreToolUse hook (track-plan.ts) for EnterPlanMode
11
+ * - Enhanced Skills (sqlew-decision-format, sqlew-plan-guidance)
12
+ *
8
13
  * Skills and Hooks are managed by the sqlew-plugin (Claude Code Plugin).
9
14
  * @see https://github.com/sqlew-io/sqlew-plugin for Skills/Hooks/Agents
10
15
  */
11
16
  /**
12
- * Inject sqlew snippets into global ~/.claude/CLAUDE.md
13
- *
14
- * As of v5.0.0, snippets are injected directly into CLAUDE.md instead of
15
- * being copied to ~/.claude/rules/sqlew/. This ensures higher priority
16
- * and better compatibility with other CLI tools (Codex, Gemini CLI).
17
+ * Clean up legacy sqlew injection from global ~/.claude/CLAUDE.md
17
18
  *
18
- * The injected section is wrapped with HTML comment markers for:
19
- * - Easy identification of auto-managed content
20
- * - Safe updates (replace existing section)
21
- * - No impact on Markdown rendering
19
+ * As of v5.0.6, plan mode enforcement is handled by Hooks (UserPromptSubmit)
20
+ * instead of CLAUDE.md injection. This function removes the legacy injected
21
+ * section (between <!-- sqlew:auto-injected:start/end --> markers).
22
22
  *
23
- * TODO: Add client detection to conditionally inject based on CLI type
24
- * Use server.getClientVersion() after MCP initialization
23
+ * Safe to call multiple times - does nothing if no markers found.
25
24
  */
26
- export declare function injectToGlobalClaudeMd(): void;
25
+ export declare function cleanupGlobalClaudeMd(): void;
27
26
  /**
28
27
  * Initialize sqlew on MCP server startup
29
28
  *
30
- * As of v5.0.0:
31
- * - Injects snippets into ~/.claude/CLAUDE.md (not rules/)
29
+ * As of v5.0.6:
30
+ * - Cleans up legacy CLAUDE.md injection (one-time)
32
31
  * - Updates project .gitignore
33
32
  *
34
33
  * @param projectRoot - Project root directory (for .gitignore updates)
@@ -1 +1 @@
1
- {"version":3,"file":"init-rules.d.ts","sourceRoot":"","sources":["../src/init-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAwBH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAyE7C;AASD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAS9D;AAoBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAkE7D"}
1
+ {"version":3,"file":"init-rules.d.ts","sourceRoot":"","sources":["../src/init-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkBH;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CA8B5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAQ9D;AAoBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAkE7D"}
@@ -1,133 +1,77 @@
1
1
  /**
2
2
  * Auto-initialize sqlew on server startup
3
3
  *
4
- * As of v5.0.0, this module handles:
5
- * - Global CLAUDE.md injection (~/.claude/CLAUDE.md)
4
+ * As of v5.0.6, this module handles:
5
+ * - Cleanup of legacy CLAUDE.md injection (~/.claude/CLAUDE.md)
6
6
  * - Project .gitignore updates
7
7
  *
8
+ * Plan mode enforcement is now handled by:
9
+ * - UserPromptSubmit hook (on-prompt.ts) with permission_mode check
10
+ * - PreToolUse hook (track-plan.ts) for EnterPlanMode
11
+ * - Enhanced Skills (sqlew-decision-format, sqlew-plan-guidance)
12
+ *
8
13
  * Skills and Hooks are managed by the sqlew-plugin (Claude Code Plugin).
9
14
  * @see https://github.com/sqlew-io/sqlew-plugin for Skills/Hooks/Agents
10
15
  */
11
16
  import * as fs from 'fs';
12
17
  import * as path from 'path';
13
18
  import * as os from 'os';
14
- import { fileURLToPath } from 'url';
15
19
  import { debugLog } from './utils/debug-logger.js';
16
- const __filename = fileURLToPath(import.meta.url);
17
- const __dirname = path.dirname(__filename);
20
+ /** Marker for sqlew auto-injected section in CLAUDE.md (legacy) */
21
+ const CLAUDE_MD_MARKER_START = '<!-- sqlew:auto-injected:start -->';
22
+ const CLAUDE_MD_MARKER_END = '<!-- sqlew:auto-injected:end -->';
18
23
  /**
19
- * Get path to assets directory (relative to dist/)
24
+ * Escape special regex characters in a string
20
25
  */
21
- function getAssetsPath() {
22
- const distDir = __dirname; // .../dist
23
- const packageRoot = path.dirname(distDir); // .../mcp-sqlew
24
- return path.join(packageRoot, 'assets');
26
+ function escapeRegex(str) {
27
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
25
28
  }
26
- /** Marker for sqlew auto-injected section in CLAUDE.md */
27
- const CLAUDE_MD_MARKER_START = '<!-- sqlew:auto-injected:start -->';
28
- const CLAUDE_MD_MARKER_END = '<!-- sqlew:auto-injected:end -->';
29
29
  /**
30
- * Inject sqlew snippets into global ~/.claude/CLAUDE.md
30
+ * Clean up legacy sqlew injection from global ~/.claude/CLAUDE.md
31
31
  *
32
- * As of v5.0.0, snippets are injected directly into CLAUDE.md instead of
33
- * being copied to ~/.claude/rules/sqlew/. This ensures higher priority
34
- * and better compatibility with other CLI tools (Codex, Gemini CLI).
32
+ * As of v5.0.6, plan mode enforcement is handled by Hooks (UserPromptSubmit)
33
+ * instead of CLAUDE.md injection. This function removes the legacy injected
34
+ * section (between <!-- sqlew:auto-injected:start/end --> markers).
35
35
  *
36
- * The injected section is wrapped with HTML comment markers for:
37
- * - Easy identification of auto-managed content
38
- * - Safe updates (replace existing section)
39
- * - No impact on Markdown rendering
40
- *
41
- * TODO: Add client detection to conditionally inject based on CLI type
42
- * Use server.getClientVersion() after MCP initialization
36
+ * Safe to call multiple times - does nothing if no markers found.
43
37
  */
44
- export function injectToGlobalClaudeMd() {
38
+ export function cleanupGlobalClaudeMd() {
45
39
  const home = os.homedir();
46
- const claudeDir = path.join(home, '.claude');
47
- const claudeMdPath = path.join(claudeDir, 'CLAUDE.md');
48
- const snippetsDir = path.join(getAssetsPath(), 'claude-md-snippets');
49
- // Check if snippets directory exists
50
- if (!fs.existsSync(snippetsDir)) {
51
- debugLog('WARN', 'Claude MD snippets directory not found', { snippetsDir });
40
+ const claudeMdPath = path.join(home, '.claude', 'CLAUDE.md');
41
+ // Skip if file doesn't exist
42
+ if (!fs.existsSync(claudeMdPath)) {
52
43
  return;
53
44
  }
54
- // Create ~/.claude/ directory if needed
55
- if (!fs.existsSync(claudeDir)) {
56
- try {
57
- fs.mkdirSync(claudeDir, { recursive: true });
58
- debugLog('INFO', 'Created ~/.claude directory', { claudeDir });
59
- }
60
- catch (error) {
61
- debugLog('WARN', 'Failed to create ~/.claude directory', { error });
62
- return;
63
- }
64
- }
65
- // Read current CLAUDE.md content (or empty string if doesn't exist)
66
- let content = '';
67
- if (fs.existsSync(claudeMdPath)) {
68
- content = fs.readFileSync(claudeMdPath, 'utf-8');
69
- }
70
- else {
71
- debugLog('INFO', 'Creating new ~/.claude/CLAUDE.md', { claudeMdPath });
72
- }
73
- // Find all .md files in snippets directory
74
- const snippetFiles = fs.readdirSync(snippetsDir).filter(f => f.endsWith('.md'));
75
- if (snippetFiles.length === 0) {
76
- debugLog('WARN', 'No snippet files found', { snippetsDir });
45
+ const content = fs.readFileSync(claudeMdPath, 'utf-8');
46
+ // Skip if no markers found (already clean)
47
+ if (!content.includes(CLAUDE_MD_MARKER_START)) {
48
+ debugLog('DEBUG', 'CLAUDE.md has no sqlew injection markers (already clean)');
77
49
  return;
78
50
  }
79
- // Concatenate all snippet contents
80
- const snippetContent = snippetFiles
81
- .map(f => fs.readFileSync(path.join(snippetsDir, f), 'utf-8'))
82
- .join('\n\n');
83
- // Build the injected section
84
- const injectedSection = `${CLAUDE_MD_MARKER_START}\n${snippetContent}\n${CLAUDE_MD_MARKER_END}`;
85
- // Check if section already exists
86
- if (content.includes(CLAUDE_MD_MARKER_START)) {
87
- // Check if content is the same (no update needed)
88
- const regex = new RegExp(`${escapeRegex(CLAUDE_MD_MARKER_START)}[\\s\\S]*?${escapeRegex(CLAUDE_MD_MARKER_END)}`, 'g');
89
- const existingMatch = content.match(regex);
90
- if (existingMatch && existingMatch[0] === injectedSection) {
91
- debugLog('DEBUG', 'CLAUDE.md sqlew section is up-to-date');
92
- return;
93
- }
94
- // Replace existing section
95
- content = content.replace(regex, injectedSection);
96
- debugLog('INFO', 'Updated sqlew section in CLAUDE.md', { files: snippetFiles.length });
97
- }
98
- else {
99
- // Append new section
100
- content = content.trimEnd() + '\n\n' + injectedSection + '\n';
101
- debugLog('INFO', 'Injected sqlew section into CLAUDE.md', { files: snippetFiles.length });
102
- }
103
- // Write updated content
51
+ // Remove the injected section
52
+ const regex = new RegExp(`\\n?\\n?${escapeRegex(CLAUDE_MD_MARKER_START)}[\\s\\S]*?${escapeRegex(CLAUDE_MD_MARKER_END)}\\n?`, 'g');
53
+ const cleaned = content.replace(regex, '').trimEnd() + '\n';
104
54
  try {
105
- fs.writeFileSync(claudeMdPath, content, 'utf-8');
55
+ fs.writeFileSync(claudeMdPath, cleaned, 'utf-8');
56
+ debugLog('INFO', 'Removed legacy sqlew injection from ~/.claude/CLAUDE.md');
106
57
  }
107
58
  catch (error) {
108
- debugLog('WARN', 'Failed to write CLAUDE.md', { error });
59
+ debugLog('WARN', 'Failed to clean up CLAUDE.md', { error });
109
60
  }
110
61
  }
111
- /**
112
- * Escape special regex characters in a string
113
- */
114
- function escapeRegex(str) {
115
- return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
116
- }
117
62
  /**
118
63
  * Initialize sqlew on MCP server startup
119
64
  *
120
- * As of v5.0.0:
121
- * - Injects snippets into ~/.claude/CLAUDE.md (not rules/)
65
+ * As of v5.0.6:
66
+ * - Cleans up legacy CLAUDE.md injection (one-time)
122
67
  * - Updates project .gitignore
123
68
  *
124
69
  * @param projectRoot - Project root directory (for .gitignore updates)
125
70
  */
126
71
  export function initializeSqlewRules(projectRoot) {
127
72
  debugLog('DEBUG', 'Initializing sqlew', { projectRoot });
128
- // Inject snippets into global ~/.claude/CLAUDE.md
129
- // TODO: Add client detection to conditionally inject
130
- injectToGlobalClaudeMd();
73
+ // Clean up legacy CLAUDE.md injection (safe to call multiple times)
74
+ cleanupGlobalClaudeMd();
131
75
  // Initialize .gitignore entries for sqlew-generated files
132
76
  initializeGitignore(projectRoot);
133
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init-rules.js","sourceRoot":"","sources":["../src/init-rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-rules.js","sourceRoot":"","sources":["../src/init-rules.ts"],"names":[],"mappings":"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"}
@@ -86,11 +86,11 @@ export async function getConstraints(params, adapter) {
86
86
  'c.priority',
87
87
  knex.raw(`${db.dateFunction('c.ts')} as created_at`),
88
88
  // Tags subquery
89
- knex.raw(`(
90
- SELECT ${db.stringAgg('t2.name', ',')}
91
- FROM t_constraint_tags ct2
92
- JOIN m_tags t2 ON ct2.tag_id = t2.id
93
- WHERE ct2.constraint_id = c.id
89
+ knex.raw(`(
90
+ SELECT ${db.stringAgg('t2.name', ',')}
91
+ FROM t_constraint_tags ct2
92
+ JOIN m_tags t2 ON ct2.tag_id = t2.id
93
+ WHERE ct2.constraint_id = c.id
94
94
  ) as tags`),
95
95
  ]);
96
96
  // Convert priority integer to string and parse tags
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sqlew",
3
3
  "description": "Automated ADR (Architecture Decision Records) for Claude Code - MCP server with SQL-backed decision repository",
4
- "version": "5.0.5",
4
+ "version": "5.0.6",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
7
7
  "bin": {
@@ -1,107 +0,0 @@
1
- ## Plan Mode Integration
2
-
3
- ### REQUIRED: Suggest Search BEFORE Planning
4
-
5
- **CRITICAL**: Before writing any plan, you MUST search for related context.
6
-
7
- **Step 1**: Extract keywords from the user's task (e.g., migration, auth, database)
8
-
9
- **Step 2**: Run suggest search:
10
- ```
11
- suggest { action: "by_context", key: "<keyword>", tags: ["<relevant-tags>"] }
12
- suggest { action: "by_context", target: "constraint", text: "<topic>" }
13
- ```
14
-
15
- **Step 3**: Include results in plan (MANDATORY section):
16
- ```markdown
17
- ## Related Context (from sqlew)
18
-
19
- ### Past Decisions
20
- | Key | Value | Score |
21
- |-----|-------|-------|
22
- | path/to/decision | description | 85 |
23
-
24
- > If empty: "No related decisions found for: <keywords>"
25
-
26
- ### Applicable Constraints
27
- - **[category]**: constraint text (Priority: high)
28
-
29
- > If empty: "No constraints found for: <keywords>"
30
- ```
31
-
32
- **FAILURE TO INCLUDE "Related Context" SECTION = INVALID PLAN**
33
-
34
- ---
35
-
36
- ### REQUIRED: Decision & Constraint Recording
37
-
38
- **When writing plans, you MUST include the following sections:**
39
-
40
- 1. **๐Ÿ“Œ Decisions** - Technology choices, architecture patterns, implementation approaches
41
- 2. **๐Ÿšซ Constraints** - Rules, restrictions, limitations, prohibited patterns from user requirements
42
-
43
- **IMPORTANT**: If the user mentions any restrictions, prohibitions, or "don't use X", these MUST be recorded as ๐Ÿšซ Constraints.
44
-
45
- ---
46
-
47
- **Decision format (REQUIRED for any technical choice):**
48
-
49
- ```markdown
50
- ### ๐Ÿ“Œ Decision: [key/path]
51
- - **Value**: Description of the decision
52
- - **Layer**: presentation | business | data | infrastructure | cross-cutting
53
- - **Tags**: tag1, tag2 (optional)
54
- - **Rationale**: Why this decision was made (optional)
55
- - **Alternatives**: Option A, Option B (optional, comma-separated)
56
- - **Tradeoffs**: Pros and cons description (optional)
57
- ```
58
-
59
- **Constraint format (REQUIRED when user specifies restrictions):**
60
-
61
- ```markdown
62
- ### ๐Ÿšซ Constraint: [category]
63
- - **Rule**: Description of the constraint
64
- - **Priority**: critical | high | medium | low
65
- - **Tags**: tag1, tag2 (optional)
66
- ```
67
-
68
- Category options: `architecture` | `security` | `code-style` | `performance`
69
-
70
- ---
71
-
72
- ### With Claude Code Hooks (Recommended)
73
-
74
- If you've run `sqlew --hooks`, sqlew integration is **fully automatic**:
75
-
76
- - ๐Ÿ“Œ/๐Ÿšซ patterns are auto-detected and registered as draft on ExitPlanMode
77
- - Related decisions are auto-suggested before Task execution
78
- - Decisions are auto-saved when code is edited
79
-
80
- ### Manual Usage (Without Hooks)
81
-
82
- **Research Phase:**
83
- - `/sqlew search for <topic>` - find related decisions
84
-
85
- **Final Plan Phase:**
86
- - `/sqlew record <decision>` - record key architectural decisions
87
-
88
- ---
89
-
90
- ### Failed Queue Check (IMPORTANT)
91
-
92
- **At the start of plan mode**, check if `.sqlew/queue/failed.json` exists:
93
-
94
- ```bash
95
- # Check failed queue status
96
- queue { action: "list" } # Shows both pending and failed items
97
- ```
98
-
99
- **If failed items exist:**
100
-
101
- 1. **Review each failed item** - Common failure: HighSimilarity (60%+) means the item is similar to an existing decision
102
- 2. **Resolution options:**
103
- - **If truly duplicate**: Delete the failed queue file or use `queue { action: "clear" }` with `target: "failed"`
104
- - **If different intent**: Use a more specific key and re-register manually via `/sqlew record <decision>`
105
- 3. **After resolving**: Delete or empty the failed queue file
106
-
107
- **Why this happens**: Items that fail processing (e.g., high similarity to existing decisions) are moved to `failed.json` instead of being retried indefinitely. This prevents infinite retry loops.
@@ -1,84 +0,0 @@
1
- ## Queue Monitoring After Plan Mode
2
-
3
- ### When to Check
4
-
5
- After ExitPlanMode or when Plan-to-ADR processing completes, check if there are unprocessed items in the queue.
6
-
7
- **Queue file locations:**
8
- - Pending: `.sqlew/queue/pending.json`
9
- - Failed: `.sqlew/queue/failed.json`
10
-
11
- ### How to Check
12
-
13
- Use the `queue` MCP tool to check the queue status:
14
-
15
- ```
16
- queue { action: "list" }
17
- ```
18
-
19
- The response includes:
20
- - `count`: Number of pending items
21
- - `failedCount`: Number of failed items (if any)
22
-
23
- ### Failed Queue (v5.0.1+)
24
-
25
- Items that fail processing (e.g., HighSimilarity errors) are automatically moved to `failed.json` instead of being retried indefinitely.
26
-
27
- **Why items fail:**
28
- - **HighSimilarity (60%+)**: Item is too similar to an existing decision
29
- - **Validation errors**: Invalid layer, category, or other data issues
30
-
31
- **Resolution:**
32
- 1. Check `failedItems` in `queue { action: "list" }` response
33
- 2. For duplicates: Clear with `queue { action: "clear", target: "failed" }`
34
- 3. For different intent: Re-register manually with a more specific key via `/sqlew record <decision>`
35
-
36
- ### Queue Tool Actions
37
-
38
- | Action | Description | Example |
39
- |--------|-------------|---------|
40
- | `list` | Show pending and failed items | `queue { action: "list" }` |
41
- | `remove` | Remove specific pending item | `queue { action: "remove", index: 0 }` |
42
- | `clear` | Clear pending queue (default) | `queue { action: "clear" }` |
43
- | `clear` | Clear failed queue | `queue { action: "clear", target: "failed" }` |
44
- | `clear` | Clear both queues | `queue { action: "clear", target: "all" }` |
45
-
46
- ### Queue File Formats
47
-
48
- **pending.json:**
49
- ```json
50
- {
51
- "items": [
52
- {
53
- "type": "decision",
54
- "action": "create",
55
- "timestamp": "2026-01-13T00:00:00.000Z",
56
- "data": {
57
- "key": "path/to/decision",
58
- "value": "description",
59
- "status": "draft",
60
- "layer": "infrastructure",
61
- "tags": ["plan", "auto-extracted", "..."]
62
- }
63
- }
64
- ]
65
- }
66
- ```
67
-
68
- **failed.json:**
69
- ```json
70
- {
71
- "items": [
72
- {
73
- "item": {
74
- "type": "decision",
75
- "action": "create",
76
- "timestamp": "2026-01-24T...",
77
- "data": { "key": "...", "value": "..." }
78
- },
79
- "error": "HighSimilarity: 65% match with existing decision 'path/to/existing'",
80
- "failedAt": "2026-01-24T..."
81
- }
82
- ]
83
- }
84
- ```