https://github.com/ambient-code/steering
AI steering guidance generator for ACP - helps agents discover and use correct code abstractions
https://github.com/ambient-code/steering
Last synced: 5 days ago
JSON representation
AI steering guidance generator for ACP - helps agents discover and use correct code abstractions
- Host: GitHub
- URL: https://github.com/ambient-code/steering
- Owner: ambient-code
- Created: 2026-02-12T17:37:26.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-03-12T16:16:25.000Z (3 months ago)
- Last Synced: 2026-05-13T19:39:25.374Z (about 1 month ago)
- Language: Python
- Size: 42 KB
- Stars: 2
- Watchers: 0
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ACP Steering System
Generates AI steering guidance from codebases to help agents discover and use correct abstractions.
## What It Does
**repomap.py** — Analyzes a codebase and generates:
1. Repository structure map (for context)
2. Steering guidance (when/why/how to use abstractions)
3. API documentation (function signatures, parameters, types)
**acp_steering_mcp.py** — MCP server exposing three tools:
- `query_steering` — Get when/why/how guidance
- `query_api_docs` — Get function signatures and docs
- `list_repos` — List available repositories
## Installation
Requires Python 3.10+ and [uv](https://docs.astral.sh/uv/).
```bash
make install
source .venv/bin/activate
```
## Admin Guide
### 1. Generate steering for a repo
```bash
repomap /path/to/repo --repo-name
```
This writes steering content to `~/.acp/repos//`. Use `--output ` to override.
### 2. Start the MCP server
```bash
acp-steering-mcp
```
The server indexes all repos under `~/.acp/repos/`.
### 3. Configure your MCP client
Add to your MCP client settings (Claude Desktop, Claude Code, etc.):
```json
{
"mcpServers": {
"acp-steering": {
"command": "/path/to/steering/.venv/bin/acp-steering-mcp"
}
}
}
```
Or use `make deploy` which prints the config for you:
```bash
make deploy REPO=platform PATH_TO_REPO=~/repos/platform
```
## Updating Steering
Re-run `repomap` after code changes:
```bash
repomap /path/to/repo --repo-name
```
## Language Support
- **Python**: Full (AST-based, types, docstrings)
- **TypeScript/JavaScript**: Basic (tree-sitter)
- **Go**: Basic (tree-sitter)
- **Bash**: Basic (tree-sitter)
## Dependencies
- `mcp` >= 1.26.0 (FastMCP)
- `pydantic` >= 2.0.0
- `tree-sitter` >= 0.25.0
- Language grammars: `tree-sitter-python`, `tree-sitter-javascript`, `tree-sitter-typescript`, `tree-sitter-go`, `tree-sitter-bash`
## Notes
- Python gets full analysis (AST-based)
- Other languages get basic symbol extraction (tree-sitter)
- Steering files are auto-generated but can be manually edited
- MCP server uses keyword search (semantic search possible future enhancement)
- Generated content follows structured format for agent consumption