An open API service indexing awesome lists of open source software.

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

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