From bc96cb4c02f509d0d1b8f25867e3778fe82a6be7 Mon Sep 17 00:00:00 2001 From: Charles N Wyble Date: Wed, 21 Jan 2026 19:19:10 -0500 Subject: [PATCH] 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 --- AGENTS.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 9556f3c..9c61bdd 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -173,8 +173,42 @@ When working on any MCP server: - Service names are lowercase for Docker Compose compatibility - Each agent is validated individually before moving to the next - 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 +### 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 For each agent, verify: