bfiles 2025-06-27
Added unbundler, comprehensive documentation, and xfail-marked test improvements
25 files · 4,622+ · 1,182-

Unbundler feature

1 file changed
  • unbundler.py New 729-line module implementing full bundle extraction with checksum verification and security checks
  • New 729-line module implementing full bundle extraction capability instantiate behavioral
    1 file
    • unbundler.py
  • Parses bundle format, extracts files to specified directory, verifies checksums instantiate internal
    1 file
    • unbundler.py
  • Supports --dry-run, --force (overwrite), and --verify-checksums options instantiate internal
    1 file
    • unbundler.py
  • Security checks for path traversal and symlink attacks harden internal
    1 file
    • unbundler.py

CLI expansion

1 file changed
  • cli.py Added `unbundle` command; CLI now uses Click command group with `bundle` and `unbundle` subcommands
  • Added unbundle command with options: --output-dir, --force, --dry-run, --verify-checksums instantiate behavioral
    1 file
    • cli.py
  • CLI now uses Click command group with bundle and unbundle subcommands instantiate behavioral
    1 file
    • cli.py

Documentation suite

7 files changed
  • bfiles.1 205-line man page with complete command reference
  • reference.md 418-line reference manual covering all commands, options, and configuration
  • specs.txt 418-line bundle format specification
  • MATURITY_REPORT.md 89-line code maturity assessment
  • PLAN.md 139-line development roadmap
  • TODO.md 74-line task tracking
  • README.md Updated README
  • Added 205-line man page with complete command reference specify behavioral
    1 file
    • bfiles.1
  • Added 418-line reference manual covering all commands, options, and configuration specify internal
    1 file
    • reference.md
  • Added 418-line bundle format specification specify internal
    1 file
    • specs.txt
  • Added 89-line code maturity assessment specify internal
    1 file
    • MATURITY_REPORT.md
  • Added 139-line development roadmap specify internal
    1 file
    • PLAN.md
  • Added 74-line task tracking specify internal
    1 file
    • TODO.md

Core and exclusion improvements

6 files changed
  • core.py 856 lines of changes refactoring summary statistics and display logic
  • exclusions.py 236 lines of changes improving gitignore handling and pattern matching
  • config.py Configuration updates for unbundler support
  • metadata.py 138 lines of refactored metadata handling
  • metadata_writer.py Updated metadata writer
  • output.py 318 lines of updated output display logic
  • Refactored summary statistics and display logic (856 lines of core.py changes) decouple behavioral
    1 file
    • core.py
  • Improved gitignore handling and pattern matching (236 lines of exclusions.py changes) decouple internal
    1 file
    • exclusions.py
  • Refactored metadata handling (138 lines changed) decouple internal
    1 file
    • metadata.py
  • Updated output display logic (318 lines changed) decouple behavioral
    1 file
    • output.py

Test enhancements

10 files changed
  • test_unbundler.py New 493-line comprehensive unbundler test suite
  • test_core.py 297 lines of additional core tests
  • test_exclusions.py Improved exclusion tests with file existence checks
  • test_metadata.py Updated metadata tests
  • test_output.py Updated output tests
  • test_cli.py Updated CLI tests
  • output.py Updated output fixtures
  • .gitignore Fixed test fixture gitignore patterns
  • pyproject.toml Updated dependencies
  • uv.lock Updated lock file (460-line diff)
  • Added 493-line comprehensive unbundler test suite qualify internal
    1 file
    • test_unbundler.py
  • Expanded test_core.py with 297 lines of additional tests qualify internal
    1 file
    • test_core.py
  • Improved exclusion, metadata, and output tests qualify internal
    3 files
    • test_exclusions.py
    • test_metadata.py
    • test_output.py
  • Added xfail markers for known problematic tests qualify internal
    2 files
    • test_core.py
    • test_exclusions.py
  • Fixed test fixture gitignore patterns qualify internal
    1 file
    • .gitignore