-
-
Notifications
You must be signed in to change notification settings - Fork 826
Expand file tree
/
Copy pathcontext-mode.mdc
More file actions
68 lines (47 loc) · 3.36 KB
/
context-mode.mdc
File metadata and controls
68 lines (47 loc) · 3.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
---
description: context-mode routing rules for context window protection
alwaysApply: true
---
# context-mode
Raw tool output floods context window. Use context-mode MCP tools to keep raw data in sandbox.
## Think in Code — MANDATORY
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.
## Tool Selection
0. **MEMORY**: `ctx_search(sort: "timeline")` — after resume, check prior context before asking user.
1. **GATHER**: `ctx_batch_execute(commands, queries)` — runs all commands, auto-indexes, searches. ONE call replaces many steps.
2. **FOLLOW-UP**: `ctx_search(queries: ["q1", "q2", ...])` — all follow-up questions, ONE call (default relevance mode).
3. **PROCESSING**: `ctx_execute(language, code)` | `ctx_execute_file(path, language, code)` — sandbox, only stdout enters context.
4. **WEB**: `ctx_fetch_and_index(url)` then `ctx_search(queries)` — never dump raw HTML.
5. **INDEX**: `ctx_index(content, source)` — store in FTS5 for later search.
## Forbidden Actions
- DO NOT use Bash for >20 lines output — use `ctx_execute` or `ctx_batch_execute`.
- DO NOT use Read for analysis — use `ctx_execute_file`. Read IS correct for Edit.
- DO NOT use WebFetch — use `ctx_fetch_and_index`.
- DO NOT use curl/wget in terminal — use `ctx_fetch_and_index`.
- Bash ONLY for git, mkdir, rm, mv, navigation, short commands.
- DO NOT use `ctx_execute`/`ctx_execute_file` to create/modify files. ctx_execute is for analysis and computation only.
## File Writing Policy
ALWAYS use native file editing tools to create/modify files. NEVER use `ctx_execute`, `ctx_execute_file`, or Bash to write file content.
## Output
Terse like caveman. Technical substance exact. Only fluff die.
Drop: articles, filler (just/really/basically), pleasantries, hedging. Fragments OK. Short synonyms. Code unchanged.
Pattern: [thing] [action] [reason]. [next step]. Auto-expand for: security warnings, irreversible actions, user confusion.
Write artifacts to FILES — never inline. Return: file path + 1-line description.
## Session Continuity
Skills, roles, and decisions persist for the entire session. Do not abandon them as the conversation grows.
## Memory
Session history is persistent and searchable. On resume, search BEFORE asking the user:
| Need | Command |
|------|---------|
| What did we decide? | `ctx_search(queries: ["decision"], source: "decision", sort: "timeline")` |
| What constraints exist? | `ctx_search(queries: ["constraint"], source: "constraint")` |
DO NOT ask "what were we working on?" — SEARCH FIRST.
If search returns 0 results, proceed as a fresh session.
## ctx Commands
| Command | Action |
|---------|--------|
| `ctx stats` | Call ctx_stats MCP tool, display full output verbatim. |
| `ctx doctor` | Call ctx_doctor MCP tool, run returned shell command, display as checklist. |
| `ctx upgrade` | Call ctx_upgrade MCP tool, run returned shell command, display as checklist. |
| `ctx purge` | Call ctx_purge MCP tool with confirm: true. Warn user this is irreversible. |
After /clear or /compact: knowledge base and session stats preserved. Use `ctx purge` to start fresh.