{"id":50974705,"url":"https://github.com/ambient-code/steering","last_synced_at":"2026-06-19T06:31:02.942Z","repository":{"id":357661320,"uuid":"1156478189","full_name":"ambient-code/steering","owner":"ambient-code","description":"AI steering guidance generator for ACP - helps agents discover and use correct code abstractions","archived":false,"fork":false,"pushed_at":"2026-03-12T16:16:25.000Z","size":43,"stargazers_count":2,"open_issues_count":2,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-13T19:39:25.374Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ambient-code.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-12T17:37:26.000Z","updated_at":"2026-03-12T16:16:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ambient-code/steering","commit_stats":null,"previous_names":["ambient-code/steering"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ambient-code/steering","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ambient-code%2Fsteering","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ambient-code%2Fsteering/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ambient-code%2Fsteering/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ambient-code%2Fsteering/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ambient-code","download_url":"https://codeload.github.com/ambient-code/steering/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ambient-code%2Fsteering/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34520431,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-19T06:30:57.478Z","updated_at":"2026-06-19T06:31:02.930Z","avatar_url":"https://github.com/ambient-code.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ACP Steering System\n\nGenerates AI steering guidance from codebases to help agents discover and use correct abstractions.\n\n## What It Does\n\n**repomap.py** — Analyzes a codebase and generates:\n1. Repository structure map (for context)\n2. Steering guidance (when/why/how to use abstractions)\n3. API documentation (function signatures, parameters, types)\n\n**acp_steering_mcp.py** — MCP server exposing three tools:\n- `query_steering` — Get when/why/how guidance\n- `query_api_docs` — Get function signatures and docs\n- `list_repos` — List available repositories\n\n## Installation\n\nRequires Python 3.10+ and [uv](https://docs.astral.sh/uv/).\n\n```bash\nmake install\nsource .venv/bin/activate\n```\n\n## Admin Guide\n\n### 1. Generate steering for a repo\n\n```bash\nrepomap /path/to/repo --repo-name \u003cname\u003e\n```\n\nThis writes steering content to `~/.acp/repos/\u003cname\u003e/`. Use `--output \u003cpath\u003e` to override.\n\n### 2. Start the MCP server\n\n```bash\nacp-steering-mcp\n```\n\nThe server indexes all repos under `~/.acp/repos/`.\n\n### 3. Configure your MCP client\n\nAdd to your MCP client settings (Claude Desktop, Claude Code, etc.):\n\n```json\n{\n  \"mcpServers\": {\n    \"acp-steering\": {\n      \"command\": \"/path/to/steering/.venv/bin/acp-steering-mcp\"\n    }\n  }\n}\n```\n\nOr use `make deploy` which prints the config for you:\n\n```bash\nmake deploy REPO=platform PATH_TO_REPO=~/repos/platform\n```\n\n## Updating Steering\n\nRe-run `repomap` after code changes:\n\n```bash\nrepomap /path/to/repo --repo-name \u003cname\u003e\n```\n\n## Language Support\n\n- **Python**: Full (AST-based, types, docstrings)\n- **TypeScript/JavaScript**: Basic (tree-sitter)\n- **Go**: Basic (tree-sitter)\n- **Bash**: Basic (tree-sitter)\n\n## Dependencies\n\n- `mcp` \u003e= 1.26.0 (FastMCP)\n- `pydantic` \u003e= 2.0.0\n- `tree-sitter` \u003e= 0.25.0\n- Language grammars: `tree-sitter-python`, `tree-sitter-javascript`, `tree-sitter-typescript`, `tree-sitter-go`, `tree-sitter-bash`\n\n## Notes\n\n- Python gets full analysis (AST-based)\n- Other languages get basic symbol extraction (tree-sitter)\n- Steering files are auto-generated but can be manually edited\n- MCP server uses keyword search (semantic search possible future enhancement)\n- Generated content follows structured format for agent consumption\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fambient-code%2Fsteering","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fambient-code%2Fsteering","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fambient-code%2Fsteering/lists"}