# amql-cli
> Command-line interface and interactive REPL for AQL
## Role
- Thin shim over [amql-engine](../amql-engine)
- Zero domain logic — all operations delegate to the engine
- Also exposes the [MCP server](../amql-mcp-server) via `aql mcp`
## Commands
| `select` | Query annotations by CSS-like selector |
| `query` | Unified annotation + code element query |
| `extract` | Run extractors on source files |
| `validate` | Validate annotations against schema |
| `diff` | Compare annotations against baseline |
| `repair` | Suggest fixes for annotation issues |
| `schema` | Discover annotation metadata |
| `stats` | Project annotation statistics |
| `init` | Initialize AQL in a project |
| `locate` | Find sidecar for a source file |
| `bench` | Benchmark AQL vs baseline tools |
| `nav_select` | Select AST nodes by tree-sitter kind |
| `nav_read` | Read source text of a node |
| `nav_insert` | Insert source relative to a node |
| `nav_replace` | Replace a node's source text |
| `nav_remove` | Remove a node from source |
| `transact` | Atomic multi-step source mutation |
| `mcp` | Start the MCP server (stdio transport) |
## Getting Started
```sh
# Install
cargo install amql-cli
# Query annotations
aql select "controller[method='POST']" --scope src/
# Interactive REPL
aql
# Start MCP server
aql mcp
```
## License
[MIT](../../LICENSE)