Skip to content

feat(list): recursive walks to root + add cwd field - #8

Merged
mateodelnorte merged 2 commits into
mainfrom
feat/project-list-root-walk
Feb 21, 2026
Merged

mateodelnorte merged 2 commits into
mainfrom
feat/project-list-root-walk

Conversation

@mateodelnorte

Copy link
Copy Markdown
Contributor

Summary

Test plan

  • cargo test -p meta_project_cli — 14/14 passing (3 new)
  • cargo test --workspace — 652 tests, 0 failures
  • bats tests/project_list.bats — 16/16 passing (2 new integration tests)

🤖 Generated with Claude Code

When --recursive is used, handle_project_list now finds the nearest
meta config, then walks up to the root ancestor via find_root_meta_dir
before recursing down. Also adds a `cwd` field to ProjectListOutput
JSON so consumers know the caller's absolute working directory.

Implements [[tasks/meta-65]]

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Feb 21, 2026 •

Copy link
Copy Markdown

Warning

Rate limit exceeded

@mateodelnorte has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 0 minutes and 26 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/project-list-root-walk

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps

greptile-apps Bot commented Feb 21, 2026

Copy link
Copy Markdown

Greptile Summary

This PR enhances the project list command with recursive root-finding behavior and adds caller context tracking.

Key Changes:

  • When --recursive is used, the command now walks up to the root ancestor meta-repo using config::find_root_meta_dir before recursing down, ensuring a complete view of the entire repository tree regardless of where the command is executed
  • Adds cwd field to ProjectListOutput JSON structure to capture the absolute working directory of the caller
  • Non-recursive behavior remains unchanged, continuing to operate from the current directory
  • Comprehensive test coverage added (3 new unit tests)

Testing:

  • All 14 tests passing in meta_project_cli
  • 652 workspace tests passing
  • 16 BATS integration tests passing (2 new)

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • The implementation is well-designed with clear separation between recursive and non-recursive behavior, comprehensive test coverage (14/14 passing unit tests, 652 workspace tests passing), and the changes are additive without modifying existing behavior. The PR depends on config::find_root_meta_dir from feat(config): add find_root_meta_dir() for ancestor discovery meta_core#5, which according to the PR description is already available.
  • No files require special attention

Important Files Changed

Filename Overview
src/lib.rs Added recursive root-finding logic and cwd field to JSON output with comprehensive test coverage

Last reviewed commit: a37b377

@mateodelnorte
mateodelnorte merged commit 31f857d into main Feb 21, 2026
8 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant