yusyus
ae96526d4b
feat(C2.7): Add standalone codebase-scraper CLI tool
- Created src/skill_seekers/cli/codebase_scraper.py (450 lines)
- Standalone tool for analyzing local codebases without GitHub API
- Full .gitignore support using pathspec library
Features:
- Directory tree walking with .gitignore respect
- Multi-language code analysis (Python, JavaScript, TypeScript, C++)
- Language filtering (--languages Python,JavaScript)
- File pattern matching (--file-patterns "*.py,src/**/*.js")
- API reference generation (--build-api-reference)
- Comment extraction (enabled by default)
- Configurable analysis depth (surface/deep/full)
- Smart directory exclusion (node_modules, venv, .git, etc.)
CLI Usage:
skill-seekers-codebase --directory /path/to/repo --output output/codebase/
skill-seekers-codebase --directory . --depth deep --build-api-reference
skill-seekers-codebase --directory . --languages Python,JavaScript
Output:
- code_analysis.json - Complete analysis results
- api_reference/*.md - Generated API documentation (optional)
Tests:
- Created tests/test_codebase_scraper.py with 15 tests
- All tests passing ✅
- Test coverage: Language detection (5 tests), directory exclusion (4 tests),
directory walking (4 tests), .gitignore loading (2 tests)
Dependencies Added:
- pathspec>=0.12.1 - For .gitignore parsing
Entry Point:
- Added skill-seekers-codebase to pyproject.toml
Related Issues:
- Closes #69 (C2.7 Create codebase_scraper.py CLI tool)
- Part of C2 Local Codebase Scraping roadmap (TIER 3)
Files Modified:
- src/skill_seekers/cli/codebase_scraper.py (CREATE - 450 lines)
- tests/test_codebase_scraper.py (CREATE - 160 lines)
- pyproject.toml (+2 lines - pathspec dependency + entry point)
2026-01-01 23:10:55 +03:00
..
2025-10-29 23:19:32 +03:00
2025-12-28 22:29:44 +03:00
2025-10-19 02:08:58 +03:00
2025-11-29 22:13:13 +03:00
2025-10-19 17:01:37 +03:00
2026-01-01 23:00:36 +03:00
2025-11-07 01:21:29 +03:00
2025-12-30 23:27:18 +03:00
2026-01-01 23:02:34 +03:00
2026-01-01 23:10:55 +03:00
2025-11-20 13:55:46 -08:00
2025-11-29 22:13:13 +03:00
2025-11-10 21:35:44 +03:00
2025-11-30 00:13:49 +03:00
2025-12-21 19:28:22 +03:00
2025-12-21 19:45:06 +03:00
2026-01-01 20:57:03 +03:00
2026-01-01 21:15:09 +03:00
2025-12-28 21:35:21 +03:00
2025-12-26 00:45:48 +03:00
2025-12-26 00:45:48 +03:00
2025-11-07 01:14:24 +03:00
2026-01-01 21:18:24 +03:00
2025-12-21 22:53:05 +03:00
2025-11-29 22:13:13 +03:00
2025-11-07 01:14:24 +03:00
2025-11-07 01:14:24 +03:00
2025-12-26 00:45:48 +03:00
2025-12-21 19:45:06 +03:00
2025-12-26 00:45:48 +03:00
2025-11-29 21:34:51 +03:00
2026-01-01 18:57:21 +03:00
2025-11-07 01:21:29 +03:00
2025-10-23 21:43:05 +03:00
2025-12-21 22:53:05 +03:00
2025-11-29 21:55:46 +03:00
2025-10-26 13:05:39 +03:00
2026-01-01 19:54:48 +03:00
2025-11-07 01:14:24 +03:00
2025-12-26 00:45:48 +03:00
2025-12-26 00:45:48 +03:00
2025-11-29 22:56:37 +03:00
2025-12-28 18:06:50 +03:00
2025-12-21 19:28:22 +03:00
2026-01-01 19:25:53 +03:00
2025-11-29 21:34:51 +03:00
2025-11-11 22:26:52 +03:00
2025-11-07 01:21:29 +03:00
2025-11-10 21:35:44 +03:00
2025-12-21 22:57:27 +03:00