test(config): add extend-exclude integration tests and docs - #133
Merged
Conversation
…modes Verify that extend-exclude patterns (merged into config.exclude by load_config) work correctly in DIFF, ALL, and STAGED discovery modes. Includes component-level and path-level fnmatch pattern tests.
Add extend-exclude to top-level options table, add usage section with example, and update the Complete Example tab with extend-exclude.
…de test Add assert "lib.py" not in names for consistency with ALL mode tests.
Drop misleading "defaults preserved" from table description. Add sentence explaining behavior when both exclude and extend-exclude are configured. Fix annotation #3 wording.
There was a problem hiding this comment.
Pull request overview
This PR adds integration tests and documentation for the extend-exclude configuration feature that was implemented in PR #131. The feature allows users to add exclude patterns on top of defaults without replacing them, following conventions from tools like ruff and black.
Changes:
- Added 8 integration tests covering
extend-excludebehavior across DIFF, ALL, and STAGED discovery modes - Added documentation for
extend-excludein the configuration reference, including usage examples and the Complete Example - Updated story status and implementation artifact documentation
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
tests/integration/test_discovery.py |
Added 8 integration tests verifying extend-exclude patterns work correctly in all discovery modes (DIFF, ALL, STAGED) and with both component-level and path-level fnmatch patterns |
docs/site/configuration.md |
Added extend-exclude to options table, added usage section with example, updated Complete Example with extend-exclude and re-numbered annotations |
_bmad-output/implementation-artifacts/sprint-status.yaml |
Updated story 16-2 status from backlog to review |
_bmad-output/implementation-artifacts/16-2-integration-verification-and-documentation.md |
Added complete story documentation including ACs, test mapping, dev notes, and quality gate results |
Alberto-Codes
deleted the
feat/config-16-2-extend-exclude-integration
branch
February 25, 2026 19:34
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Story 16.1 added the
extend-excludeconfig key with merge logic inload_config(). This PR verifies that merged patterns work correctly across all discovery modes and documents the feature in the configuration reference.*.generated) and path-level (vendor/legacy/*.py) fnmatch testsextend-excludeto config reference table, usage section, and Complete ExampleTest:
uv run pytest tests/integration/test_discovery.py -vCloses #18
docs(config): add extend-exclude to configuration reference
PR Review
Checklist
uv run pytest)uv run ruff check .)uv run ty check)!in title andBREAKING CHANGE:in bodyReview Focus
DocvetConfigdirectly with pre-merged exclude lists (simulatingload_config()output) — this is by design, config merge is tested in unit tests from story 16.1extend-excludesection and Complete Example annotations read clearlyRelated