yusyus
58ec69eb52
feat: Add unlimited local repository analysis with bug fixes (PR #195 )
...
Merges PR #195 by @jimmy058910 with conflict resolution.
**New Features:**
- Local repository analysis via `local_repo_path` configuration
- Bypass GitHub API rate limits (50 → unlimited files)
- Auto-exclusion of virtual environments and build artifacts
- Support for analyzing large codebases (323 files vs 50 before)
**Improvements:**
- Code analysis coverage: 14% → 93.6% (+79.6pp)
- Files analyzed: 50 → 323 (+546%)
- Classes extracted: 55 → 585 (+964%)
- Functions extracted: 512 → 2,784 (+444%)
- AST parsing errors: 95 → 0 (-100%)
**Conflict Resolution:**
- Preserved logger initialization fix from development (Issue #190 )
- Kept relative imports from development (Task 1.2 fix)
- Integrated EXCLUDED_DIRS and local repo features from PR
- Combined best of both implementations
**Testing:**
- ✅ All 22 GitHub scraper tests passing
- ✅ Syntax validation passed
- ✅ Local repo analysis feature intact
- ✅ Bug fixes from development preserved
Original implementation by @jimmy058910 in PR #195 .
Conflict resolution preserves all bug fixes while adding local repo feature.
Co-authored-by: jimmy058910 <jimmy058910@users.noreply.github.com >
2025-11-29 22:46:31 +03:00
yusyus
414519b3c7
fix: Initialize logger before use in github_scraper.py
...
Fixes Issue #190 - "name 'logger' is not defined" error
**Problem:**
- Logger was used at line 40 (in code_analyzer import exception)
- Logger was defined at line 47
- Caused runtime error when code_analyzer import failed
**Solution:**
- Moved logging.basicConfig() and logger initialization to lines 34-39
- Now logger is defined BEFORE the code_analyzer import block
- Warning message now works correctly when code_analyzer is missing
**Testing:**
- ✅ All 22 GitHub scraper tests pass
- ✅ Logger warning appears correctly when code_analyzer missing
- ✅ No similar issues found in other CLI files
Closes #190
2025-11-29 22:01:38 +03:00
yusyus
d7a4c51427
fix: Convert absolute imports to relative imports in cli modules
...
Fixes #193 - PDF scraping broken for PyPI users
Changed 3 files from absolute to relative imports to fix
ModuleNotFoundError when package is installed via pip:
1. pdf_scraper.py:22
- from pdf_extractor_poc import → from .pdf_extractor_poc import
- Fixes: skill-seekers pdf command failed with import error
2. github_scraper.py:36
- from code_analyzer import → from .code_analyzer import
- Proactive fix: prevents future import errors
3. test_unified_simple.py:17
- from config_validator import → from .config_validator import
- Proactive fix: test helper file
These absolute imports worked locally due to sys.path differences
but failed when installed via PyPI (pip install skill-seekers).
Tested with:
- skill-seekers pdf command now works ✅
- Extracted 32-page Godot Farming PDF successfully
All CLI commands should now work correctly when installed from PyPI.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-29 21:47:18 +03:00
Jimmy Moceri
0b2a0d121e
feat: Add unlimited local repository analysis and fix 10 critical bugs
...
Features:
- Add local_repo_path config parameter for unlimited file analysis
- Auto-exclude virtual environments and build artifacts (95% noise reduction)
- Enable comprehensive codebase analysis (50 → 323 files, 546% increase)
Bug Fixes:
- Fix logger initialization error (Issue #190 )
- Fix NoneType subscriptable errors in release tag parsing (3 instances)
- Fix relative import paths causing ModuleNotFoundError
- Fix hardcoded 50-file analysis limit
- Fix GitHub API file tree limitation (140 → 345 files discovered)
- Fix AST parser 'not iterable' errors (95 → 0 parsing failures)
- Fix virtual environment file pollution (23,341 → 1,109 file tree items)
- Fix force_rescrape flag not checked before interactive prompt
Impact:
- Code coverage: 14% → 93.6% (+79.6pp)
- Files analyzed: 50 → 323 (+546%)
- Classes extracted: 55 → 585 (+964%)
- Functions extracted: 512 → 2,784 (+444%)
- AST errors: 95 → 0 (-100%)
Tested on JMo Security repository with 345 Python files.
2025-11-16 22:35:23 -05:00
yusyus
13ca374295
refactor: Update CLI commands to use new unified entry points
...
Updated all command examples in CLI scripts from old pattern:
python3 cli/<script>.py → skill-seekers <command>
Changes:
- doc_scraper.py → skill-seekers scrape
- github_scraper.py → skill-seekers github
- pdf_scraper.py → skill-seekers pdf
- unified_scraper.py → skill-seekers unified
- enhance_skill.py → skill-seekers enhance
- enhance_skill_local.py → skill-seekers enhance
- package_skill.py → skill-seekers package
- estimate_pages.py → skill-seekers estimate
This reflects the new modern Python packaging with proper entry
points. Users can now use clean commands instead of file paths.
Files updated: 10 CLI scripts
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-07 01:23:17 +03:00
yusyus
ce1c07b437
feat: Add modern Python packaging - Phase 1 (Foundation)
...
Implements issue #168 - Modern Python packaging with uv support
This is Phase 1 of the modernization effort, establishing the core
package structure and build system.
## Major Changes
### 1. Migrated to src/ Layout
- Moved cli/ → src/skill_seekers/cli/
- Moved skill_seeker_mcp/ → src/skill_seekers/mcp/
- Created root package: src/skill_seekers/__init__.py
- Updated all imports: cli. → skill_seekers.cli.
- Updated all imports: skill_seeker_mcp. → skill_seekers.mcp.
### 2. Created pyproject.toml
- Modern Python packaging configuration
- All dependencies properly declared
- 8 CLI entry points configured:
* skill-seekers (unified CLI)
* skill-seekers-scrape
* skill-seekers-github
* skill-seekers-pdf
* skill-seekers-unified
* skill-seekers-enhance
* skill-seekers-package
* skill-seekers-upload
* skill-seekers-estimate
- uv tool support enabled
- Build system: setuptools with wheel
### 3. Created Unified CLI (main.py)
- Git-style subcommands (skill-seekers scrape, etc.)
- Delegates to existing tool main() functions
- Full help system at top-level and subcommand level
- Backwards compatible with individual commands
### 4. Updated Package Versions
- cli/__init__.py: 1.3.0 → 2.0.0
- mcp/__init__.py: 1.2.0 → 2.0.0
- Root package: 2.0.0
### 5. Updated Test Suite
- Fixed test_package_structure.py for new layout
- All 28 package structure tests passing
- Updated all test imports for new structure
## Installation Methods (Working)
```bash
# Development install
pip install -e .
# Run unified CLI
skill-seekers --version # → 2.0.0
skill-seekers --help
# Run individual tools
skill-seekers-scrape --help
skill-seekers-github --help
```
## Test Results
- Package structure tests: 28/28 passing ✅
- Package installs successfully ✅
- All entry points working ✅
## Still TODO (Phase 2)
- [ ] Run full test suite (299 tests)
- [ ] Update documentation (README, CLAUDE.md, etc.)
- [ ] Test with uv tool run/install
- [ ] Build and publish to PyPI
- [ ] Create PR and merge
## Breaking Changes
None - fully backwards compatible. Old import paths still work.
## Migration for Users
No action needed. Package works with both pip and uv.
Closes #168 (when complete)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-07 01:14:24 +03:00