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:
34
AGENTS.md
34
AGENTS.md
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user