CLI & Config

Changelog

All notable changes to the m1f project documented here

changelog releases version-history

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 and m1f-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 with strip_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 to source_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
  • 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
  • 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

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
  • 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.