LeanCTX réduit la consommation de tokens de votre LLM jusqu'à 99 % grâce à un seul binaire Rust qui fournit : un hook shell avec plus de 95 motifs de compression CLI, un serveur MCP avec 58 outils pour les lectures en cache et l'intelligence de session, et un graphe de projet persistant pour la compréhension structurelle du code. Installez-le une seule fois, et chaque lecture de fichier, commande shell et navigation dans le code devient plus efficace.
Générateur de prompt
Sélectionnez votre plateforme et votre outil IA ci-dessous. Le prompt généré peut être collé dans n'importe quel assistant de codage IA - il guidera automatiquement l'installation et la configuration complètes.
Démarrez en 3 étapes
# 1. Install (pick one) curl -fsSL https://leanctx.com/install.sh | sh # universal brew tap yvgude/lean-ctx && brew install lean-ctx # macOS / Linux npm install -g lean-ctx-bin # Node.js cargo install lean-ctx # Rust pi install npm:pi-lean-ctx # Pi Coding Agent # 2. Setup (auto-configures shell + ALL detected editors) lean-ctx setup # 3. Restart your shell source ~/.zshrc # or ~/.bashrc
lean-ctx setup détecte et configure automatiquement : Cursor, Claude Code, Windsurf, VS Code / Copilot, Codex CLI, Gemini CLI, Zed, Antigravity, OpenCode, Crush et Pi. Exécutez lean-ctx doctor pour vérifier que tout fonctionne.
Instructions d'installation détaillées par plateforme
Étape 1 : Installer le binaire
Installateur universel (toute plateforme)
Le moyen le plus rapide d'installer lean-ctx sans aucun prérequis :
curl -fsSL https://leanctx.com/install.sh | sh The install script detects your OS and architecture, downloads the correct binary, and places it in /usr/local/bin. It works on macOS, Linux, and WSL.
If you prefer to review the script before running it:
curl -fsSL https://leanctx.com/install.sh -o install.sh
chmod +x install.sh
./install.sh --download # pre-built binary (no Rust)
./install.sh # build from source (requires Rust) npm (Node.js)
Installez le binaire précompilé via npm - aucune toolchain Rust requise :
npm install -g lean-ctx-bin Cela télécharge le binaire adapté à votre plateforme pendant le postinstall avec vérification SHA256. Fonctionne sur macOS (Intel + Apple Silicon), Linux (x86_64) et Windows (x86_64).
macOS
Option A: Homebrew (recommended)
brew tap yvgude/lean-ctx
brew install lean-ctx Homebrew handles updates and PATH automatically.
Option B: Cargo (build from source)
cargo install lean-ctx If lean-ctx isn't found after install, add Cargo's bin directory to your PATH:
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc Option C: Manual binary download
- Download the binary for your architecture from GitHub Releases:
lean-ctx-aarch64-apple-darwin.tar.gz(Apple Silicon / M1+)lean-ctx-x86_64-apple-darwin.tar.gz(Intel)
- Extract and move to PATH:
tar xzf lean-ctx-aarch64-apple-darwin.tar.gz chmod +x lean-ctx sudo mv lean-ctx /usr/local/bin/
If macOS blocks the binary with a Gatekeeper warning, remove the quarantine attribute:
xattr -d com.apple.quarantine /usr/local/bin/lean-ctx Linux
Option A: Homebrew
brew tap yvgude/lean-ctx && brew install lean-ctx Option B: AUR (Arch Linux)
# Source build from crates.io
yay -S lean-ctx
# Or pre-built binary from GitHub
yay -S lean-ctx-bin Works with any AUR helper: yay, paru, trizen, etc.
Option C: Cargo (build from source)
cargo install lean-ctx Requires Rust toolchain. Install via rustup.rs if needed.
Option D: Manual binary download
- Download
lean-ctx-x86_64-unknown-linux-gnu.tar.gzfrom GitHub Releases - Extract and move to PATH:
tar xzf lean-ctx-x86_64-unknown-linux-gnu.tar.gz chmod +x lean-ctx sudo mv lean-ctx /usr/local/bin/
| Command | Method |
|---|---|
lean-ctx-x86_64-unknown-linux-musl.tar.gz | x86_64 - statically linked (musl) |
lean-ctx-aarch64-unknown-linux-musl.tar.gz | ARM64 / aarch64 (Graviton, Raspberry Pi 4+, etc.) - statically linked |
Windows
Option A: Binary download (recommended)
- Download
lean-ctx-x86_64-pc-windows-msvc.zipfrom GitHub Releases - Extract the
.zipfile - Open the extracted folder - you'll see
lean-ctx.exe - Move
lean-ctx.exeto a folder in your PATH, for example:mkdir %USERPROFILE%\bin move lean-ctx.exe %USERPROFILE%\bin\ - Add the folder to your PATH if it isn't already:
- Open Settings → System → About → Advanced system settings
- Click Environment Variables
- Under User variables, select
Path, click Edit, then New - Add the path to your bin folder (e.g. C:\Users\you\bin)
- Open a new PowerShell or CMD window and verify:
lean-ctx --version
Option B: Cargo (build from source)
- Install Rust if not already installed
- Build and install:
cargo install lean-ctx - The binary is placed in
%USERPROFILE%\.cargo\bin\which is usually already in your PATH.
Option C: Build from source (clone & compile)
git clone https://github.com/yvgude/lean-ctx.git
cd lean-ctx\rust
cargo build --release
copy target\release\lean-ctx.exe %USERPROFILE%\bin\ WSL users: If you're running WSL, follow the Linux instructions instead.
Compiler depuis les sources (toute plateforme)
git clone https://github.com/yvgude/lean-ctx.git
cd lean-ctx/rust
cargo build --release Le binaire se trouve dans target/release/lean-ctx (ou lean-ctx.exe sous Windows). Copiez-le dans un répertoire de votre PATH.
Étape 2 : Configuration
Après avoir installé le binaire, exécutez lean-ctx setup pour tout configurer automatiquement :
lean-ctx setup Cette simple commande :
- Installe 23 alias shell (git, npm, cargo, docker, kubectl, curl, et plus)
- Détecte automatiquement les éditeurs installés (Cursor, Claude Code, Windsurf, VS Code/Copilot, Codex CLI, Gemini CLI, Zed, Antigravity, OpenCode, Crush)
- Crée les fichiers de configuration MCP pour chaque éditeur détecté
- Injecte les règles des agents dans la configuration globale de chaque outil détecté, instruisant l'IA d'utiliser les outils MCP de lean-ctx (
ctx_read,ctx_shell,ctx_search,ctx_tree) au lieu des équivalents natifs - Exécute
lean-ctx doctorpour tout vérifier
Important : Redémarrez votre IDE après l'installation !
La connexion MCP doit être rétablie pour que les nouveaux outils et les règles des agents prennent effet. Fermez et rouvrez complètement votre IDE (Cmd+Q / Ctrl+Q, puis rouvrez). Après le redémarrage, les règles des agents sont également automatiquement mises à jour à chaque démarrage de l'IDE - inutile de relancer lean-ctx setup après les mises à jour futures.
Après l'installation, redémarrez votre shell :
| Shell | Commande de redémarrage |
|---|---|
| Zsh (macOS default) | source ~/.zshrc |
| Bash | source ~/.bashrc |
| Fish | source ~/.config/fish/config.fish |
| PowerShell | Close and reopen PowerShell |
Puis redémarrez complètement votre éditeur.
Alternative manuelle
Si vous préférez installer uniquement les alias shell sans détection automatique de l'éditeur :
lean-ctx init --global Puis configurez votre éditeur manuellement en suivant les instructions de l'étape 3 ci-dessous.
Initialisation basée sur eval (recommandé)
Comme alternative à lean-ctx init --global, vous pouvez utiliser le modèle eval - la même méthode utilisée par starship, zoxide et atuin. Le code du hook est affiché sur stdout par le binaire actuellement installé, il est donc toujours à jour après les mises à niveau :
# bash: add to ~/.bashrc
eval "$(lean-ctx init bash)"
# zsh: add to ~/.zshrc
eval "$(lean-ctx init zsh)"
# fish: add to ~/.config/fish/config.fish
lean-ctx init fish | source
# powershell: add to $PROFILE
lean-ctx init powershell | Invoke-Expression Avantage : La méthode eval génère les hooks à partir du binaire installé au démarrage du shell, de sorte que les hooks ne sont jamais obsolètes après un lean-ctx update. Pas besoin de relancer lean-ctx setup après une mise à jour.
Installation Docker
Pour utiliser lean-ctx dans un conteneur Docker (ex. avec Claude Code, Codex ou d'autres agents IA), utilisez le binaire musl lié statiquement et définissez BASH_ENV pour charger le hook shell dans les shells non interactifs.
ARG LEAN_CTX_VERSION=3.5.1
# Download the musl binary (statically linked, no glibc dependency)
RUN curl -fsSL \
"https://github.com/yvgude/lean-ctx/releases/download/v${LEAN_CTX_VERSION}/lean-ctx-x86_64-unknown-linux-musl.tar.gz" \
| tar -xz -C /usr/local/bin lean-ctx && \
chmod +x /usr/local/bin/lean-ctx
# Install shell hook (non-interactive) + configure your AI tool
RUN lean-ctx init --global && \
lean-ctx init --agent claude
# Load shell hook in non-interactive shells
ENV BASH_ENV="/root/.lean-ctx/env.sh"
# Claude Code: sources this file before each command
ENV CLAUDE_ENV_FILE="/root/.lean-ctx/env.sh" For ARM64 hosts (AWS Graviton, Apple Silicon via Docker), use the aarch64 binary instead:
# For ARM64 (Apple Silicon / Graviton), use the aarch64 binary:
RUN curl -fsSL \
"https://github.com/yvgude/lean-ctx/releases/download/v${LEAN_CTX_VERSION}/lean-ctx-aarch64-unknown-linux-musl.tar.gz" \
| tar -xz -C /usr/local/bin lean-ctx Pourquoi ça fonctionne
| Étape | Objectif |
|---|---|
musl binary | Lié statiquement - fonctionne sur toute distribution Linux sans gcc-libs ni glibc |
lean-ctx init --global | Installe le hook shell dans ~/.bashrc (non interactif, contrairement à lean-ctx setup) |
lean-ctx init --agent claude | Écrit la configuration du serveur MCP dans ~/.claude.json. Remplacez claude par votre agent : cursor, codex, gemini, etc. |
BASH_ENV | Les shells non interactifs génériques (bash -c) chargent ce fichier. La plupart des ~/.bashrc quittent tôt en mode non interactif - env.sh n'a pas cette protection. |
CLAUDE_ENV_FILE | Claude Code charge ce fichier avant chaque commande qu'il exécute. C'est la méthode officiellement recommandée pour configurer l'environnement shell de Claude Code. |
Problèmes courants
| Erreur | Cause | Solution |
|---|---|---|
command not found: _lc | BASH_ENV non défini - hook shell non chargé | Ajoutez ENV BASH_ENV="/root/.lean-ctx/env.sh" (adaptez le chemin pour les utilisateurs non-root) |
lean-ctx setup hangs | Invite interactive sans stdin dans Docker | Utilisez lean-ctx init --global à la place |
| Binary not found / exec format error | Mauvaise architecture ou binaire gnu sans glibc | Utilisez l'archive musl pour les conteneurs minimaux |
Étape 3 : Vérification
- Check the binary is installed:
lean-ctx --version # → lean-ctx 3.5.1 lean-ctx doctor # checks PATH, config, aliases, MCP - Test the shell hook:
git status # output is now compressed lean-ctx gain # shows token savings so far - Open your AI coding tool and start coding - lean-ctx tools should be available automatically.
Configuration manuelle de l'éditeur
uniquement si lean-ctx setup n'a pas fonctionné
Connect lean-ctx to your AI coding tool by adding it as an MCP server.
Before you start: Find your lean-ctx binary path. You'll need it for editors that require a full path.
# macOS / Linux:
which lean-ctx
# Example output: /opt/homebrew/bin/lean-ctx or /Users/you/.cargo/bin/lean-ctx
# Windows (PowerShell):
where.exe lean-ctx
# Example output: C:\Users\you\.cargo\bin\lean-ctx.exe Keep this path handy - some editors need the full absolute path instead of just lean-ctx.
Cursor
- Create or edit the MCP config file:
# macOS / Linux: mkdir -p ~/.cursor nano ~/.cursor/mcp.json # Windows (PowerShell): mkdir -Force "$env:USERPROFILE\.cursor" notepad "$env:USERPROFILE\.cursor\mcp.json" - Paste this JSON:
{ "mcpServers": { "lean-ctx": { "command": "lean-ctx" } } } - Restart Cursor completely (Cmd+Q / Alt+F4, then reopen).
- Verify: open the MCP panel in settings - lean-ctx should show as "connected".
Optional: install agent rules to make Cursor prefer lean-ctx tools:
lean-ctx init --agent cursor Claude Code
Claude Code has built-in MCP support. No config file needed:
# Add lean-ctx as MCP server:
claude mcp add lean-ctx lean-ctx
# Install the CLAUDE.md instructions (makes Claude use lean-ctx tools):
lean-ctx init --agent claude The init command creates a CLAUDE.md file that teaches Claude to use lean-ctx tools instead of native file reads and shell commands.
Claude Code: 2048-Character Limit
Claude Code truncates MCP server instructions to 2048 characters. This means lean-ctx's full instruction set (session management, compression protocols, tool preferences) gets cut off.
lean-ctx handles this automatically: lean-ctx init --agent claude installs the full instructions as a Claude Rules file (~/.claude/rules/lean-ctx.md) and an Agent Skill (~/.claude/skills/lean-ctx/). Claude Code loads these without any character cap.
# Automatic (recommended) - run during init:
lean-ctx init --agent claude
# This automatically:
# 1. Registers MCP server in ~/.claude.json
# 2. Installs full instructions to ~/.claude/rules/lean-ctx.md
# 3. Installs Agent Skill to ~/.claude/skills/lean-ctx/ If you installed lean-ctx manually (without init), copy the rules file: lean-ctx init --agent claude to retroactively install rules + skills.
GitHub Copilot (VS Code)
Option A: Copilot CLI (.github/mcp.json)
- Create
.github/mcp.jsonin your project root:{ "mcpServers": { "lean-ctx": { "command": "lean-ctx" } } } - Restart VS Code / Copilot CLI.
Option B: VS Code Copilot (.vscode/mcp.json)
- Create
.vscode/mcp.jsonin your project root:{ "servers": { "lean-ctx": { "type": "stdio", "command": "lean-ctx" } } } - Restart VS Code.
Tip: lean-ctx init --agent copilot creates both files automatically.
Note: GitHub Copilot MCP support requires VS Code 1.99+ and the latest Copilot extension.
Per-project: This config is per-project. Add .github/mcp.json to your .gitignore or commit it to share with your team.
Windsurf
- Open the MCP config file:
# macOS: mkdir -p ~/.codeium/windsurf nano ~/.codeium/windsurf/mcp_config.json # Linux: mkdir -p ~/.codeium/windsurf nano ~/.codeium/windsurf/mcp_config.json # Windows: mkdir -Force "$env:USERPROFILE\.codeium\windsurf" notepad "$env:USERPROFILE\.codeium\windsurf\mcp_config.json" - Paste this JSON:
{ "mcpServers": { "lean-ctx": { "command": "/FULL/PATH/TO/lean-ctx" } } }Important: Windsurf requires the full absolute path to the binary. Example for Homebrew on macOS:
{ "mcpServers": { "lean-ctx": { "command": "/opt/homebrew/bin/lean-ctx" } } } - Restart Windsurf completely.
- Check MCP connection in Windsurf settings.
Zed
- Open Zed settings:
# macOS / Linux: ~/.config/zed/settings.json # Windows: %APPDATA%\Zed\settings.json - Add the lean-ctx context server configuration:
{ "context_servers": { "lean-ctx": { "source": "custom", "command": "lean-ctx", "args": [], "env": {} } } }Note: Zed uses
context_servers(notmcpServers) and requiressource: "custom". - Save and restart Zed.
- Verify: lean-ctx tools should appear in the assistant panel.
Tip: Run lean-ctx init --agent zed to install agent rules that make Zed prefer lean-ctx tools.
OpenAI Codex CLI
- Create or edit the Codex config file:
# macOS / Linux: mkdir -p ~/.codex nano ~/.codex/config.toml # Windows: mkdir -Force "$env:USERPROFILE\.codex" notepad "$env:USERPROFILE\.codex\config.toml" - Add the MCP server entry:
[mcp_servers.lean-ctx] command = "lean-ctx" args = [] - Restart Codex CLI.
Alternative: use the Codex CLI built-in command:
codex mcp add lean-ctx Install agent instructions for Codex:
lean-ctx init --agent codex Gemini CLI
- Create or edit the Gemini MCP config:
# macOS / Linux: mkdir -p ~/.gemini nano ~/.gemini/settings.json # Windows (PowerShell): mkdir -Force "$env:USERPROFILE\.gemini" notepad "$env:USERPROFILE\.gemini\settings.json" - Add the MCP server configuration:
{ "mcpServers": { "lean-ctx": { "command": "lean-ctx" } } }Important: If Gemini can't find the binary, use the full path. Example for Homebrew on macOS:
{ "mcpServers": { "lean-ctx": { "command": "/opt/homebrew/bin/lean-ctx" } } } - Restart Gemini CLI.
- Verify with a prompt that triggers tool use.
Known issue: Gemini CLI may not always invoke MCP tools consistently. If tools aren't triggered, try adding lean-ctx init --agent gemini to install a GEMINI.md with usage instructions.
Antigravity
Antigravity uses the same MCP config format as Gemini CLI but in a separate directory.
- Create the Antigravity MCP config directory and file:
# macOS / Linux: mkdir -p ~/.gemini/antigravity nano ~/.gemini/antigravity/mcp_config.json # Windows (PowerShell): mkdir -Force "$env:USERPROFILE\.gemini\antigravity" notepad "$env:USERPROFILE\.gemini\antigravity\mcp_config.json" - Paste this JSON:
{ "mcpServers": { "lean-ctx": { "command": "lean-ctx" } } }Important: If Antigravity can't find the binary, use the full absolute path to
lean-ctx. - Restart Antigravity.
- Verify with a prompt that triggers tool use.
You can also manage MCP servers via Antigravity's built-in server management UI.
OpenCode
- Create or edit the OpenCode config file:
# macOS / Linux: mkdir -p ~/.config/opencode nano ~/.config/opencode/opencode.json - Add the MCP server configuration:
{ "$schema": "https://opencode.ai/config.json", "mcp": { "lean-ctx": { "type": "local", "command": ["lean-ctx"], "enabled": true } } } - Restart OpenCode.
OpenClaw
OpenClaw supports MCP servers natively. You can add lean-ctx from the settings UI or via CLI.
- Open OpenClaw settings and navigate to the MCP servers section.
- Add a new MCP server with command: lean-ctx
- Restart OpenClaw to activate.
Tip: Run lean-ctx init --agent openclaw to install lean-ctx skills for OpenClaw.
Pi
Pi has a dedicated lean-ctx plugin (pi-lean-ctx) that integrates automatically.
- Make sure lean-ctx is installed:
cargo install lean-ctx - Install the Pi plugin:
pi install npm:pi-lean-ctxOr use lean-ctx's built-in command:
lean-ctx init --agent pi - Restart Pi.
- Verify: lean-ctx tools should appear in Pi's tool list.
Note: Pi's smart reads automatically use lean-ctx when the plugin is installed. No additional configuration needed.
AWS Kiro
AWS Kiro nécessite à la fois une configuration MCP et un fichier de steering pour utiliser les outils lean-ctx au lieu des équivalents natifs.
- Exécutez
lean-ctx setup- Kiro est détecté automatiquement et la configuration MCP ainsi que le fichier de steering sont créés. - Ou utilisez la commande dédiée (crée les deux fichiers) :
lean-ctx init --agent kiro - Cela crée deux fichiers :
~/.kiro/settings/mcp.json- Connexion au serveur MCP.kiro/steering/lean-ctx.md- Fichier de steering qui indique à Kiro de préférermcp_lean_ctx_ctx_readàreadFile, etc.
- Redémarrez Kiro pour activer.
Important : Le fichier de steering (.kiro/steering/lean-ctx.md) est par projet. Sans lui, Kiro utilisera par défaut ses outils natifs et ignorera le serveur MCP pour les lectures et recherches.
Verdent
Verdent supports MCP servers via configuration or CLI.
- Open Verdent settings or navigate to the MCP section.
- Run the init command:
lean-ctx init --agent verdent - Or manually create the MCP config:
{ "mcpServers": { "lean-ctx": { "command": "lean-ctx" } } } - Restart Verdent to activate.
Note: Verdent's MCP support may require a recent version. Update Verdent if tools don't appear.
Other MCP-compatible tools
Any tool that supports the Model Context Protocol can use lean-ctx. The standard MCP config format is:
{
"mcpServers": {
"lean-ctx": {
"command": "lean-ctx"
}
}
} Key points:
- The
commandmust point to the lean-ctx binary (use full path if not in PATH). - No
argsorenvare required - lean-ctx auto-configures. - The binary communicates via stdio (standard MCP transport).
- After adding the config, restart your tool and verify lean-ctx tools appear.
Suivre les économies
# Terminal dashboard (colors, bars, sparklines)
lean-ctx gain
# Web dashboard with charts
lean-ctx dashboard
# Find uncompressed commands in shell history
lean-ctx discover
# Run a real benchmark on your project
lean-ctx benchmark run Hooks d'agent & intégration éditeur
Configurez lean-ctx pour votre agent IA ou éditeur spécifique. La commande init configure la configuration MCP, les hooks shell et vérifie que tout fonctionne. Utilisez doctor pour diagnostiquer et corriger automatiquement les problèmes.
# Configure a specific AI tool (mode auto-detected; override with --mode)
lean-ctx init --agent cursor
lean-ctx init --agent claude
lean-ctx init --agent codex
lean-ctx init --agent gemini
lean-ctx init --agent hermes
lean-ctx init --agent pi # or: pi install npm:pi-lean-ctx
lean-ctx init --agent qoder
lean-ctx init --agent qoderwork
# Force MCP tools if you prefer ctx_* calls
lean-ctx init --agent cursor --mode mcp
# Run diagnostics and auto-fix issues
lean-ctx doctor --fix
# Check current status (MCP, shell, editors)
lean-ctx status --json Mise à jour
The fastest way to update lean-ctx:
lean-ctx update This auto-detects your installation method, downloads the latest version, and replaces the binary.
You can also update manually using the original installation method:
| Method | Command |
|---|---|
| Homebrew | brew update && brew upgrade lean-ctx |
| Cargo | cargo install lean-ctx |
| npm | npm update -g lean-ctx-bin |
| AUR | yay -Syu lean-ctx |
| Pi | pi install npm:pi-lean-ctx |
| install.sh | Re-run curl -fsSL https://leanctx.com/install.sh | sh |
| Binary | Download latest from GitHub Releases |
After updating, re-run lean-ctx setup to ensure shell hooks and editor configs are up to date:
lean-ctx setup # re-configures shell + editors
source ~/.zshrc # restart shell Désinstallation
To fully remove lean-ctx from your system:
lean-ctx uninstall This removes:
- Shell hook entries from
~/.zshrc,~/.bashrc,~/.config/fish/config.fish, and PowerShell profiles - Agent rules files (
CLAUDE.md,.cursorrules, etc.) - Cache and config files in
~/.lean-ctx/
Then remove the binary itself:
| Installed via | Remove command |
|---|---|
| Cargo | cargo uninstall lean-ctx |
| Homebrew | brew uninstall lean-ctx |
| AUR | yay -R lean-ctx |
| Pi | pi uninstall npm:pi-lean-ctx |
| Manual binary | rm $(which lean-ctx) |
Restart your terminal and AI coding tool to complete the uninstallation.
Règles des agents
Agent rules tell your AI coding tool to prefer lean-ctx MCP tools (ctx_read, ctx_shell, ctx_search, ctx_tree) over native file reads, shell commands, and search. Run lean-ctx init --agent <name> to install them automatically.
Comment ça fonctionne
lean-ctx init --agent <name>writes a rules/instructions file to the agent's expected location.- The rules file teaches the AI to use
ctx_read,ctx_shell,ctx_search, andctx_treeinstead of native equivalents. - This is optional - lean-ctx works without agent rules, but performance improves when the AI actively uses lean-ctx tools.
- The rules are idempotent - running
initagain updates them without duplicating content.
Ce qui est injecté
Les règles indiquent à l'agent IA d'utiliser les outils MCP lean-ctx au lieu des équivalents natifs :
| Instead of | Use | Why |
|---|---|---|
Read / cat | ctx_read | Cached, 10 read modes, re-reads cost ~13 tokens |
Shell / bash | ctx_shell | Pattern compression for git, npm, cargo, docker output |
Grep / search | ctx_search | Compact, token-efficient results |
ls / find | ctx_tree | Compact directory maps with file counts |
Note: Write, StrReplace, Delete, and Glob have no lean-ctx replacement - the rules tell the AI to keep using native tools for those.
Where are rules installed?
| AI Tool | Rules File |
|---|---|
| Claude Code | ~/.claude/CLAUDE.md |
| Codex CLI | ~/.codex/instructions.md |
| Cursor | ~/.cursor/rules/lean-ctx.mdc |
| Windsurf | ~/.codeium/windsurf/rules/lean-ctx.md |
| Gemini CLI | ~/.gemini/GEMINI.md |
| VS Code / Copilot | .github/copilot-instructions.md |
| Zed | ~/.config/zed/rules/lean-ctx.md |
| OpenCode | ~/.config/opencode/rules/lean-ctx.md |
| Pi | pi-lean-ctx package (built-in via pi.dev) |
| Qoder | ~/.qoder/settings.json (PreToolUse hooks) |
Manual rules (fallback)
If your AI tool doesn't support agent rules, you can paste these instructions into the system prompt or a rules file:
# lean-ctx - Context Engineering Layer
Default (CLI-first):
- Use lean-ctx CLI commands for reads/search:
- lean-ctx read <path> [-m mode]
- lean-ctx grep <pattern> <path>
- lean-ctx ls <path>
- Use lean-ctx -c "<cmd>" for compressed shell output
If you're running in MCP/Hybrid mode:
- Prefer ctx_* tools instead of native equivalents:
- ctx_read instead of Read/cat for file reads
- ctx_shell instead of Shell/bash for commands
- ctx_search instead of Grep/search for code search
- ctx_tree instead of ls/find for directory listing
Keep using native tools for: Write, StrReplace, Delete, Glob (no lean-ctx replacement).
Do NOT fall back to native tools for reading/shell/search/tree when a lean-ctx path is available. Cursor users: Save this as .cursor/rules/lean-ctx.mdc in your project root for project-level rules, or ~/.cursor/rules/lean-ctx.mdc for global rules.
Dépannage
lean-ctx: command not found
Le binaire n'est pas dans votre PATH. Vérifiez où il a été installé :
# Cargo installs here:
ls ~/.cargo/bin/lean-ctx
# Homebrew installs here (macOS):
ls /opt/homebrew/bin/lean-ctx
# Manual installs - wherever you placed it:
ls /usr/local/bin/lean-ctx Ajoutez le répertoire approprié à votre PATH dans votre profil shell.
AI isn't using lean-ctx tools
If the AI keeps using native Read/Shell instead of ctx_read/ctx_shell:
- Run
lean-ctx init --agent <name>to install agent rules - Restart the AI tool completely (not just reload)
- Check that the MCP server is connected (look for lean-ctx in the tool's MCP panel)
- Try prompting explicitly: "use ctx_read to read this file"
No lean-ctx tools appearing
- Verify the binary path is correct in your MCP config
- Run
lean-ctx doctorto check for issues - Check the AI tool's MCP logs for connection errors
- Try using the full absolute path to
lean-ctxin the config
Shell hook causes hangs
If commands hang after installing the shell hook, set the LEAN_CTX_ACTIVE environment variable to bypass compression for specific commands:
LEAN_CTX_ACTIVE=1 cargo test This disables lean-ctx compression for that command. Useful for CI/CD scripts and long-running processes.
macOS Gatekeeper blocks lean-ctx
xattr -d com.apple.quarantine $(which lean-ctx) Windows: PowerShell vs cmd.exe
lean-ctx prioritizes PowerShell on Windows. If you experience issues with cmd.exe, set the LEAN_CTX_SHELL environment variable to force PowerShell: $env:LEAN_CTX_SHELL = "powershell"
Étapes suivantes
- Project Intelligence Graph - build and query your project's dependency graph
- CEP Protocol - cognitive efficiency scoring for leaner AI responses
- CCP Protocol - cross-session context continuity
- TDD Protocol - token-dense dialect for maximum compression
- Les 58 outils - référence
- CLI Reference