CLI & Config
Changelog
All notable changes to the m1f project documented here
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[3.7.0] - 2025-07-21
Added
- Enhanced m1f-claude Documentation: m1f-claude now automatically includes complete m1f documentation in every prompt
- Help Parameters: All scripts now support
-h
or--help
flags for better discoverability - Pre-commit Hooks: Enhanced with Python (Black) and Markdown formatting
- PowerShell Commands: Added missing
m1f-init
andm1f-claude
commands to PowerShell scripts - Getting Started Guide: Comprehensive installation and first steps documentation
Changed
- README Overhaul: Complete rewrite with engaging, developer-friendly tone and practical examples
- m1f-claude —setup: Renamed from
--advanced-setup
to simply--setup
- Documentation Structure: Improved organization and navigation
- Project Tagline: Now “Where no AI has coded before™”
- Installation Flow: Simplified to “Get Started in 30 Seconds”
Fixed
- Code Review Example: Replaced incorrect
--since
flag example with proper git diff + xargs approach - Presets: Removed incorrect
preserve_tags
usage withstrip_tags
- Script Robustness: Enhanced error handling and cross-platform compatibility
- Watcher Ignores: Improved ignore patterns for VS Code task integration
Improved
- Developer Experience: Clearer examples, better error messages, and more intuitive workflows
- m1f-claude Integration: Now explicitly documented as “headless Claude controller”
- Real-world Examples: Added Tailwind CSS 4 documentation example showing how to teach AI new tricks
- Use Cases: Highlighted practical applications like universal file normalizer and “poor developer’s Docker”
[3.6.0] - 2025-07-15
Added
- CLAUDE.md Support: Automatic detection and inclusion of project-specific Claude instructions
- Dual Hook System: Improved git hooks for better flexibility
- Enhanced Logging: Better visibility into bundling operations
Changed
- Performance Improvements: Optimized file processing for large repositories
- Configuration Handling: More robust config file parsing and validation
[3.5.0] - 2025-07-12
Added
- Topic-based Bundling: AI-powered analysis for creating topic-specific bundles
- m1f-update Command: Update all bundles with a single command
- m1f-link Command: Link external bundles to your project
Improved
- Bundle Organization: Better default organization strategies
- Error Messages: Clearer, more actionable error messages
[3.4.2] - 2025-07-08
Fixed
- Version Conflict: Resolved version conflict issues
- httpx Compatibility: Downgraded httpx from newer version to 0.27.2 for improved compatibility
- Configuration Consistency: Updated
source_directory
tosource_directories
in configuration for consistency - m1f-claude Subprocess Handling: Improved subprocess handling and timeout behavior for Claude executable detection
Changed
- Dependencies Update: Updated multiple dependencies to newer versions for improved compatibility and performance
- Updated aiofiles to 24.1.0
- Updated application_properties to 0.9.0
- Updated beautifulsoup4 to 4.13.4
- Updated certifi to 2025.6.15
- Updated click to 8.2.1
- Updated markdownify to 1.1.0
- Updated pydantic to 2.11.7
- Updated pymarkdownlnt to 0.9.30
- Updated pytest to 8.4.1
- Updated pytest-asyncio to 1.1.0a1
- Updated rich to 14.0.0
- Updated typing_extensions to 4.14.1
- Updated claude-code-sdk to 0.0.14
- Updated Flask to 3.1.1
- Updated lxml to 6.0.0
- Updated playwright to 1.53.0
- Updated scrapy to 2.13.3
- Updated selectolax to 0.3.31
Removed
- Removed unnecessary documentation files
[3.4.0] - 2025-07-04
Added
-
m1f-init Enhancements: Improved project initialization tool
- Added
--no-symlink
parameter to skip creating symlink to m1f documentation - Added file tracking to show only actually created files in output
- Improved output formatting with “Here is your file:” / “Here are your files:” section
- Added proper spacing and bullet points for created files list
- Now runs
m1f-update
when.m1f.config.yml
already exists instead of creating default bundles
- Added
-
Multiple Source Directories: m1f now supports multiple
-s
source directories- Use
-s dir1 -s dir2
to combine files from multiple directories - All source directories are processed and files are merged into single output
- Useful for documentation bundles that need files from different locations
- Use
-
Include Patterns: Added
--includes
parameter for pattern-based file filtering- Works with gitignore-style patterns (e.g.,
*.py
,src/**
,!test.py
) - When combined with
--include-extensions
, files must match both criteria - Allows precise control over which files to include in bundles
- Works with gitignore-style patterns (e.g.,
Changed
-
m1f-init Git Detection: Improved Git repository detection messages
- Simplified output for parent directory Git repositories (no longer shows paths)
- Only shows messages for current directory Git repos or no Git repo at all
- Better handling of subdirectories within larger Git projects
-
m1f-init Language Detection: Enhanced programming language detection
- Changed “Not detected” to “No programming languages detected” for clarity
- Added file counting for all supported languages (Java, C#, Go, Rust, Ruby)
- Only shows “Programming Languages:” line when languages are actually detected
- Better label clarity with “Programming Languages:” instead of just “Languages:“
Fixed
-
m1f-init .gitignore Handling: Fixed .gitignore usage in subdirectories
- Now only uses .gitignore from current directory, not parent directories
- Prevents errors when running m1f-init in subdirectories without their own .gitignore
- All m1f commands now check for .gitignore existence before using —exclude-paths-file
-
m1f-init Python Project Detection: Fixed language detection prioritization
- Now prioritizes by file count to correctly identify primary language
- Python projects are now properly detected even with mixed language codebases
-
m1f-init Behavior with Existing Config: Fixed to run m1f-update when config exists
- No longer creates default bundles when
.m1f.config.yml
already exists - Automatically runs
m1f-update
to use existing configuration
- No longer creates default bundles when
-
m1f Directory Exclusion Performance: Fixed severe performance issue with directory filtering
- Directory exclusions from .gitignore now properly applied at directory traversal level
- Reduced bundle creation time from 42+ seconds to ~1.2 seconds (35x improvement)
- Fixed tmp/ directory exclusion that was scanning 362,419 unnecessary files
-
m1f Multiple Source Directories: Fixed CLI to support multiple source directories
- Changed from single source to List[Path] throughout codebase
- Now properly processes all specified source directories with
-s dir1 -s dir2
Previous Versions
For the complete changelog including all previous versions, please refer to the GitHub repository.
- Previous
- Version Management
- Next
- Introduction