Agent skill
dockerignore-config
Docker ignore configuration template and validation logic for optimizing Docker build contexts. Includes 5 required standards (build artifacts, development files, CI/CD and testing, logs and temporary files, root-only placement). Use when creating or auditing .dockerignore files to reduce build context size, improve performance, and ensure security.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/devops/dockerignore-config-metasaver-claude-marketplace
SKILL.md
Docker Ignore Configuration Skill
This skill provides .dockerignore template and validation logic for optimizing Docker build contexts.
Purpose
Manage .dockerignore configuration to:
- Reduce Docker build context size
- Exclude unnecessary files from Docker builds
- Improve build performance
- Ensure security (exclude .env, credentials)
Usage
This skill is invoked by the dockerignore-agent when:
- Creating new .dockerignore files
- Auditing existing .dockerignore configurations
- Validating .dockerignore against standards
Template
The standard .dockerignore template is located at:
templates/.dockerignore.template
The 5 .dockerignore Standards
Rule 1: Build Artifacts
Must exclude build outputs: dist/, build/, .next/, out/, .turbo/, *.tsbuildinfo, node_modules/
Rule 2: Development Files
Must exclude environment files, IDE configs, OS files, Git files:
.env*files.vscode/,.idea/.DS_Store,Thumbs.db.git/,.gitignore
Rule 3: CI/CD and Testing
Must exclude CI/CD configs, test files, coverage, documentation:
.github/, CI config filescoverage/,*.test.*,*.spec.*,__tests__/,__mocks__/docs/,*.md(exceptREADME.md)
Rule 4: Logs and Temporary Files
Must exclude logs and temporary files:
*.logfiles*.tmp,*.temp.cache/
Rule 5: Root-Only Placement
Place .dockerignore at the repository root where Docker CLI reads it. Docker uses the build context root for consistent, predictable behavior across all builds.
Benefits of root-only placement:
- Single source of truth for all Docker exclusions
- Patterns apply consistently across the entire build context
- Team members find configuration in the expected location
- Subdirectory patterns work using path prefixes (e.g.,
apps/web/node_modules/)
Action: Consolidate any subdirectory .dockerignore content into the root file, then remove the nested files.
Validation
To validate a .dockerignore file:
- Check that the file exists at repository root
- Read the file content
- Verify it includes patterns for all 5 rule categories
- Report any missing categories
Validation Approach
# Check Rule 1: Build artifacts
grep -q "node_modules" .dockerignore && grep -q "dist" .dockerignore
# Check Rule 2: Development files
grep -q ".env" .dockerignore && grep -q ".vscode" .dockerignore
# Check Rule 3: CI/CD and testing
grep -q ".github" .dockerignore && grep -q "coverage" .dockerignore
# Check Rule 4: Logs and temporary
grep -q "*.log" .dockerignore && grep -q "*.tmp" .dockerignore
# Check Rule 5: No nested .dockerignore files
find . -name ".dockerignore" -not -path "./.dockerignore" | wc -l # Should be 0
Repository Type Considerations
- Consumer Repos: Should strictly follow all 5 standards
- Library Repos: May have intentional differences (e.g., include documentation)
Best Practices
- Place .dockerignore at repository root only
- Use template as starting point
- Include
!README.mdto explicitly include README in builds - Exclude all sensitive files (
.env*, credentials) - Smaller build context = faster Docker builds
- Re-audit after making changes
Integration
This skill integrates with:
- Repository type provided via
scopeparameter. If not provided, use/skill scope-check /skill audit-workflow- Bi-directional comparison workflow/skill remediation-options- Conform/Update/Ignore choices
Didn't find tool you were looking for?