Skip to content

Commit 777ea0e

Browse files
author
Omri Hopson
committed
updated readme and got rid of unecessary files
1 parent 641126d commit 777ea0e

20 files changed

Lines changed: 55 additions & 4015 deletions

README.md

Lines changed: 55 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Context-Simplo
22

3-
> Portable code intelligence MCP server with hybrid vector+BM25 search, auto-indexing, and web dashboard
3+
> Production-ready code intelligence MCP server with hybrid vector+BM25 search, auto-indexing, and web dashboard
44
55
[![Docker](https://img.shields.io/badge/docker-ready-blue.svg)](https://hub.docker.com/r/ohopson/context-simplo)
66
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -9,15 +9,18 @@
99

1010
## What is this?
1111

12-
Context-Simplo is a production-ready MCP (Model Context Protocol) server that automatically indexes your codebase into a graph+vector database. It provides AI assistants with deep code intelligence: call hierarchies, impact analysis, semantic search, dead code detection, and more. It runs entirely in Docker with support for local (Ollama) or remote (OpenAI) LLMs, and lets you switch between projects at runtime without restarting the container.
12+
Context-Simplo is a production-ready MCP (Model Context Protocol) server that automatically indexes your codebase into a graph+vector database. It provides AI assistants with deep code intelligence: call hierarchies, impact analysis, semantic search, dead code detection, and more. Runs entirely in Docker with support for local (Ollama) or remote (OpenAI) LLMs, and lets you switch between projects at runtime without restarting the container.
1313

14-
## Quickstart (simplo CLI) — Recommended
14+
## Quickstart
15+
16+
Context-Simplo runs in Docker. Choose your preferred method below.
17+
18+
### Option A: simplo CLI (Recommended)
1519

1620
The `simplo` CLI wraps Docker and handles mounting, LLM config, and IDE setup in a single command.
1721

1822
**Step 1: Install the CLI**
1923
```bash
20-
# Copy the script into your PATH
2124
curl -fsSL https://raw.githubusercontent.com/ohopson/context-simplo/main/bin/simplo \
2225
-o /usr/local/bin/simplo && chmod +x /usr/local/bin/simplo
2326
```
@@ -27,7 +30,7 @@ curl -fsSL https://raw.githubusercontent.com/ohopson/context-simplo/main/bin/sim
2730
simplo config
2831
# Edit the file to set LLM_PROVIDER, LLM_BASE_URL, etc.
2932
# Default is LLM_PROVIDER=ollama — make sure Ollama is running.
30-
# Set LLM_PROVIDER=none to skip embeddings entirely (structural tools still work).
33+
# Set LLM_PROVIDER=none to skip embeddings (structural tools still work).
3134
```
3235

3336
**Step 3: Start from any project directory**
@@ -43,15 +46,15 @@ simplo setup cursor # Generate .cursor/mcp.json
4346
# Also supports: vscode, claude-desktop, claude-code
4447
```
4548

46-
That's it. The CLI mounts your home directory read-only and calculates the workspace path automatically. You can switch projects at any time from the dashboard — no container restart required.
49+
The CLI mounts your home directory read-only and calculates the workspace path automatically. Switch projects at any time from the dashboard — no container restart required.
4750

48-
## Quickstart (Docker)
51+
### Option B: Docker CLI
4952

50-
If you prefer raw Docker commands, choose an embedding provider option below.
53+
If you prefer raw Docker commands, choose an embedding provider below.
5154

5255
> **Important**: Context-Simplo does NOT bundle AI models. Provide an external embedding service for semantic search, or run with `LLM_PROVIDER=none` for structural tools only.
5356
54-
### Option 1: Local AI (Ollama) — Recommended for Privacy
57+
#### 1. Local AI (Ollama) — Recommended for Privacy
5558

5659
```bash
5760
# 1. Install Ollama and pull the model
@@ -138,7 +141,7 @@ docker run -d `
138141

139142
</details>
140143

141-
### Option 2: Cloud AI (OpenAI)
144+
#### 2. Cloud AI (OpenAI)
142145

143146
```bash
144147
docker pull ohopson/context-simplo:latest
@@ -204,7 +207,7 @@ docker run -d `
204207

205208
</details>
206209

207-
### Option 3: No AI (Structural Tools Only)
210+
#### 3. No AI (Structural Tools Only)
208211

209212
```bash
210213
docker run -d \
@@ -220,18 +223,16 @@ docker run -d \
220223

221224
Semantic search is unavailable without embeddings, but all structural tools (call hierarchies, impact analysis, dead code detection, etc.) still work.
222225

223-
### After starting (all options)
226+
#### After starting
224227

225228
```bash
226229
open http://localhost:3001 # Dashboard
227230
# Configure your IDE to use http://localhost:3001/mcp
228231
```
229232

230-
### Legacy mode
231-
232-
The old `-v $(pwd):/workspace:ro` mount style still works. If `/host` is not detected, the server falls back to `/workspace` automatically.
233+
**Legacy mode:** The old `-v $(pwd):/workspace:ro` mount style still works. If `/host` is not detected, the server falls back to `/workspace` automatically.
233234

234-
## Workspace Configuration
235+
## Workspace Modes
235236

236237
Context-Simplo supports two workspace modes:
237238

@@ -243,19 +244,13 @@ Mount your home directory at `/host`. The container can browse any subdirectory,
243244
# simplo CLI does this automatically:
244245
simplo start # indexes current directory
245246
simplo start ~/other-app # indexes a specific directory
246-
247-
# Or with docker-compose (uses $HOME by default):
248-
docker-compose up -d
249-
250-
# Override the initial workspace:
251-
INITIAL_WORKSPACE=/host/projects/my-app docker-compose up -d
252247
```
253248

254249
To switch workspaces at runtime, open the dashboard Repositories page and click **Change** in the workspace bar. Browse to a new directory and click **Switch Workspace**. Re-indexing happens automatically in the background.
255250

256251
### Legacy mode
257252

258-
Mount a single project at `/workspace`. No runtime switching — you must restart the container to change projects.
253+
Mount a single project at `/workspace`. No runtime switching — restart required to change projects.
259254

260255
```bash
261256
docker run -d \
@@ -264,29 +259,7 @@ docker run -d \
264259
ohopson/context-simplo:latest
265260
```
266261

267-
### docker-compose
268-
269-
`docker-compose.yml` supports both modes via environment variables:
270-
271-
| Variable | Default | Purpose |
272-
|----------|---------|---------|
273-
| `HOST_MOUNT_PATH` | `~` | Host directory mounted at `/host` |
274-
| `MOUNT_ROOT` | `/host` | Mount root inside the container |
275-
| `INITIAL_WORKSPACE` | `/workspace` | Starting workspace path |
276-
| `WORKSPACE_PATH` | `.` | Legacy `/workspace` mount path |
277-
278-
```bash
279-
# Dynamic mode (default) — mounts $HOME, starts at /workspace
280-
docker-compose up -d
281-
282-
# Start in a specific project
283-
INITIAL_WORKSPACE=/host/projects/my-app docker-compose up -d
284-
285-
# Custom mount root (e.g., external drive)
286-
HOST_MOUNT_PATH=/mnt/data docker-compose up -d
287-
```
288-
289-
### Paths inside the container
262+
### Container paths
290263

291264
When adding repositories via the dashboard or MCP tools, use **container paths**:
292265

@@ -316,7 +289,7 @@ Options: `--root <path>` (mount root, default `$HOME`), `--port <port>` (default
316289

317290
## Automatic AI Agent Usage (Cursor Rules)
318291

319-
Context-Simplo tools are most effective when your AI agent uses them automatically instead of falling back to file-by-file search. You can add a Cursor rule that instructs the agent to prefer Context-Simplo for code intelligence tasks — reducing tool call chains and lowering token costs.
292+
Context-Simplo tools are most effective when your AI agent uses them automatically instead of falling back to file-by-file search. Add a Cursor rule that instructs the agent to prefer Context-Simplo for code intelligence tasks — reducing tool call chains and lowering token costs.
320293

321294
**Create `.cursor/rules/context-simplo-usage.mdc` in your project:**
322295

@@ -352,25 +325,47 @@ MCP server: `user-context-simplo`. Use it **instead of** grep/ripgrep/Glob/Seman
352325
- Pass `repositoryId` to scope queries and avoid full-index scans
353326
- Use `incremental: true` when re-indexing after changes
354327
- Skip Context-Simplo for single-file edits where the file is already open/known
355-
```
356328

357-
**Why this reduces cost:** Without the rule, AI agents explore codebases by chaining multiple Grep → Read → Grep → Read calls, each consuming tokens. A single Context-Simplo MCP call (e.g., `find_callers` or `get_impact_radius`) replaces entire chains of exploration, returning structured results in one round-trip.
329+
## Compact mode (token savings)
358330

359-
This also works with other MCP-compatible clients (VS Code, Claude Desktop, Claude Code) — adapt the rule format to your IDE's conventions.
331+
Set `CONTEXT_SIMPLO_RESPONSE_MODE=compact` in the server environment to enable ~60% input token savings.
360332

361-
## Quickstart (npm — no Docker)
333+
In compact mode, response keys are abbreviated:
362334

363-
For environments without Docker, install the server directly:
335+
| Full key | Compact | Full key | Compact |
336+
|----------|---------|----------|---------|
337+
| `results` / `callers` / `callees` | `r` | `repositoryId` | `rid` |
338+
| `name` | `n` | `language` | `lang` |
339+
| `qualifiedName` | `qn` | `nodeId` | `nid` |
340+
| `kind` | `k` | `score` | `s` |
341+
| `filePath` | `fp` | `isExported` | `x` |
342+
| `lineStart` | `ls` | `complexity` | `cx` |
343+
| `lineEnd` | `le` | `total` | `t` |
344+
| `symbol` | `sym` | `hasMore` | `m` |
345+
| `affectedNodes` | `nodes` | `searchType` | `st` |
346+
| `affectedFiles` | `files` | `entryPoints` | `entry` |
347+
| `modules` | `mods` | `keyAbstractions` | `abs` |
364348

365-
```bash
366-
npm install -g context-simplo
349+
Compact mode also removes `null` values, `id` hash fields, `visibility`, `limit`, and `offset` from responses, and minifies JSON (no indentation). `repositoryId` and `language` are hoisted to the envelope when all results share the same value.
350+
351+
## Response style
352+
353+
Be direct and concise in all responses. Drop articles (a/an/the), filler (just/really/basically/simply), pleasantries (sure/certainly/of course), and hedging. Fragments OK. Use short synonyms: "fix" not "implement a solution for", "use" not "utilize". Technical terms, code blocks, and error messages stay exact.
354+
355+
Pattern: `[thing] [action] [reason]. [next step].`
367356

368-
context-simplo serve # Start the server
369-
context-simplo index /path/to/repo
370-
context-simplo search "authentication"
371-
context-simplo status
357+
Example — not: "Sure! I'd be happy to help. The issue you're experiencing is likely caused by..."
358+
Example — yes: "Bug in auth middleware. Token expiry uses `<` not `<=`. Fix:"
359+
360+
Exception: use full sentences for security warnings, irreversible operations, and multi-step sequences where brevity risks misreading.
361+
362+
Never create or edit `.md` files unless explicitly asked.
372363
```
373364

365+
**Why this reduces cost:** Without the rule, AI agents explore codebases by chaining multiple Grep → Read → Grep → Read calls, each consuming tokens. A single Context-Simplo MCP call (e.g., `find_callers` or `get_impact_radius`) replaces entire chains of exploration, returning structured results in one round-trip.
366+
367+
This also works with other MCP-compatible clients (VS Code, Claude Desktop, Claude Code) — adapt the rule format to your IDE's conventions.
368+
374369
## Platform Support
375370

376371
Context-Simplo runs on all major platforms via Docker:
@@ -400,7 +395,6 @@ Context-Simplo runs on all major platforms via Docker:
400395
- **Real-Time Updates** -- WebSocket broadcasting for live indexing progress and metrics
401396
- **REST API** -- Full-featured API for external integrations and automation
402397
- **`simplo` CLI** -- One-command Docker management with persistent config and IDE setup
403-
- **CLI Interface** -- Standalone CLI (`context-simplo`) for scripting and non-Docker workflows
404398
- **Local or Remote LLMs** -- OpenAI, Azure, Ollama, or run without LLM (structural tools still work)
405399
- **Production-Ready** -- Graceful shutdown, crash recovery, secret scrubbing, pagination
406400
- **Portable** -- Single Docker container, ~150-200MB image, SQLite + LanceDB embedded storage
@@ -418,6 +412,8 @@ Context-Simplo combines the speed of Arbor's Rust architecture with the rich too
418412

419413
## Documentation
420414

415+
Full documentation available in the [`docs/`](docs/) directory:
416+
421417
- [Installation Guide](docs/installation.md)
422418
- [MCP IDE Setup](docs/mcp-setup.md)
423419
- [Configuration Reference](docs/configuration.md)

TESTING-INSTRUCTIONS.md

Lines changed: 0 additions & 128 deletions
This file was deleted.

0 commit comments

Comments
 (0)