Skip to content

feat: .gitignore and .qualignore support for file discovery#3

Merged
akesling merged 1 commit intomainfrom
akesling/term
Mar 13, 2026
Merged

feat: .gitignore and .qualignore support for file discovery#3
akesling merged 1 commit intomainfrom
akesling/term

Conversation

@akesling
Copy link
Copy Markdown
Contributor

@akesling akesling commented Mar 13, 2026

Summary

  • Replace manual walk_dir with the ignore crate's WalkBuilder, respecting .gitignore (including parent dirs, global config, and git/info/exclude) and a new .qualignore file (gitignore-compatible syntax)
  • Add --no-ignore flag to all discovery commands (score, show, check, ls, compact, praise/blame) to bypass ignore rules
  • Document the feature in SPEC.md §10 (three new subsections: Ignore Rules, --no-ignore, Hidden Directories), README.md Core Concepts, and AGENTS.md ("Keeping Things in Sync" section)
  • Fix discover() API signature in SPEC.md §7 to match the actual (root, respect_ignore) signature
  • Remove parents(false) so .gitignore files in ancestor directories are respected (correct monorepo behavior)

Test plan

  • cargo test --all-features — all 145 tests pass
  • cargo clippy — clean
  • cargo run -- score — no site/ or examples/ leakage
  • Manual: create a .qualignore with a pattern and verify excluded .qual files are skipped
  • Manual: verify --no-ignore overrides .qualignore and .gitignore

Replace the manual walk_dir with the `ignore` crate's WalkBuilder,
which respects .gitignore (including parent dirs, global, and
git/info/exclude), .qualignore (custom, gitignore-compatible syntax),
and adds --no-ignore to bypass all filtering. Document the feature
in SPEC.md §10, README.md, and AGENTS.md.
@github-actions
Copy link
Copy Markdown

🔍 Preview deployed: https://47f03cdf.qualifier-dev.pages.dev

@akesling akesling merged commit 350a972 into main Mar 13, 2026
2 checks passed
@akesling akesling deleted the akesling/term branch March 13, 2026 14:00
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