{"owner":"oraios","repo":"docker","hasSkills":true,"totalSkillsCount":4,"totalTokensCount":1209,"categories":["mcp-config","marketplace","plugin-manifest","cursor-rule"],"hasMcp":true,"mcpConfig":{"mcpServers":{"docker":{"command":"npx","args":["-y","@modelcontextprotocol/server-docker"]}}},"found":[".cursor/mcp.json",".claude-plugin/marketplace.json",".claude-plugin/plugin.json",".cursorrules (docker.mdc)"],"skills":{".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/oraios/docker/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/oraios/docker/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/oraios/docker/HEAD/.claude-plugin/plugin.json)",".cursorrules (docker.mdc)":"# Docker Rules\n\nExpert Docker practitioner. Minimal, secure, reproducible images.\n\n## Dockerfile\n- Pin versions: FROM node:20.11-alpine3.19 (never :latest)\n- Multi-stage builds for compiled languages\n- Layer cache: copy package files → install → copy source\n- Combine RUN commands with && to minimize layers\n- USER non-root before CMD\n- HEALTHCHECK on all services\n- COPY --chown=appuser:appuser for file ownership\n\n## Security\n- Never run as root\n- No secrets in Dockerfile or image layers\n- No .env files copied into image\n- Scan with docker scout or trivy in CI\n\n## .dockerignore\n- Always present: node_modules, .git, *.log, .env*, test files\n\n## Volumes\n- Named volumes for persistence\n- Bind mounts for dev only, never production\n\n## Networking\n- Custom bridge networks, not host networking\n- Reference services by name in compose\n\n## Logging\n- Always stdout/stderr — never log to files inside container\n\n## Forbidden\n- No :latest tags in production\n- No ADD when COPY works\n- No root user in production\n- No secrets in build args or image layers"},"files":{".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/oraios/docker/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/oraios/docker/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/oraios/docker/HEAD/.claude-plugin/plugin.json)",".cursorrules (docker.mdc)":"# Docker Rules\n\nExpert Docker practitioner. Minimal, secure, reproducible images.\n\n## Dockerfile\n- Pin versions: FROM node:20.11-alpine3.19 (never :latest)\n- Multi-stage builds for compiled languages\n- Layer cache: copy package files → install → copy source\n- Combine RUN commands with && to minimize layers\n- USER non-root before CMD\n- HEALTHCHECK on all services\n- COPY --chown=appuser:appuser for file ownership\n\n## Security\n- Never run as root\n- No secrets in Dockerfile or image layers\n- No .env files copied into image\n- Scan with docker scout or trivy in CI\n\n## .dockerignore\n- Always present: node_modules, .git, *.log, .env*, test files\n\n## Volumes\n- Named volumes for persistence\n- Bind mounts for dev only, never production\n\n## Networking\n- Custom bridge networks, not host networking\n- Reference services by name in compose\n\n## Logging\n- Always stdout/stderr — never log to files inside container\n\n## Forbidden\n- No :latest tags in production\n- No ADD when COPY works\n- No root user in production\n- No secrets in build args or image layers"},"items":[{"name":"marketplace.json","path":".claude-plugin/marketplace.json","rawUrl":"https://raw.githubusercontent.com/oraios/docker/HEAD/.claude-plugin/marketplace.json","title":"Claude Plugin Marketplace Catalog","category":"marketplace","format":"json","content":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/oraios/docker/HEAD/.claude-plugin/marketplace.json)","tokens":300,"sizeBytes":192},{"name":"plugin.json","path":".claude-plugin/plugin.json","rawUrl":"https://raw.githubusercontent.com/oraios/docker/HEAD/.claude-plugin/plugin.json","title":"claude-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/oraios/docker/HEAD/.claude-plugin/plugin.json)","tokens":300,"sizeBytes":178},{"name":"mcp.json","path":".cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/oraios/docker/HEAD/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/oraios/docker/HEAD/.cursor/mcp.json)","tokens":300,"sizeBytes":171},{"name":".cursorrules","path":".cursorrules (docker.mdc)","rawUrl":"https://raw.githubusercontent.com/PatrickJS/awesome-cursorrules/main/rules/docker.mdc","title":"Docker production rules. Pinned versions, multi-stage builds, non-root user, minimal attack surface.","category":"cursor-rule","format":"markdown","content":"# Docker Rules\n\nExpert Docker practitioner. Minimal, secure, reproducible images.\n\n## Dockerfile\n- Pin versions: FROM node:20.11-alpine3.19 (never :latest)\n- Multi-stage builds for compiled languages\n- Layer cache: copy package files → install → copy source\n- Combine RUN commands with && to minimize layers\n- USER non-root before CMD\n- HEALTHCHECK on all services\n- COPY --chown=appuser:appuser for file ownership\n\n## Security\n- Never run as root\n- No secrets in Dockerfile or image layers\n- No .env files copied into image\n- Scan with docker scout or trivy in CI\n\n## .dockerignore\n- Always present: node_modules, .git, *.log, .env*, test files\n\n## Volumes\n- Named volumes for persistence\n- Bind mounts for dev only, never production\n\n## Networking\n- Custom bridge networks, not host networking\n- Reference services by name in compose\n\n## Logging\n- Always stdout/stderr — never log to files inside container\n\n## Forbidden\n- No :latest tags in production\n- No ADD when COPY works\n- No root user in production\n- No secrets in build args or image layers","frontmatter":{"description":"Docker production rules. Pinned versions, multi-stage builds, non-root user, minimal attack surface.","globs":"Dockerfile, Dockerfile.*, docker-compose*.yml, docker-compose*.yaml, .dockerignore","alwaysApply":false},"tokens":309,"sizeBytes":1057}],"systemPromptSnippet":"<yakaai_skills repo=\"oraios/docker\">\n<!-- File: .claude-plugin/marketplace.json (Tokens: ~300 | Category: marketplace) -->\n# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/oraios/docker/HEAD/.claude-plugin/marketplace.json)\n\n<!-- File: .claude-plugin/plugin.json (Tokens: ~300 | Category: plugin-manifest) -->\n# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/oraios/docker/HEAD/.claude-plugin/plugin.json)\n\n<!-- File: .cursor/mcp.json (Tokens: ~300 | Category: mcp-config) -->\n# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/oraios/docker/HEAD/.cursor/mcp.json)\n\n<!-- File: .cursorrules (docker.mdc) (Tokens: ~309 | Category: cursor-rule) -->\n# Docker Rules\n\nExpert Docker practitioner. Minimal, secure, reproducible images.\n\n## Dockerfile\n- Pin versions: FROM node:20.11-alpine3.19 (never :latest)\n- Multi-stage builds for compiled languages\n- Layer cache: copy package files → install → copy source\n- Combine RUN commands with && to minimize layers\n- USER non-root before CMD\n- HEALTHCHECK on all services\n- COPY --chown=appuser:appuser for file ownership\n\n## Security\n- Never run as root\n- No secrets in Dockerfile or image layers\n- No .env files copied into image\n- Scan with docker scout or trivy in CI\n\n## .dockerignore\n- Always present: node_modules, .git, *.log, .env*, test files\n\n## Volumes\n- Named volumes for persistence\n- Bind mounts for dev only, never production\n\n## Networking\n- Custom bridge networks, not host networking\n- Reference services by name in compose\n\n## Logging\n- Always stdout/stderr — never log to files inside container\n\n## Forbidden\n- No :latest tags in production\n- No ADD when COPY works\n- No root user in production\n- No secrets in build args or image layers\n</yakaai_skills>"}