symapse
by atobouh
README.md
# Symapse
> Architectural awareness engine for AI coding agents
<p align="center">
<img alt="npm version" src="https://img.shields.io/npm/v/symapse?color=blue">
<img alt="license" src="https://img.shields.io/npm/l/symapse">
<img alt="node" src="https://img.shields.io/node/v/symapse">
</p>
## Install
```bash
npm install -g symapse
```
Requires **Node.js 22+**. No dependencies. Zero config.
---
## Quick Start
```bash
# Index your project
symapse index /path/to/repo
# Start the MCP server (for OpenCode/Cursor/Claude integration)
symapse mcp /path/to/repo
# Query from the terminal
symapse_ask "add notification system"
symapse_find login
symapse_map "direct login after payment"
symapse_audit 10
symapse_health
# Live coding awareness — start watching for collisions, breaks, and dead code
symapse_health --watch
```
---
## OpenCode Integration
Install Symapse first:
```bash
npm install -g symapse
```
Add to your project's `opencode.json`:
```json
{
"mcp": {
"symapse": {
"type": "local",
"command": ["npx", "symapse", "mcp", "."],
"enabled": true
}
}
}
```
Create an `AGENTS.md` in your project root with:
```markdown
## RULE 1: Always check Symapse first
| Instead of... | Use... |
|---|---|
| Reading files for architecture | `symapse_map` |
| Grepping for symbols | `symapse_find` |
| Guessing where code goes | `symapse_ask` |
| Finding dead code or duplicates | `symapse_audit` |
| Re-indexing or checking status | `symapse_health` |
First action every session: `symapse_ask "<request>"`. If it returns questions, ASK them.
If Symapse doesn't answer your question, read files.
```
---
## Tools
| Tool | Question it answers |
|---|---|
| `symapse_ask` | What should I know before working on X? |
| `symapse_find` | Where is X and what does it touch? |
| `symapse_map` | Show me the shape of this repo / feature |
| `symapse_audit` | What's wrong, unused, or duplicated? |
| `symapse_diff` | After changes: what did I affect? What did watch detect? |
| `symapse_health` | What's the state of the index? Watch mode |
**Temporal workflow:**
- Before coding: `symapse_ask` → `symapse_map` → `symapse_find`
- During coding: `symapse_health --watch`
- After each edit: `symapse_diff`
- Maintenance: `symapse_audit` | `symapse_health`
---
## Supported Languages
JavaScript, TypeScript, Python, Go, Rust, C#, PHP, Ruby, Lua, and C.
---
## How It Works
1. **Index** — walks the repo, extracts functions/classes/methods with regex parsers, builds call and import edges
2. **Store** — normalized SQLite schema, incremental by mtime + engine version
3. **Expose** — CLI, REST API, and MCP over stdio. All share the same engine.
---
## Self-Improving
Symapse learns from agent behavior across sessions without any user involvement:
- **Session coherence** — biases context toward the subsystem the agent is already exploring
- **Usage signals** — logs which symbols agents actually drill into
- **Workflow memory** — auto-detects repeated symbol sequences across sessions
- **Intent classification** — routes config/docs questions away from source code exploration
---
## Architecture
```
packages/
engine/ — regex-based parser, call graph, all analysis tools
db/ — SQLite persistence with incremental indexing
mcp/ — MCP protocol server (JSON-RPC over stdio)
apps/
cli/ — command-line entry point
api/ — HTTP API server + web dashboard
web/ — terminal-style web UI
```
---
## License
AGPL-3.0
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues