Configuration Guide
MKForge can be customized to work better with your specific projects and workflow. You can set up both global defaults and project-specific settings.
Quick Setup
Global Settings (Recommended)
bash
# Initialize global configuration
mkforge config init
# View current settings
mkforge config showProject Settings
bash
# Initialize settings for current project
mkforge config init --local
# View combined settings (global + project)
mkforge config show --mergedConfiguration Files
Global Configuration
Located at $HOME/.config/mkforge/config.yaml:
yaml
context:
# Project summary settings
output_format: md # Output format (md, txt)
ignore_patterns: # Files to ignore
- ".git/"
- "node_modules/"
- "vendor/"
max_file_size: 1MB # Maximum file size to include
max_files: 100 # Maximum files to processProject Configuration
Create .mkforge.yaml in your project root to override specific settings:
yaml
# Override only the settings you want to change
context:
ignore_patterns:
- "build/*"
- "*.tmp"
max_file_size: 2MBConfiguration Options
Summary Generation Settings
| Option | Description | Default |
|---|---|---|
| output_format | Output format (md, txt) | md |
| ignore_patterns | Files to ignore | [".git/", "node_modules/", ...] |
| max_file_size | Maximum file size | 1MB |
| include_structure | Include directory structure | true |
| include_content | Include file contents | true |
| exclude_extensions | Extensions to ignore | [".exe", ".dll", ...] |
| max_files | Maximum files to include | 100 |
Smart Ignore Patterns
MKForge automatically adds relevant ignore patterns based on your project type:
Node.js Projects
yaml
ignore_patterns:
- "node_modules/"
- "dist/"
- "build/"
- "coverage/"
- ".next/"
- ".nuxt/"Go Projects
yaml
ignore_patterns:
- "vendor/"
- "bin/"
- "dist/"Python Projects
yaml
ignore_patterns:
- "venv/"
- "__pycache__/"
- "*.pyc"
- "build/"
- "dist/"
- "*.egg-info/"Java Projects
yaml
ignore_patterns:
- "target/"
- "*.class"
- "*.jar"Common Configuration Tasks
Setting Up a New Project
bash
# Create minimal project config
mkforge config init --local --minimal
# See what's different from global config
mkforge config diffUpdating Settings
bash
# Show current effective settings
mkforge config show --merged
# Create new config, replacing existing
mkforge config init --forceExclude File Types
yaml
context:
exclude_extensions:
- ".log"
- ".tmp"
- ".cache"Customize File Limits
yaml
context:
max_file_size: 2MB
max_files: 200Best Practices
- Start Global: Set up global defaults first with
mkforge config init - Project Overrides: Use project configs only for project-specific needs
- Minimal Local: Use
--minimalfor project configs to override only what's needed - Check Changes: Use
mkforge config diffto verify your changes - Version Control: Commit
.mkforge.yamlto share project settings with your team
Troubleshooting
Common Issues
Files Not Included
- Check file size limits
- Verify ignore patterns
- Use
--debugflag for detailed info
Config Not Applied
- Ensure correct config file location
- Check file permissions
- Use
config show --mergedto verify
Performance Issues
- Adjust
max_file_sizeandmax_files - Add specific ignore patterns
- Use structure-only mode for large projects
- Adjust
Need more help? Visit our GitHub repository for support.
