yusyus
596b219599
fix: Resolve remaining 188 linting errors (249 total fixed)
...
Second batch of comprehensive linting fixes:
Unused Arguments/Variables (136 errors):
- ARG002/ARG001 (91 errors): Prefixed unused method/function arguments with '_'
- Interface methods in adaptors (base.py, gemini.py, markdown.py)
- AST analyzer methods maintaining signatures (code_analyzer.py)
- Test fixtures and hooks (conftest.py)
- Added noqa: ARG001/ARG002 for pytest hooks requiring exact names
- F841 (45 errors): Prefixed unused local variables with '_'
- Tuple unpacking where some values aren't needed
- Variables assigned but not referenced
Loop & Boolean Quality (28 errors):
- B007 (18 errors): Prefixed unused loop control variables with '_'
- enumerate() loops where index not used
- for-in loops where loop variable not referenced
- E712 (10 errors): Simplified boolean comparisons
- Changed '== True' to direct boolean check
- Changed '== False' to 'not' expression
- Improved test readability
Code Quality (24 errors):
- SIM201 (4 errors): Already fixed in previous commit
- SIM118 (2 errors): Already fixed in previous commit
- E741 (4 errors): Already fixed in previous commit
- Config manager loop variable fix (1 error)
All Tests Passing:
- test_scraper_features.py: 42 passed
- test_integration.py: 51 passed
- test_architecture_scenarios.py: 11 passed
- test_real_world_fastmcp.py: 19 passed, 1 skipped
Note: Some SIM errors (nested if, multiple with) remain unfixed as they
would require non-trivial refactoring. Focus was on functional correctness.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-17 23:02:11 +03:00
yusyus
f5d4a22573
test: Add comprehensive test coverage for exclude_dirs feature
...
Adds 7 additional test cases for Issue #203 configurable EXCLUDED_DIRS:
Test Coverage Additions:
- Local repository integration (2 tests)
* exclude_dirs with local_repo_path
* Replace mode with local_repo_path
- Logging verification (3 tests)
* INFO level for extend mode
* WARNING level for replace mode
* No logging for default mode
- Type handling (2 tests)
* Tuple support for exclude_dirs
* Set support for exclude_dirs_additional
Total Test Coverage:
- 19 tests for exclude_dirs feature (all passing)
- 427 total tests passing (up from 420)
- 54% code coverage for github_scraper.py
All tests pass with no failures. 32 skipped tests are expected:
- 3 macOS-specific tests (platform limitation)
- 29 MCP tests (pass individually, skip in full suite due to pytest quirk)
Closes #203
2025-11-30 00:13:49 +03:00
yusyus
ea289cebe1
feat: Make EXCLUDED_DIRS configurable for local repository analysis
...
Closes #203
Adds configuration options to customize directory exclusions during local
repository analysis, while maintaining backward compatibility with smart
defaults.
**New Config Options:**
1. `exclude_dirs_additional` - Extend defaults (most common)
- Adds custom directories to default exclusions
- Example: ["proprietary", "legacy", "third_party"]
- Total exclusions = defaults + additional
2. `exclude_dirs` - Replace defaults (advanced users)
- Completely overrides default exclusions
- Example: ["node_modules", ".git", "custom_vendor"]
- Gives full control over exclusions
**Implementation:**
- Modified GitHubScraper.__init__() to parse exclude_dirs config
- Changed should_exclude_dir() to use instance variable instead of global
- Added logging for custom exclusions (INFO for extend, WARNING for replace)
- Maintains backward compatibility (no config = use defaults)
**Testing:**
- Added 12 comprehensive tests in test_excluded_dirs_config.py
- 3 tests for defaults (backward compatibility)
- 3 tests for extend mode
- 3 tests for replace mode
- 1 test for precedence
- 2 tests for edge cases
- All 12 new tests passing ✅
- All 22 existing github_scraper tests passing ✅
**Documentation:**
- Updated CLAUDE.md config parameters section
- Added detailed "Configurable Directory Exclusions" feature section
- Included examples for both modes
- Listed common use cases (monorepos, enterprise, legacy codebases)
**Use Cases:**
- Monorepos with custom directory structures
- Enterprise projects with non-standard naming conventions
- Including unusual directories for analysis
- Minimal exclusions for small/simple projects
**Backward Compatibility:**
✅ Fully backward compatible - existing configs work unchanged
✅ Smart defaults maintained when no config provided
✅ All existing tests pass
Co-authored-by: jimmy058910 <jimmy058910@users.noreply.github.com >
2025-11-29 23:53:27 +03:00