Skip to content

rc/v1.2.0 - #1

Merged
law4percent merged 3 commits into
mainfrom
rc/v1.2.0
Jul 2, 2026
Merged

law4percent merged 3 commits into
mainfrom
rc/v1.2.0

Conversation

@law4percent

@law4percent law4percent commented Jul 2, 2026 •

Copy link
Copy Markdown
Owner

Added

  • --version flag — tree2guide --version now prints the version instead
    of crashing with a missing-argument error
  • AI tooling notable flags — detects .claude/, .cursor/, .windsurf/,
    .roo/, .specify/, .roomodes, .maestro/, .githooks/ in addition
    to the previously-existing CLAUDE.md, AGENTS.md, .cursorrules
  • Generic PHP MVC structure stack signal — Controller/, Model/,
    View/ are recognized as a weak, generic MVC-framework signal without
    being misattributed to CakePHP specifically, since these directory names
    are shared by CodeIgniter, Yii, and other PHP MVC frameworks
  • Scan progress and completion telemetry for large directories — periodic
    Scanning... N files, N dirs and a final Scan complete. summary,
    printed to stderr only (never stdout, so --stdout piping is
    unaffected). Gated on elapsed wall-clock time, not entry count, so fast
    scans of small projects print nothing extra. --no-progress suppresses
    this entirely. build_node_tree() gained an optional on_progress
    callback parameter (None by default, zero effect on existing callers)
  • Number formatting — file and directory counts in --llm output now use
    comma separators for readability on large projects (227886 → 227,886)

Fixed

  • _STACK_SIGNALS patterns containing a path separator (e.g. bin/cake,
    config/app.php, bootstrap/app.php, bin/console, config/routes.rb,
    src/main/java, and 9 others) could never match anything, because stack
    detection only ever compared against bare file/directory names, never
    relative paths. These are now matched against each entry's actual
    relative path, restoring the CakePHP, Laravel, Symfony, Ruby on Rails,
    Java/Kotlin, and Flutter signals that depend on them — several of which
    are the highest-confidence (weight 5) signal for their framework
  • cli.py used str | None / list[str] | None type-hint syntax without
    from __future__ import annotations, which would raise TypeError on
    Python 3.9 the moment the module was imported. No test previously
    imported tree2guide.cli, so this went undetected by CI despite the 3.9
    job reporting green; new CLI tests now cover this module directly
  • Scan progress counts (added in this release) included symlinks, while
    the final completion summary and --llm's SIZE section both excluded
    them — the same long-standing convention used since v1.0.0. On a
    project with many symlinks (e.g. Python venvs, node_modules/.bin),
    the live progress numbers could run noticeably ahead of the final
    count. Progress now excludes symlinks, matching every other counting
    function in the codebase

@law4percent law4percent self-assigned this Jul 2, 2026
@law4percent law4percent added the enhancement New feature or request label Jul 2, 2026
- Fix progress symlink counting
- Add regression test
- Update changelog
- Update release documentation
@law4percent
law4percent merged commit 38cfa19 into main Jul 2, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant