|
| 1 | +# AGENTS.md |
| 2 | + |
| 3 | +Guidance for AI coding agents working on the Docker Developer Tools repository. |
| 4 | + |
| 5 | +## Repository overview |
| 6 | + |
| 7 | +A Cursor IDE plugin providing Docker and container workflows. 17 skills, 10 rules, and 150 MCP tools for building, debugging, optimizing, and managing Docker containers, images, networks, and volumes. Includes a companion MCP server (`@tmhs/docker-mcp`) for live Docker CLI integration. |
| 8 | + |
| 9 | +**Docs site:** https://tmhsdigital.github.io/Docker-Developer-Tools/ |
| 10 | + |
| 11 | +## Repository structure |
| 12 | + |
| 13 | +``` |
| 14 | +Docker-Developer-Tools/ |
| 15 | + .cursor-plugin/plugin.json # Plugin manifest (name, version, description) |
| 16 | + skills/ # 17 skill directories, each with SKILL.md |
| 17 | + rules/ # 10 rule files (.mdc) |
| 18 | + mcp-server/ # Companion MCP server (Node.js/TypeScript) |
| 19 | + src/ # Server source code |
| 20 | + dist/ # Compiled output |
| 21 | + mcp-tools.json # MCP tool catalog (150 tools, manually maintained) |
| 22 | + site.json # GitHub Pages branding/config |
| 23 | + docs/ # Generated GitHub Pages site (do not edit manually) |
| 24 | + assets/ # Logo and images |
| 25 | + tests/ # Test suite |
| 26 | + .github/workflows/ # CI/CD (ci, codeql, dep-review, links, pages, publish, release-drafter, stale, validate) |
| 27 | +``` |
| 28 | + |
| 29 | +## Branching and commit model |
| 30 | + |
| 31 | +- **Single branch:** `main` only |
| 32 | +- **Conventional commits:** `feat:`, `fix:`, `chore:`, `docs:` |
| 33 | + |
| 34 | +## Skills |
| 35 | + |
| 36 | +Each skill lives in `skills/<skill-name>/SKILL.md`. Every SKILL.md starts with YAML frontmatter: |
| 37 | + |
| 38 | +```yaml |
| 39 | +--- |
| 40 | +name: skill-name |
| 41 | +description: One-line description of what the skill does |
| 42 | +--- |
| 43 | +``` |
| 44 | + |
| 45 | +The `name` and `description` fields are parsed by the site template build system to generate the GitHub Pages site. The body below the frontmatter contains the full skill content. |
| 46 | + |
| 47 | +When adding a new skill: |
| 48 | +1. Create `skills/<skill-name>/SKILL.md` with frontmatter |
| 49 | +2. Update the `skills` count in `.cursor-plugin/plugin.json` |
| 50 | +3. Use `feat:` commit prefix |
| 51 | + |
| 52 | +## Rules |
| 53 | + |
| 54 | +Rules are `.mdc` files in `rules/`. Each starts with YAML frontmatter containing `description` and `globs` fields. When adding a new rule, update the `rules` count in context references. |
| 55 | + |
| 56 | +## MCP Tools |
| 57 | + |
| 58 | +`mcp-tools.json` is a manually maintained JSON array of all MCP tools. Each entry has `name`, `description`, and `category` fields. This file is used by the GitHub Pages build system to render the tools catalog. When adding or removing tools from `mcp-server/`, update this file accordingly. |
| 59 | + |
| 60 | +## GitHub Pages |
| 61 | + |
| 62 | +The docs site is auto-generated. Do not edit `docs/index.html` directly. It is built by the shared template system from the Developer-Tools-Directory repo. |
| 63 | + |
| 64 | +Data sources: |
| 65 | +- `.cursor-plugin/plugin.json` -- metadata (name, version, description) |
| 66 | +- `site.json` -- branding (accent color, install steps, links) |
| 67 | +- `skills/*/SKILL.md` -- parsed for name/description via frontmatter |
| 68 | +- `rules/*.mdc` -- parsed for name/scope/description |
| 69 | +- `mcp-tools.json` -- tool catalog |
| 70 | + |
| 71 | +The `pages.yml` workflow clones Developer-Tools-Directory, runs `build_site.py`, and deploys the output. Changes to skills, rules, mcp-tools.json, site.json, plugin.json, or assets trigger a rebuild. |
| 72 | + |
| 73 | +## CI/CD workflows |
| 74 | + |
| 75 | +- `ci.yml` -- runs tests on push/PR |
| 76 | +- `validate.yml` -- validates plugin.json schema, checks docs |
| 77 | +- `pages.yml` -- builds and deploys GitHub Pages via shared template |
| 78 | +- `publish.yml` -- publishes MCP server to npm |
| 79 | +- `codeql.yml` -- security scanning |
| 80 | +- `dependency-review.yml` -- audits PR dependencies |
| 81 | +- `release-drafter.yml` -- auto-drafts release notes |
| 82 | +- `stale.yml` -- marks/closes inactive issues and PRs |
| 83 | +- `links.yml` -- checks for broken links |
| 84 | + |
| 85 | +## Key conventions |
| 86 | + |
| 87 | +- No em dashes or en dashes -- use hyphens or rewrite |
| 88 | +- No hardcoded credentials, tokens, or API keys |
| 89 | +- Conventional commits required |
| 90 | +- CC-BY-NC-ND-4.0 license |
| 91 | +- All content written for public readership |
0 commit comments