context-mode 1.0.89 → 1.0.91
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/.openclaw-plugin/openclaw.plugin.json +1 -1
- package/.openclaw-plugin/package.json +1 -1
- package/README.md +184 -60
- package/build/adapters/antigravity/index.d.ts +3 -5
- package/build/adapters/antigravity/index.js +7 -35
- package/build/adapters/base.d.ts +27 -0
- package/build/adapters/base.js +59 -0
- package/build/adapters/claude-code/index.d.ts +9 -25
- package/build/adapters/claude-code/index.js +12 -140
- package/build/adapters/claude-code-base.d.ts +49 -0
- package/build/adapters/claude-code-base.js +113 -0
- package/build/adapters/client-map.js +5 -0
- package/build/adapters/codex/hooks.d.ts +21 -14
- package/build/adapters/codex/hooks.js +22 -15
- package/build/adapters/codex/index.d.ts +6 -10
- package/build/adapters/codex/index.js +13 -43
- package/build/adapters/copilot-base.d.ts +78 -0
- package/build/adapters/copilot-base.js +281 -0
- package/build/adapters/cursor/index.d.ts +3 -5
- package/build/adapters/cursor/index.js +6 -34
- package/build/adapters/detect.d.ts +7 -0
- package/build/adapters/detect.js +57 -56
- package/build/adapters/gemini-cli/index.d.ts +3 -5
- package/build/adapters/gemini-cli/index.js +7 -35
- package/build/adapters/jetbrains-copilot/config.d.ts +8 -0
- package/build/adapters/jetbrains-copilot/config.js +8 -0
- package/build/adapters/jetbrains-copilot/hooks.d.ts +51 -0
- package/build/adapters/jetbrains-copilot/hooks.js +82 -0
- package/build/adapters/jetbrains-copilot/index.d.ts +24 -0
- package/build/adapters/jetbrains-copilot/index.js +119 -0
- package/build/adapters/kiro/hooks.d.ts +14 -0
- package/build/adapters/kiro/hooks.js +23 -0
- package/build/adapters/kiro/index.d.ts +3 -5
- package/build/adapters/kiro/index.js +10 -38
- package/build/adapters/openclaw/index.d.ts +3 -4
- package/build/adapters/openclaw/index.js +6 -22
- package/build/adapters/opencode/index.d.ts +2 -3
- package/build/adapters/opencode/index.js +5 -16
- package/build/adapters/qwen-code/index.d.ts +39 -0
- package/build/adapters/qwen-code/index.js +199 -0
- package/build/adapters/types.d.ts +1 -1
- package/build/adapters/vscode-copilot/index.d.ts +16 -46
- package/build/adapters/vscode-copilot/index.js +29 -320
- package/build/adapters/zed/index.d.ts +3 -5
- package/build/adapters/zed/index.js +7 -35
- package/build/cli.js +13 -0
- package/build/lifecycle.d.ts +23 -0
- package/build/lifecycle.js +54 -13
- package/build/opencode-plugin.d.ts +19 -7
- package/build/opencode-plugin.js +19 -7
- package/build/runtime.js +24 -9
- package/build/security.d.ts +17 -1
- package/build/security.js +40 -6
- package/build/server.js +53 -10
- package/build/session/analytics.d.ts +8 -7
- package/build/session/analytics.js +107 -76
- package/build/session/db.d.ts +10 -1
- package/build/session/db.js +67 -8
- package/build/session/extract.js +10 -2
- package/build/session/project-attribution.d.ts +73 -0
- package/build/session/project-attribution.js +231 -0
- package/build/store.d.ts +4 -0
- package/build/store.js +58 -9
- package/build/types.d.ts +8 -0
- package/cli.bundle.mjs +135 -121
- package/configs/antigravity/GEMINI.md +31 -36
- package/configs/claude-code/CLAUDE.md +31 -37
- package/configs/codex/AGENTS.md +35 -49
- package/configs/cursor/context-mode.mdc +24 -25
- package/configs/gemini-cli/GEMINI.md +30 -36
- package/configs/jetbrains-copilot/copilot-instructions.md +59 -0
- package/configs/jetbrains-copilot/hooks.json +16 -0
- package/configs/jetbrains-copilot/mcp.json +8 -0
- package/configs/kilo/AGENTS.md +30 -36
- package/configs/kiro/KIRO.md +30 -36
- package/configs/kiro/agent.json +1 -1
- package/configs/openclaw/AGENTS.md +30 -36
- package/configs/opencode/AGENTS.md +30 -36
- package/configs/pi/AGENTS.md +31 -36
- package/configs/qwen-code/QWEN.md +63 -0
- package/configs/vscode-copilot/copilot-instructions.md +30 -36
- package/configs/zed/AGENTS.md +31 -36
- package/hooks/codex/posttooluse.mjs +7 -7
- package/hooks/codex/pretooluse.mjs +3 -3
- package/hooks/codex/sessionstart.mjs +2 -1
- package/hooks/core/formatters.mjs +24 -0
- package/hooks/core/routing.mjs +40 -15
- package/hooks/core/tool-naming.mjs +2 -0
- package/hooks/cursor/posttooluse.mjs +7 -7
- package/hooks/cursor/pretooluse.mjs +3 -3
- package/hooks/cursor/sessionstart.mjs +2 -1
- package/hooks/cursor/stop.mjs +2 -2
- package/hooks/ensure-deps.mjs +22 -10
- package/hooks/gemini-cli/aftertool.mjs +8 -8
- package/hooks/gemini-cli/beforetool.mjs +3 -2
- package/hooks/gemini-cli/precompress.mjs +2 -2
- package/hooks/gemini-cli/sessionstart.mjs +12 -4
- package/hooks/jetbrains-copilot/posttooluse.mjs +61 -0
- package/hooks/jetbrains-copilot/precompact.mjs +54 -0
- package/hooks/jetbrains-copilot/pretooluse.mjs +27 -0
- package/hooks/jetbrains-copilot/sessionstart.mjs +119 -0
- package/hooks/kiro/posttooluse.mjs +6 -7
- package/hooks/kiro/pretooluse.mjs +3 -2
- package/hooks/posttooluse.mjs +8 -8
- package/hooks/precompact.mjs +3 -4
- package/hooks/pretooluse.mjs +5 -4
- package/hooks/routing-block.mjs +35 -33
- package/hooks/session-attribution.bundle.mjs +1 -0
- package/hooks/session-db.bundle.mjs +27 -8
- package/hooks/session-extract.bundle.mjs +2 -1
- package/hooks/session-helpers.mjs +44 -3
- package/hooks/session-loaders.mjs +37 -0
- package/hooks/sessionstart.mjs +5 -5
- package/hooks/userpromptsubmit.mjs +26 -9
- package/hooks/vscode-copilot/posttooluse.mjs +8 -8
- package/hooks/vscode-copilot/precompact.mjs +2 -2
- package/hooks/vscode-copilot/pretooluse.mjs +3 -2
- package/hooks/vscode-copilot/sessionstart.mjs +2 -2
- package/insight/server.mjs +237 -25
- package/insight/src/lib/api.ts +2 -1
- package/insight/src/routes/index.tsx +16 -3
- package/insight/src/routes/search.tsx +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +11 -2
- package/server.bundle.mjs +94 -80
- package/skills/ctx-insight/SKILL.md +1 -1
|
@@ -1,65 +1,60 @@
|
|
|
1
1
|
# context-mode — MANDATORY routing rules
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
context-mode MCP tools available. Rules protect context window from flooding. One unrouted command dumps 56 KB into context. Antigravity has NO hooks — these instructions are ONLY enforcement. Follow strictly.
|
|
4
4
|
|
|
5
5
|
## Think in Code — MANDATORY
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Analyze/count/filter/compare/search/parse/transform data: **write code** via `mcp__context-mode__ctx_execute(language, code)`, `console.log()` only the answer. Do NOT read raw data into context. PROGRAM the analysis, not COMPUTE it. Pure JavaScript — Node.js built-ins only (`fs`, `path`, `child_process`). `try/catch`, handle `null`/`undefined`. One script replaces ten tool calls.
|
|
8
8
|
|
|
9
|
-
## BLOCKED
|
|
9
|
+
## BLOCKED — do NOT use
|
|
10
10
|
|
|
11
11
|
### curl / wget — FORBIDDEN
|
|
12
|
-
Do NOT use `curl
|
|
13
|
-
|
|
14
|
-
- `mcp__context-mode__ctx_fetch_and_index(url, source)` to fetch and index web pages
|
|
15
|
-
- `mcp__context-mode__ctx_execute(language: "javascript", code: "const r = await fetch(...)")` to run HTTP calls in sandbox
|
|
12
|
+
Do NOT use `curl`/`wget` via `run_command`. Dumps raw HTTP into context.
|
|
13
|
+
Use: `mcp__context-mode__ctx_fetch_and_index(url, source)` or `mcp__context-mode__ctx_execute(language: "javascript", code: "const r = await fetch(...)")`
|
|
16
14
|
|
|
17
15
|
### Inline HTTP — FORBIDDEN
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- `mcp__context-mode__ctx_execute(language, code)` to run HTTP calls in sandbox — only stdout enters context
|
|
16
|
+
No `node -e "fetch(..."`, `python -c "requests.get(..."` via `run_command`. Bypasses sandbox.
|
|
17
|
+
Use: `mcp__context-mode__ctx_execute(language, code)` — only stdout enters context
|
|
21
18
|
|
|
22
19
|
### Direct web fetching — FORBIDDEN
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- `mcp__context-mode__ctx_fetch_and_index(url, source)` then `mcp__context-mode__ctx_search(queries)` to query the indexed content
|
|
20
|
+
No `read_url_content` for large pages. Raw HTML can exceed 100 KB.
|
|
21
|
+
Use: `mcp__context-mode__ctx_fetch_and_index(url, source)` then `mcp__context-mode__ctx_search(queries)`
|
|
26
22
|
|
|
27
|
-
## REDIRECTED
|
|
23
|
+
## REDIRECTED — use sandbox
|
|
28
24
|
|
|
29
25
|
### Shell (>20 lines output)
|
|
30
|
-
`run_command`
|
|
31
|
-
|
|
32
|
-
- `mcp__context-mode__ctx_batch_execute(commands, queries)` — run multiple commands + search in ONE call
|
|
33
|
-
- `mcp__context-mode__ctx_execute(language: "shell", code: "...")` — run in sandbox, only stdout enters context
|
|
26
|
+
`run_command` ONLY for: `git`, `mkdir`, `rm`, `mv`, `cd`, `ls`, `npm install`, `pip install`.
|
|
27
|
+
Otherwise: `mcp__context-mode__ctx_batch_execute(commands, queries)` or `mcp__context-mode__ctx_execute(language: "shell", code: "...")`
|
|
34
28
|
|
|
35
29
|
### File reading (for analysis)
|
|
36
|
-
|
|
37
|
-
If you are reading to **analyze, explore, or summarize** → use `mcp__context-mode__ctx_execute_file(path, language, code)` instead. Only your printed summary enters context. The raw file stays in the sandbox.
|
|
30
|
+
Reading to **edit** → `view_file`/`replace_file_content` correct. Reading to **analyze/explore/summarize** → `mcp__context-mode__ctx_execute_file(path, language, code)`.
|
|
38
31
|
|
|
39
32
|
### Search (large results)
|
|
40
|
-
|
|
33
|
+
Use `mcp__context-mode__ctx_execute(language: "shell", code: "grep ...")` in sandbox.
|
|
41
34
|
|
|
42
|
-
## Tool selection
|
|
35
|
+
## Tool selection
|
|
43
36
|
|
|
44
|
-
1. **GATHER**: `mcp__context-mode__ctx_batch_execute(commands, queries)` —
|
|
45
|
-
2. **FOLLOW-UP**: `mcp__context-mode__ctx_search(queries: ["q1", "q2", ...])` —
|
|
46
|
-
3. **PROCESSING**: `mcp__context-mode__ctx_execute(language, code)` | `mcp__context-mode__ctx_execute_file(path, language, code)` —
|
|
47
|
-
4. **WEB**: `mcp__context-mode__ctx_fetch_and_index(url, source)` then `mcp__context-mode__ctx_search(queries)` —
|
|
48
|
-
5. **INDEX**: `mcp__context-mode__ctx_index(content, source)` —
|
|
37
|
+
1. **GATHER**: `mcp__context-mode__ctx_batch_execute(commands, queries)` — runs all commands, auto-indexes, returns search. ONE call replaces 30+. Each command: `{label: "header", command: "..."}`.
|
|
38
|
+
2. **FOLLOW-UP**: `mcp__context-mode__ctx_search(queries: ["q1", "q2", ...])` — all questions as array, ONE call.
|
|
39
|
+
3. **PROCESSING**: `mcp__context-mode__ctx_execute(language, code)` | `mcp__context-mode__ctx_execute_file(path, language, code)` — sandbox, only stdout enters context.
|
|
40
|
+
4. **WEB**: `mcp__context-mode__ctx_fetch_and_index(url, source)` then `mcp__context-mode__ctx_search(queries)` — raw HTML never enters context.
|
|
41
|
+
5. **INDEX**: `mcp__context-mode__ctx_index(content, source)` — store in FTS5 for later search.
|
|
49
42
|
|
|
50
|
-
## Output
|
|
43
|
+
## Output
|
|
51
44
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
45
|
+
Terse like caveman. Technical substance exact. Only fluff die.
|
|
46
|
+
Drop: articles, filler (just/really/basically), pleasantries, hedging. Fragments OK. Short synonyms. Code unchanged.
|
|
47
|
+
Pattern: [thing] [action] [reason]. [next step]. Auto-expand for: security warnings, irreversible actions, user confusion.
|
|
48
|
+
Write artifacts to FILES — never inline. Return: file path + 1-line description.
|
|
49
|
+
Descriptive source labels for `search(source: "label")`.
|
|
55
50
|
|
|
56
51
|
## ctx commands
|
|
57
52
|
|
|
58
53
|
| Command | Action |
|
|
59
54
|
|---------|--------|
|
|
60
|
-
| `ctx stats` | Call
|
|
61
|
-
| `ctx doctor` | Call
|
|
62
|
-
| `ctx upgrade` | Call
|
|
63
|
-
| `ctx purge` | Call
|
|
55
|
+
| `ctx stats` | Call `stats` MCP tool, display full output verbatim |
|
|
56
|
+
| `ctx doctor` | Call `doctor` MCP tool, run returned shell command, display as checklist |
|
|
57
|
+
| `ctx upgrade` | Call `upgrade` MCP tool, run returned shell command, display as checklist |
|
|
58
|
+
| `ctx purge` | Call `purge` MCP tool with confirm: true. Warns before wiping knowledge base. |
|
|
64
59
|
|
|
65
|
-
After /clear or /compact: knowledge base and session stats
|
|
60
|
+
After /clear or /compact: knowledge base and session stats preserved. Use `ctx purge` to start fresh.
|
|
@@ -1,69 +1,63 @@
|
|
|
1
1
|
# context-mode — MANDATORY routing rules
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
context-mode MCP tools available. Rules protect context window from flooding. One unrouted command dumps 56 KB into context.
|
|
4
4
|
|
|
5
5
|
## Think in Code — MANDATORY
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Analyze/count/filter/compare/search/parse/transform data: **write code** via `ctx_execute(language, code)`, `console.log()` only the answer. Do NOT read raw data into context. PROGRAM the analysis, not COMPUTE it. Pure JavaScript — Node.js built-ins only (`fs`, `path`, `child_process`). `try/catch`, handle `null`/`undefined`. One script replaces ten tool calls.
|
|
8
8
|
|
|
9
|
-
## BLOCKED
|
|
9
|
+
## BLOCKED — do NOT attempt
|
|
10
10
|
|
|
11
11
|
### curl / wget — BLOCKED
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- `ctx_fetch_and_index(url, source)` to fetch and index web pages
|
|
15
|
-
- `ctx_execute(language: "javascript", code: "const r = await fetch(...)")` to run HTTP calls in sandbox
|
|
12
|
+
Intercepted and replaced with error. Do NOT retry.
|
|
13
|
+
Use: `ctx_fetch_and_index(url, source)` or `ctx_execute(language: "javascript", code: "const r = await fetch(...)")`
|
|
16
14
|
|
|
17
15
|
### Inline HTTP — BLOCKED
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- `ctx_execute(language, code)` to run HTTP calls in sandbox — only stdout enters context
|
|
16
|
+
`fetch('http`, `requests.get(`, `requests.post(`, `http.get(`, `http.request(` — intercepted. Do NOT retry.
|
|
17
|
+
Use: `ctx_execute(language, code)` — only stdout enters context
|
|
21
18
|
|
|
22
19
|
### WebFetch — BLOCKED
|
|
23
|
-
|
|
24
|
-
Instead use:
|
|
25
|
-
- `ctx_fetch_and_index(url, source)` then `ctx_search(queries)` to query the indexed content
|
|
20
|
+
Use: `ctx_fetch_and_index(url, source)` then `ctx_search(queries)`
|
|
26
21
|
|
|
27
|
-
## REDIRECTED
|
|
22
|
+
## REDIRECTED — use sandbox
|
|
28
23
|
|
|
29
24
|
### Bash (>20 lines output)
|
|
30
|
-
Bash
|
|
31
|
-
|
|
32
|
-
- `ctx_batch_execute(commands, queries)` — run multiple commands + search in ONE call
|
|
33
|
-
- `ctx_execute(language: "shell", code: "...")` — run in sandbox, only stdout enters context
|
|
25
|
+
Bash ONLY for: `git`, `mkdir`, `rm`, `mv`, `cd`, `ls`, `npm install`, `pip install`.
|
|
26
|
+
Otherwise: `ctx_batch_execute(commands, queries)` or `ctx_execute(language: "shell", code: "...")`
|
|
34
27
|
|
|
35
28
|
### Read (for analysis)
|
|
36
|
-
|
|
37
|
-
If you are reading to **analyze, explore, or summarize** → use `ctx_execute_file(path, language, code)` instead. Only your printed summary enters context. The raw file content stays in the sandbox.
|
|
29
|
+
Reading to **Edit** → Read correct. Reading to **analyze/explore/summarize** → `ctx_execute_file(path, language, code)`.
|
|
38
30
|
|
|
39
31
|
### Grep (large results)
|
|
40
|
-
|
|
32
|
+
Use `ctx_execute(language: "shell", code: "grep ...")` in sandbox.
|
|
41
33
|
|
|
42
|
-
## Tool selection
|
|
34
|
+
## Tool selection
|
|
43
35
|
|
|
44
|
-
1. **GATHER**: `ctx_batch_execute(commands, queries)` —
|
|
45
|
-
2. **FOLLOW-UP**: `ctx_search(queries: ["q1", "q2", ...])` —
|
|
46
|
-
3. **PROCESSING**: `ctx_execute(language, code)` | `ctx_execute_file(path, language, code)` —
|
|
47
|
-
4. **WEB**: `ctx_fetch_and_index(url, source)` then `ctx_search(queries)` —
|
|
48
|
-
5. **INDEX**: `ctx_index(content, source)` —
|
|
36
|
+
1. **GATHER**: `ctx_batch_execute(commands, queries)` — runs all commands, auto-indexes, returns search. ONE call replaces 30+. Each command: `{label: "header", command: "..."}`.
|
|
37
|
+
2. **FOLLOW-UP**: `ctx_search(queries: ["q1", "q2", ...])` — all questions as array, ONE call.
|
|
38
|
+
3. **PROCESSING**: `ctx_execute(language, code)` | `ctx_execute_file(path, language, code)` — sandbox, only stdout enters context.
|
|
39
|
+
4. **WEB**: `ctx_fetch_and_index(url, source)` then `ctx_search(queries)` — raw HTML never enters context.
|
|
40
|
+
5. **INDEX**: `ctx_index(content, source)` — store in FTS5 for later search.
|
|
49
41
|
|
|
50
42
|
## Subagent routing
|
|
51
43
|
|
|
52
|
-
|
|
44
|
+
Routing block auto-injected into subagent prompts. Bash-type subagents upgraded to general-purpose. No manual instruction needed.
|
|
53
45
|
|
|
54
|
-
## Output
|
|
46
|
+
## Output
|
|
55
47
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
48
|
+
Terse like caveman. Technical substance exact. Only fluff die.
|
|
49
|
+
Drop: articles, filler (just/really/basically), pleasantries, hedging. Fragments OK. Short synonyms. Code unchanged.
|
|
50
|
+
Pattern: [thing] [action] [reason]. [next step]. Auto-expand for: security warnings, irreversible actions, user confusion.
|
|
51
|
+
Write artifacts to FILES — never inline. Return: file path + 1-line description.
|
|
52
|
+
Descriptive source labels for `ctx_search(source: "label")`.
|
|
59
53
|
|
|
60
54
|
## ctx commands
|
|
61
55
|
|
|
62
56
|
| Command | Action |
|
|
63
57
|
|---------|--------|
|
|
64
|
-
| `ctx stats` | Call
|
|
65
|
-
| `ctx doctor` | Call
|
|
66
|
-
| `ctx upgrade` | Call
|
|
67
|
-
| `ctx purge` | Call
|
|
58
|
+
| `ctx stats` | Call `ctx_stats` MCP tool, display full output verbatim |
|
|
59
|
+
| `ctx doctor` | Call `ctx_doctor` MCP tool, run returned shell command, display as checklist |
|
|
60
|
+
| `ctx upgrade` | Call `ctx_upgrade` MCP tool, run returned shell command, display as checklist |
|
|
61
|
+
| `ctx purge` | Call `ctx_purge` MCP tool with confirm: true. Warns before wiping knowledge base. |
|
|
68
62
|
|
|
69
|
-
After /clear or /compact: knowledge base and session stats
|
|
63
|
+
After /clear or /compact: knowledge base and session stats preserved. Use `ctx purge` to start fresh.
|
package/configs/codex/AGENTS.md
CHANGED
|
@@ -1,84 +1,70 @@
|
|
|
1
1
|
# context-mode — MANDATORY routing rules
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
context-mode MCP tools available. Rules protect context window from flooding. One unrouted command dumps 56 KB into context. Codex CLI has NO hooks — these instructions are ONLY enforcement. Follow strictly.
|
|
4
4
|
|
|
5
5
|
## Think in Code — MANDATORY
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Analyze/count/filter/compare/search/parse/transform data: **write code** via `ctx_execute(language, code)`, `console.log()` only the answer. Do NOT read raw data into context. PROGRAM the analysis, not COMPUTE it. Pure JavaScript — Node.js built-ins only (`fs`, `path`, `child_process`). `try/catch`, handle `null`/`undefined`. One script replaces ten tool calls.
|
|
8
8
|
|
|
9
|
-
## BLOCKED
|
|
9
|
+
## BLOCKED — do NOT use
|
|
10
10
|
|
|
11
11
|
### curl / wget — FORBIDDEN
|
|
12
|
-
Do NOT use `curl
|
|
13
|
-
|
|
14
|
-
- `ctx_fetch_and_index(url, source)` to fetch and index web pages
|
|
15
|
-
- `ctx_execute(language: "javascript", code: "const r = await fetch(...)")` to run HTTP calls in sandbox
|
|
12
|
+
Do NOT use `curl`/`wget` in shell. Dumps raw HTTP into context.
|
|
13
|
+
Use: `ctx_fetch_and_index(url, source)` or `ctx_execute(language: "javascript", code: "const r = await fetch(...)")`
|
|
16
14
|
|
|
17
15
|
### Inline HTTP — FORBIDDEN
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- `ctx_execute(language, code)` to run HTTP calls in sandbox — only stdout enters context
|
|
16
|
+
No `node -e "fetch(..."`, `python -c "requests.get(..."`. Bypasses sandbox.
|
|
17
|
+
Use: `ctx_execute(language, code)` — only stdout enters context
|
|
21
18
|
|
|
22
19
|
### Direct web fetching — FORBIDDEN
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- `ctx_fetch_and_index(url, source)` then `ctx_search(queries)` to query the indexed content
|
|
20
|
+
Raw HTML can exceed 100 KB.
|
|
21
|
+
Use: `ctx_fetch_and_index(url, source)` then `ctx_search(queries)`
|
|
26
22
|
|
|
27
|
-
## REDIRECTED
|
|
23
|
+
## REDIRECTED — use sandbox
|
|
28
24
|
|
|
29
25
|
### Shell (>20 lines output)
|
|
30
|
-
Shell
|
|
31
|
-
|
|
32
|
-
- `ctx_batch_execute(commands, queries)` — run multiple commands + search in ONE call
|
|
33
|
-
- `ctx_execute(language: "shell", code: "...")` — run in sandbox, only stdout enters context
|
|
26
|
+
Shell ONLY for: `git`, `mkdir`, `rm`, `mv`, `cd`, `ls`, `npm install`, `pip install`.
|
|
27
|
+
Otherwise: `ctx_batch_execute(commands, queries)` or `ctx_execute(language: "shell", code: "...")`
|
|
34
28
|
|
|
35
29
|
### File reading (for analysis)
|
|
36
|
-
|
|
37
|
-
If you are reading to **analyze, explore, or summarize** → use `ctx_execute_file(path, language, code)` instead. Only your printed summary enters context. The raw file stays in the sandbox.
|
|
30
|
+
Reading to **edit** → reading correct. Reading to **analyze/explore/summarize** → `ctx_execute_file(path, language, code)`.
|
|
38
31
|
|
|
39
32
|
### grep / search (large results)
|
|
40
|
-
|
|
33
|
+
Use `ctx_execute(language: "shell", code: "grep ...")` in sandbox.
|
|
41
34
|
|
|
42
|
-
## Tool selection
|
|
35
|
+
## Tool selection
|
|
43
36
|
|
|
44
|
-
1. **GATHER**: `ctx_batch_execute(commands, queries)` —
|
|
45
|
-
2. **FOLLOW-UP**: `ctx_search(queries: ["q1", "q2", ...])` —
|
|
46
|
-
3. **PROCESSING**: `ctx_execute(language, code)` | `ctx_execute_file(path, language, code)` —
|
|
47
|
-
4. **WEB**: `ctx_fetch_and_index(url, source)` then `ctx_search(queries)` —
|
|
48
|
-
5. **INDEX**: `ctx_index(content, source)` —
|
|
37
|
+
1. **GATHER**: `ctx_batch_execute(commands, queries)` — runs all commands, auto-indexes, returns search. ONE call replaces 30+. Each command: `{label: "header", command: "..."}`.
|
|
38
|
+
2. **FOLLOW-UP**: `ctx_search(queries: ["q1", "q2", ...])` — all questions as array, ONE call.
|
|
39
|
+
3. **PROCESSING**: `ctx_execute(language, code)` | `ctx_execute_file(path, language, code)` — sandbox, only stdout enters context.
|
|
40
|
+
4. **WEB**: `ctx_fetch_and_index(url, source)` then `ctx_search(queries)` — raw HTML never enters context.
|
|
41
|
+
5. **INDEX**: `ctx_index(content, source)` — store in FTS5 for later search.
|
|
49
42
|
|
|
50
|
-
## Output
|
|
43
|
+
## Output
|
|
51
44
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
45
|
+
Terse like caveman. Technical substance exact. Only fluff die.
|
|
46
|
+
Drop: articles, filler (just/really/basically), pleasantries, hedging. Fragments OK. Short synonyms. Code unchanged.
|
|
47
|
+
Pattern: [thing] [action] [reason]. [next step]. Auto-expand for: security warnings, irreversible actions, user confusion.
|
|
48
|
+
Write artifacts to FILES — never inline. Return: file path + 1-line description.
|
|
49
|
+
Descriptive source labels for `search(source: "label")`.
|
|
55
50
|
|
|
56
51
|
## ctx commands
|
|
57
52
|
|
|
58
53
|
| Command | Action |
|
|
59
54
|
|---------|--------|
|
|
60
|
-
| `ctx stats` | Call
|
|
61
|
-
| `ctx doctor` | Call
|
|
62
|
-
| `ctx upgrade` | Call
|
|
63
|
-
| `ctx purge` | Call
|
|
55
|
+
| `ctx stats` | Call `stats` MCP tool, display full output verbatim |
|
|
56
|
+
| `ctx doctor` | Call `doctor` MCP tool, run returned shell command, display as checklist |
|
|
57
|
+
| `ctx upgrade` | Call `upgrade` MCP tool, run returned shell command, display as checklist |
|
|
58
|
+
| `ctx purge` | Call `purge` MCP tool with confirm: true. Warns before wiping knowledge base. |
|
|
64
59
|
|
|
65
|
-
After /clear or /compact: knowledge base and session stats
|
|
60
|
+
After /clear or /compact: knowledge base and session stats preserved. Use `ctx purge` to start fresh.
|
|
66
61
|
|
|
67
62
|
## Windows notes
|
|
68
63
|
|
|
69
|
-
**PowerShell cmdlets
|
|
70
|
-
cmdlets (`Format-List`, `Format-Table`, `Get-Culture`, etc.) do not exist in bash and will fail
|
|
71
|
-
with `command not found`. Wrap them with `pwsh -NoProfile -Command "..."` instead.
|
|
64
|
+
**PowerShell cmdlets** — Sandbox uses bash. PowerShell cmdlets (`Format-List`, `Get-Culture`, etc.) fail with `command not found`. Wrap with `pwsh -NoProfile -Command "..."`.
|
|
72
65
|
|
|
73
|
-
**Relative paths** —
|
|
74
|
-
any user-supplied path to an absolute path before passing it to `rg`, `grep`, or `find`.
|
|
75
|
-
Ask the user to confirm the absolute path if it is not already known.
|
|
66
|
+
**Relative paths** — Sandbox CWD is temp dir, not project root. Convert to absolute paths. Ask user to confirm if unknown.
|
|
76
67
|
|
|
77
|
-
**Windows drive
|
|
78
|
-
use the MSYS2 convention, NOT the WSL convention:
|
|
79
|
-
`X:\path` → `/x/path` (lowercase letter, no `/mnt/` prefix).
|
|
80
|
-
Never emit `/mnt/<letter>/` prefixes regardless of which drive the project is on.
|
|
68
|
+
**Windows drive letters** — Sandbox runs Git Bash / MSYS2. `X:\path` → `/x/path` (lowercase, no `/mnt/`). Never emit `/mnt/<letter>/`.
|
|
81
69
|
|
|
82
|
-
**
|
|
83
|
-
Always wrap every path in double quotes: `rg "symbol" "$REPO_ROOT/some dir/Source"`.
|
|
84
|
-
This applies to all tools: `rg`, `grep`, `find`, `ls`, etc.
|
|
70
|
+
**Quote paths** — Spaces in paths cause splits. Always double-quote: `rg "symbol" "$REPO_ROOT/some dir/Source"`.
|
|
@@ -5,48 +5,47 @@ alwaysApply: true
|
|
|
5
5
|
|
|
6
6
|
# context-mode
|
|
7
7
|
|
|
8
|
-
Raw tool output floods
|
|
8
|
+
Raw tool output floods context window. Use context-mode MCP tools to keep raw data in sandbox.
|
|
9
9
|
|
|
10
10
|
## Think in Code — MANDATORY
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Analyze/count/filter/compare/search/parse/transform data: **write code** via `ctx_execute(language, code)`, `console.log()` only the answer. Do NOT read raw data into context. PROGRAM the analysis, not COMPUTE it. Pure JavaScript — Node.js built-ins only (`fs`, `path`, `child_process`). `try/catch`, handle `null`/`undefined`. One script replaces ten tool calls.
|
|
13
13
|
|
|
14
|
-
## Tool Selection
|
|
14
|
+
## Tool Selection
|
|
15
15
|
|
|
16
|
-
1. **GATHER**: `ctx_batch_execute(commands, queries)` —
|
|
17
|
-
2. **FOLLOW-UP**: `ctx_search(queries: ["q1", "q2", ...])` —
|
|
18
|
-
3. **PROCESSING**: `ctx_execute(language, code)`
|
|
19
|
-
4. **WEB**: `ctx_fetch_and_index(url)` then `ctx_search(queries)` —
|
|
20
|
-
5. **INDEX**: `ctx_index(content, source)` —
|
|
16
|
+
1. **GATHER**: `ctx_batch_execute(commands, queries)` — runs all commands, auto-indexes, searches. ONE call replaces many steps.
|
|
17
|
+
2. **FOLLOW-UP**: `ctx_search(queries: ["q1", "q2", ...])` — all follow-up questions, ONE call.
|
|
18
|
+
3. **PROCESSING**: `ctx_execute(language, code)` | `ctx_execute_file(path, language, code)` — sandbox, only stdout enters context.
|
|
19
|
+
4. **WEB**: `ctx_fetch_and_index(url)` then `ctx_search(queries)` — never dump raw HTML.
|
|
20
|
+
5. **INDEX**: `ctx_index(content, source)` — store in FTS5 for later search.
|
|
21
21
|
|
|
22
22
|
## Forbidden Actions
|
|
23
23
|
|
|
24
|
-
- DO NOT use Bash for
|
|
25
|
-
- DO NOT use Read for analysis — use `ctx_execute_file`. Read IS correct for
|
|
26
|
-
- DO NOT use WebFetch — use `ctx_fetch_and_index
|
|
24
|
+
- DO NOT use Bash for >20 lines output — use `ctx_execute` or `ctx_batch_execute`.
|
|
25
|
+
- DO NOT use Read for analysis — use `ctx_execute_file`. Read IS correct for Edit.
|
|
26
|
+
- DO NOT use WebFetch — use `ctx_fetch_and_index`.
|
|
27
27
|
- DO NOT use curl/wget in terminal — use `ctx_fetch_and_index`.
|
|
28
|
-
- Bash
|
|
29
|
-
- DO NOT use `ctx_execute
|
|
28
|
+
- Bash ONLY for git, mkdir, rm, mv, navigation, short commands.
|
|
29
|
+
- DO NOT use `ctx_execute`/`ctx_execute_file` to create/modify files. ctx_execute is for analysis and computation only.
|
|
30
30
|
|
|
31
31
|
## File Writing Policy
|
|
32
32
|
|
|
33
|
-
ALWAYS use
|
|
33
|
+
ALWAYS use native file editing tools to create/modify files. NEVER use `ctx_execute`, `ctx_execute_file`, or Bash to write file content.
|
|
34
34
|
|
|
35
|
-
## Output
|
|
35
|
+
## Output
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
Terse like caveman. Technical substance exact. Only fluff die.
|
|
38
|
+
Drop: articles, filler (just/really/basically), pleasantries, hedging. Fragments OK. Short synonyms. Code unchanged.
|
|
39
|
+
Pattern: [thing] [action] [reason]. [next step]. Auto-expand for: security warnings, irreversible actions, user confusion.
|
|
40
|
+
Write artifacts to FILES — never inline. Return: file path + 1-line description.
|
|
40
41
|
|
|
41
42
|
## ctx Commands
|
|
42
43
|
|
|
43
44
|
| Command | Action |
|
|
44
45
|
|---------|--------|
|
|
45
|
-
| `ctx stats` | Call
|
|
46
|
-
| `ctx doctor` | Call
|
|
47
|
-
| `ctx upgrade` | Call
|
|
48
|
-
| `ctx purge` | Call
|
|
46
|
+
| `ctx stats` | Call ctx_stats MCP tool, display full output verbatim. |
|
|
47
|
+
| `ctx doctor` | Call ctx_doctor MCP tool, run returned shell command, display as checklist. |
|
|
48
|
+
| `ctx upgrade` | Call ctx_upgrade MCP tool, run returned shell command, display as checklist. |
|
|
49
|
+
| `ctx purge` | Call ctx_purge MCP tool with confirm: true. Warn user this is irreversible. |
|
|
49
50
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
After /clear or /compact: knowledge base and session stats are preserved. Inform the user: "context-mode knowledge base preserved. Use `ctx purge` if you want to start fresh."
|
|
51
|
+
After /clear or /compact: knowledge base and session stats preserved. Use `ctx purge` to start fresh.
|
|
@@ -1,65 +1,59 @@
|
|
|
1
1
|
# context-mode — MANDATORY routing rules
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
context-mode MCP tools available. Rules protect context window from flooding. One unrouted command dumps 56 KB into context.
|
|
4
4
|
|
|
5
5
|
## Think in Code — MANDATORY
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Analyze/count/filter/compare/search/parse/transform data: **write code** via `mcp__context-mode__ctx_execute(language, code)`, `console.log()` only the answer. Do NOT read raw data into context. PROGRAM the analysis, not COMPUTE it. Pure JavaScript — Node.js built-ins only (`fs`, `path`, `child_process`). `try/catch`, handle `null`/`undefined`. One script replaces ten tool calls.
|
|
8
8
|
|
|
9
|
-
## BLOCKED
|
|
9
|
+
## BLOCKED — do NOT attempt
|
|
10
10
|
|
|
11
11
|
### curl / wget — BLOCKED
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- `mcp__context-mode__ctx_fetch_and_index(url, source)` to fetch and index web pages
|
|
15
|
-
- `mcp__context-mode__ctx_execute(language: "javascript", code: "const r = await fetch(...)")` to run HTTP calls in sandbox
|
|
12
|
+
Shell `curl`/`wget` intercepted and blocked. Do NOT retry.
|
|
13
|
+
Use: `mcp__context-mode__ctx_fetch_and_index(url, source)` or `mcp__context-mode__ctx_execute(language: "javascript", code: "const r = await fetch(...)")`
|
|
16
14
|
|
|
17
15
|
### Inline HTTP — BLOCKED
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- `mcp__context-mode__ctx_execute(language, code)` to run HTTP calls in sandbox — only stdout enters context
|
|
16
|
+
`fetch('http`, `requests.get(`, `requests.post(`, `http.get(`, `http.request(` — intercepted. Do NOT retry.
|
|
17
|
+
Use: `mcp__context-mode__ctx_execute(language, code)` — only stdout enters context
|
|
21
18
|
|
|
22
19
|
### WebFetch / web browsing — BLOCKED
|
|
23
|
-
|
|
24
|
-
Instead use:
|
|
25
|
-
- `mcp__context-mode__ctx_fetch_and_index(url, source)` then `mcp__context-mode__ctx_search(queries)` to query the indexed content
|
|
20
|
+
Use: `mcp__context-mode__ctx_fetch_and_index(url, source)` then `mcp__context-mode__ctx_search(queries)`
|
|
26
21
|
|
|
27
|
-
## REDIRECTED
|
|
22
|
+
## REDIRECTED — use sandbox
|
|
28
23
|
|
|
29
24
|
### Shell (>20 lines output)
|
|
30
|
-
Shell
|
|
31
|
-
|
|
32
|
-
- `mcp__context-mode__ctx_batch_execute(commands, queries)` — run multiple commands + search in ONE call
|
|
33
|
-
- `mcp__context-mode__ctx_execute(language: "shell", code: "...")` — run in sandbox, only stdout enters context
|
|
25
|
+
Shell ONLY for: `git`, `mkdir`, `rm`, `mv`, `cd`, `ls`, `npm install`, `pip install`.
|
|
26
|
+
Otherwise: `mcp__context-mode__ctx_batch_execute(commands, queries)` or `mcp__context-mode__ctx_execute(language: "shell", code: "...")`
|
|
34
27
|
|
|
35
28
|
### read_file (for analysis)
|
|
36
|
-
|
|
37
|
-
If you are reading to **analyze, explore, or summarize** → use `mcp__context-mode__ctx_execute_file(path, language, code)` instead. Only your printed summary enters context.
|
|
29
|
+
Reading to **edit** → read_file correct. Reading to **analyze/explore/summarize** → `mcp__context-mode__ctx_execute_file(path, language, code)`.
|
|
38
30
|
|
|
39
31
|
### grep / search (large results)
|
|
40
|
-
|
|
32
|
+
Use `mcp__context-mode__ctx_execute(language: "shell", code: "grep ...")` in sandbox.
|
|
41
33
|
|
|
42
|
-
## Tool selection
|
|
34
|
+
## Tool selection
|
|
43
35
|
|
|
44
|
-
1. **GATHER**: `mcp__context-mode__ctx_batch_execute(commands, queries)` —
|
|
45
|
-
2. **FOLLOW-UP**: `mcp__context-mode__ctx_search(queries: ["q1", "q2", ...])` —
|
|
46
|
-
3. **PROCESSING**: `mcp__context-mode__ctx_execute(language, code)` | `mcp__context-mode__ctx_execute_file(path, language, code)` —
|
|
47
|
-
4. **WEB**: `mcp__context-mode__ctx_fetch_and_index(url, source)` then `mcp__context-mode__ctx_search(queries)` —
|
|
48
|
-
5. **INDEX**: `mcp__context-mode__ctx_index(content, source)` —
|
|
36
|
+
1. **GATHER**: `mcp__context-mode__ctx_batch_execute(commands, queries)` — runs all commands, auto-indexes, returns search. ONE call replaces 30+. Each command: `{label: "header", command: "..."}`.
|
|
37
|
+
2. **FOLLOW-UP**: `mcp__context-mode__ctx_search(queries: ["q1", "q2", ...])` — all questions as array, ONE call.
|
|
38
|
+
3. **PROCESSING**: `mcp__context-mode__ctx_execute(language, code)` | `mcp__context-mode__ctx_execute_file(path, language, code)` — sandbox, only stdout enters context.
|
|
39
|
+
4. **WEB**: `mcp__context-mode__ctx_fetch_and_index(url, source)` then `mcp__context-mode__ctx_search(queries)` — raw HTML never enters context.
|
|
40
|
+
5. **INDEX**: `mcp__context-mode__ctx_index(content, source)` — store in FTS5 for later search.
|
|
49
41
|
|
|
50
|
-
## Output
|
|
42
|
+
## Output
|
|
51
43
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
44
|
+
Terse like caveman. Technical substance exact. Only fluff die.
|
|
45
|
+
Drop: articles, filler (just/really/basically), pleasantries, hedging. Fragments OK. Short synonyms. Code unchanged.
|
|
46
|
+
Pattern: [thing] [action] [reason]. [next step]. Auto-expand for: security warnings, irreversible actions, user confusion.
|
|
47
|
+
Write artifacts to FILES — never inline. Return: file path + 1-line description.
|
|
48
|
+
Descriptive source labels for `search(source: "label")`.
|
|
55
49
|
|
|
56
50
|
## ctx commands
|
|
57
51
|
|
|
58
52
|
| Command | Action |
|
|
59
53
|
|---------|--------|
|
|
60
|
-
| `ctx stats` | Call
|
|
61
|
-
| `ctx doctor` | Call
|
|
62
|
-
| `ctx upgrade` | Call
|
|
63
|
-
| `ctx purge` | Call
|
|
54
|
+
| `ctx stats` | Call `stats` MCP tool, display full output verbatim |
|
|
55
|
+
| `ctx doctor` | Call `doctor` MCP tool, run returned shell command, display as checklist |
|
|
56
|
+
| `ctx upgrade` | Call `upgrade` MCP tool, run returned shell command, display as checklist |
|
|
57
|
+
| `ctx purge` | Call `purge` MCP tool with confirm: true. Warns before wiping knowledge base. |
|
|
64
58
|
|
|
65
|
-
After /clear or /compact: knowledge base and session stats
|
|
59
|
+
After /clear or /compact: knowledge base and session stats preserved. Use `ctx purge` to start fresh.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# context-mode — MANDATORY routing rules
|
|
2
|
+
|
|
3
|
+
context-mode MCP tools available. Rules protect context window from flooding. One unrouted command dumps 56 KB into context.
|
|
4
|
+
|
|
5
|
+
## Think in Code — MANDATORY
|
|
6
|
+
|
|
7
|
+
Analyze/count/filter/compare/search/parse/transform data: **write code** via `ctx_execute(language, code)`, `console.log()` only the answer. Do NOT read raw data into context. PROGRAM the analysis, not COMPUTE it. Pure JavaScript — Node.js built-ins only (`fs`, `path`, `child_process`). `try/catch`, handle `null`/`undefined`. One script replaces ten tool calls.
|
|
8
|
+
|
|
9
|
+
## BLOCKED — do NOT attempt
|
|
10
|
+
|
|
11
|
+
### curl / wget — BLOCKED
|
|
12
|
+
Terminal `curl`/`wget` intercepted and blocked. Do NOT retry.
|
|
13
|
+
Use: `ctx_fetch_and_index(url, source)` or `ctx_execute(language: "javascript", code: "const r = await fetch(...)")`
|
|
14
|
+
|
|
15
|
+
### Inline HTTP — BLOCKED
|
|
16
|
+
`fetch('http`, `requests.get(`, `requests.post(`, `http.get(`, `http.request(` — intercepted. Do NOT retry.
|
|
17
|
+
Use: `ctx_execute(language, code)` — only stdout enters context
|
|
18
|
+
|
|
19
|
+
### WebFetch / fetch — BLOCKED
|
|
20
|
+
Use: `ctx_fetch_and_index(url, source)` then `ctx_search(queries)`
|
|
21
|
+
|
|
22
|
+
## REDIRECTED — use sandbox
|
|
23
|
+
|
|
24
|
+
### Terminal / run_in_terminal (>20 lines output)
|
|
25
|
+
Terminal ONLY for: `git`, `mkdir`, `rm`, `mv`, `cd`, `ls`, `npm install`, `pip install`.
|
|
26
|
+
Otherwise: `ctx_batch_execute(commands, queries)` or `ctx_execute(language: "shell", code: "...")`
|
|
27
|
+
|
|
28
|
+
### read_file (for analysis)
|
|
29
|
+
Reading to **edit** → read_file correct. Reading to **analyze/explore/summarize** → `ctx_execute_file(path, language, code)`.
|
|
30
|
+
|
|
31
|
+
### grep / search (large results)
|
|
32
|
+
Use `ctx_execute(language: "shell", code: "grep ...")` in sandbox.
|
|
33
|
+
|
|
34
|
+
## Tool selection
|
|
35
|
+
|
|
36
|
+
1. **GATHER**: `ctx_batch_execute(commands, queries)` — runs all commands, auto-indexes, returns search. ONE call replaces 30+. Each command: `{label: "header", command: "..."}`.
|
|
37
|
+
2. **FOLLOW-UP**: `ctx_search(queries: ["q1", "q2", ...])` — all questions as array, ONE call.
|
|
38
|
+
3. **PROCESSING**: `ctx_execute(language, code)` | `ctx_execute_file(path, language, code)` — sandbox, only stdout enters context.
|
|
39
|
+
4. **WEB**: `ctx_fetch_and_index(url, source)` then `ctx_search(queries)` — raw HTML never enters context.
|
|
40
|
+
5. **INDEX**: `ctx_index(content, source)` — store in FTS5 for later search.
|
|
41
|
+
|
|
42
|
+
## Output
|
|
43
|
+
|
|
44
|
+
Terse like caveman. Technical substance exact. Only fluff die.
|
|
45
|
+
Drop: articles, filler (just/really/basically), pleasantries, hedging. Fragments OK. Short synonyms. Code unchanged.
|
|
46
|
+
Pattern: [thing] [action] [reason]. [next step]. Auto-expand for: security warnings, irreversible actions, user confusion.
|
|
47
|
+
Write artifacts to FILES — never inline. Return: file path + 1-line description.
|
|
48
|
+
Descriptive source labels for `ctx_search(source: "label")`.
|
|
49
|
+
|
|
50
|
+
## ctx commands
|
|
51
|
+
|
|
52
|
+
| Command | Action |
|
|
53
|
+
|---------|--------|
|
|
54
|
+
| `ctx stats` | Call `ctx_stats` MCP tool, display full output verbatim |
|
|
55
|
+
| `ctx doctor` | Call `ctx_doctor` MCP tool, run returned shell command, display as checklist |
|
|
56
|
+
| `ctx upgrade` | Call `ctx_upgrade` MCP tool, run returned shell command, display as checklist |
|
|
57
|
+
| `ctx purge` | Call `ctx_purge` MCP tool with confirm: true. Warns before wiping knowledge base. |
|
|
58
|
+
|
|
59
|
+
After /clear or /compact: knowledge base and session stats preserved. Use `ctx purge` to start fresh.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"PreToolUse": [
|
|
4
|
+
{ "type": "command", "command": "context-mode hook jetbrains-copilot pretooluse" }
|
|
5
|
+
],
|
|
6
|
+
"PostToolUse": [
|
|
7
|
+
{ "type": "command", "command": "context-mode hook jetbrains-copilot posttooluse" }
|
|
8
|
+
],
|
|
9
|
+
"PreCompact": [
|
|
10
|
+
{ "type": "command", "command": "context-mode hook jetbrains-copilot precompact" }
|
|
11
|
+
],
|
|
12
|
+
"SessionStart": [
|
|
13
|
+
{ "type": "command", "command": "context-mode hook jetbrains-copilot sessionstart" }
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
}
|