Add Crush integration section to AGENTS.md

- Document crush.json format and configuration
- Explain configuration priority (local to global)
- Provide Docker-based LSP/MCP configuration pattern
- Include examples for bash, docker, and markdown LSP servers
This commit is contained in:
2026-01-21 19:19:10 -05:00
parent c583ed38eb
commit bc96cb4c02

View File

@@ -173,8 +173,42 @@ When working on any MCP server:
- Service names are lowercase for Docker Compose compatibility - Service names are lowercase for Docker Compose compatibility
- Each agent is validated individually before moving to the next - Each agent is validated individually before moving to the next
- Vendor directory is gitignored to avoid committing cloned repositories - Vendor directory is gitignored to avoid committing cloned repositories
- **Dockerfile Management**: Custom Dockerfiles created for vendors must be saved in the `dockerfiles/` directory with a corresponding subdirectory structure (e.g., `dockerfiles/bash-language-server/Dockerfile`). These are tracked in git, while vendor/* is not.
- **KiCAD MCP** is host-only - requires KiCAD to be installed on host machine and connects via TCP - **KiCAD MCP** is host-only - requires KiCAD to be installed on host machine and connects via TCP
### Crush Integration
All LSP and MCP instances must be configured in `crush.json` for Crush to use them. The configuration file uses the following format:
```json
{
"$schema": "https://charm.land/crush.json",
"lsp": {
"bash": {
"command": "docker",
"args": ["run", "-i", "--rm", "KNELDevStack-AIMiddleware-bash-language-server"]
}
},
"mcp": {
"docker": {
"command": "docker",
"args": ["run", "-i", "--rm", "KNELDevStack-AIMiddleware-docker-mcp"]
}
}
}
```
**Configuration Priority:**
1. `.crush.json` (project-local)
2. `crush.json` (project-local)
3. `$HOME/.config/crush/crush.json` (global)
**For Docker-based LSP/MCP instances:**
- Use `docker` as the command
- Include container name as the main argument
- Use `-i` for interactive mode (required for stdio communication)
- Use `--rm` to automatically clean up containers after use
## Validation Checklist ## Validation Checklist
For each agent, verify: For each agent, verify: