Files
skill-seekers-reference/FLEXIBLE_ROADMAP.md
yusyus bd2b201aa5 docs: Update all documentation for v2.1.0 release
Updates across all major documentation files to reflect v2.1.0 release
status and recent completions.

Changes:
- CLAUDE.md:
  * Updated version from v2.0.0 to v2.1.0
  * Updated date to November 29, 2025
  * Updated test count from 391 to 427
  * Moved completed PRs (#195, #198) and Issue #203 to "Completed" section
  * Updated "Next Up" priorities

- README.md:
  * Updated version badge from 2.0.0 to 2.1.0
  * Updated test badge from 379 to 427 passing

- CHANGELOG.md:
  * Added Issue #203 (Configurable EXCLUDED_DIRS) to Unreleased section
  * Documented 19 comprehensive tests for exclude_dirs feature
  * Listed both extend and replace modes

- FUTURE_RELEASES.md:
  * Marked v2.1.0 as "Released" (November 29, 2025)
  * Moved "Fix 12 unified tests" to completed
  * Updated release schedule table

- FLEXIBLE_ROADMAP.md:
  * Updated current status from v1.0.0 to v2.1.0
  * Added latest release date
  * Expanded "What Works" section with new features
  * Updated test count to 427

All documentation now accurately reflects:
- v2.1.0 release status 
- 427 tests passing (up from 391)   - Issue #203 completion 
- PR #195 and #198 merged status 

Related: #203
2025-11-30 01:06:21 +03:00

390 lines
14 KiB
Markdown

# Flexible Development Roadmap
**Philosophy:** Small incremental tasks → Pick one → Complete → Move to next
**No big milestones, just continuous progress!**
---
## 🎯 Current Status: v2.1.0 Released ✅
**Latest Release:** v2.1.0 (November 29, 2025)
**What Works:**
- ✅ Documentation scraping (HTML websites)
- ✅ GitHub repository scraping with unlimited local analysis
- ✅ PDF extraction and conversion
- ✅ Unified multi-source scraping (docs + GitHub + PDF)
- ✅ 9 MCP tools fully functional
- ✅ Auto-upload to Claude
- ✅ 24 preset configs (including 5 unified configs)
- ✅ Large docs support (40K+ pages)
- ✅ Configurable directory exclusions
- ✅ 427 tests passing
---
## 📋 Task Categories (Pick Any, Any Order)
### 🌐 **Category A: Community & Sharing**
Small tasks that build community features incrementally
#### A1: Config Sharing (Website Feature)
- [ ] **Task A1.1:** Create simple JSON API endpoint to list configs
- [ ] **Task A1.2:** Add MCP tool `fetch_config` to download from website
- [ ] **Task A1.3:** Create basic config upload form (HTML + backend)
- [ ] **Task A1.4:** Add config rating/voting system
- [ ] **Task A1.5:** Add config search/filter functionality
- [ ] **Task A1.6:** Add user-submitted config review queue
**Start Small:** Pick A1.1 first (simple JSON endpoint)
#### A2: Knowledge Sharing (Website Feature)
- [ ] **Task A2.1:** Design knowledge database schema
- [ ] **Task A2.2:** Create API endpoint to upload knowledge (.zip files)
- [ ] **Task A2.3:** Add MCP tool `fetch_knowledge` to download from site
- [ ] **Task A2.4:** Add knowledge preview/description
- [ ] **Task A2.5:** Add knowledge categorization (by framework/topic)
- [ ] **Task A2.6:** Add knowledge search functionality
**Start Small:** Pick A2.1 first (schema design, no coding)
#### A3: Simple Website Foundation
- [ ] **Task A3.1:** Create single-page static site (GitHub Pages)
- [ ] **Task A3.2:** Add config gallery view (display existing 12 configs)
- [ ] **Task A3.3:** Add "Submit Config" link (opens GitHub issue for now)
- [ ] **Task A3.4:** Add basic stats (total configs, downloads, etc.)
- [ ] **Task A3.5:** Add simple blog using GitHub Issues
- [ ] **Task A3.6:** Add RSS feed for updates
**Start Small:** Pick A3.1 first (single HTML page on GitHub Pages)
---
### 🛠️ **Category B: New Input Formats**
Add support for non-HTML documentation sources
#### B1: PDF Documentation Support
- [ ] **Task B1.1:** Research PDF parsing libraries (PyPDF2, pdfplumber, etc.)
- [ ] **Task B1.2:** Create simple PDF text extractor (proof of concept)
- [ ] **Task B1.3:** Add PDF page detection and chunking
- [ ] **Task B1.4:** Extract code blocks from PDFs (syntax detection)
- [ ] **Task B1.5:** Add PDF image extraction (diagrams, screenshots)
- [ ] **Task B1.6:** Create `pdf_scraper.py` CLI tool
- [ ] **Task B1.7:** Add MCP tool `scrape_pdf`
- [ ] **Task B1.8:** Create PDF config format (similar to web configs)
**Start Small:** Pick B1.1 first (just research, document findings)
#### B2: Microsoft Word (.docx) Support
- [ ] **Task B2.1:** Research .docx parsing (python-docx library)
- [ ] **Task B2.2:** Create simple .docx text extractor
- [ ] **Task B2.3:** Extract headings and create categories
- [ ] **Task B2.4:** Extract code blocks from Word docs
- [ ] **Task B2.5:** Extract tables and convert to markdown
- [ ] **Task B2.6:** Create `docx_scraper.py` CLI tool
- [ ] **Task B2.7:** Add MCP tool `scrape_docx`
**Start Small:** Pick B2.1 first (research only)
#### B3: Excel/Spreadsheet (.xlsx) Support
- [ ] **Task B3.1:** Research Excel parsing (openpyxl, pandas)
- [ ] **Task B3.2:** Create simple sheet → markdown converter
- [ ] **Task B3.3:** Add table detection and formatting
- [ ] **Task B3.4:** Extract API reference from spreadsheets (common pattern)
- [ ] **Task B3.5:** Create `xlsx_scraper.py` CLI tool
- [ ] **Task B3.6:** Add MCP tool `scrape_xlsx`
**Start Small:** Pick B3.1 first (research only)
#### B4: Markdown Files Support
- [ ] **Task B4.1:** Create markdown file crawler (for local docs)
- [ ] **Task B4.2:** Extract front matter (title, category, etc.)
- [ ] **Task B4.3:** Build category tree from folder structure
- [ ] **Task B4.4:** Add link resolution (internal references)
- [ ] **Task B4.5:** Create `markdown_scraper.py` CLI tool
- [ ] **Task B4.6:** Add MCP tool `scrape_markdown_dir`
**Start Small:** Pick B4.1 first (simple file walker)
---
### 💻 **Category C: Codebase Knowledge**
Generate skills from actual code repositories
#### C1: GitHub Repository Scraping
- [ ] **Task C1.1:** Create GitHub API client (fetch repo structure)
- [ ] **Task C1.2:** Extract README.md files
- [ ] **Task C1.3:** Extract code comments and docstrings
- [ ] **Task C1.4:** Detect programming language per file
- [ ] **Task C1.5:** Extract function/class signatures
- [ ] **Task C1.6:** Build usage examples from tests
- [ ] **Task C1.7:** Extract GitHub Issues (open/closed, labels, milestones)
- [ ] **Task C1.8:** Extract CHANGELOG.md and release notes
- [ ] **Task C1.9:** Extract GitHub Releases with version history
- [ ] **Task C1.10:** Create `github_scraper.py` CLI tool
- [ ] **Task C1.11:** Add MCP tool `scrape_github`
- [ ] **Task C1.12:** Add config format for GitHub repos
**Start Small:** Pick C1.1 first (basic GitHub API connection)
#### C2: Local Codebase Scraping
- [ ] **Task C2.1:** Create file tree walker (with .gitignore support)
- [ ] **Task C2.2:** Extract docstrings (Python, JS, etc.)
- [ ] **Task C2.3:** Extract function signatures and types
- [ ] **Task C2.4:** Build API reference from code
- [ ] **Task C2.5:** Extract inline comments as notes
- [ ] **Task C2.6:** Create dependency graph
- [ ] **Task C2.7:** Create `codebase_scraper.py` CLI tool
- [ ] **Task C2.8:** Add MCP tool `scrape_codebase`
**Start Small:** Pick C2.1 first (simple file walker)
#### C3: Code Pattern Recognition
- [ ] **Task C3.1:** Detect common patterns (singleton, factory, etc.)
- [ ] **Task C3.2:** Extract usage examples from test files
- [ ] **Task C3.3:** Build "how to" guides from code
- [ ] **Task C3.4:** Extract configuration patterns
- [ ] **Task C3.5:** Create architectural overview
**Start Small:** Pick C3.1 first (pattern detection research)
---
### 🔌 **Category D: Context7 Integration**
Explore integration with Context7 for enhanced context management
#### D1: Context7 Research & Planning
- [ ] **Task D1.1:** Research Context7 API and capabilities
- [ ] **Task D1.2:** Document potential use cases for Skill Seeker
- [ ] **Task D1.3:** Create integration design proposal
- [ ] **Task D1.4:** Identify which features benefit most
**Start Small:** Pick D1.1 first (pure research, no code)
#### D2: Context7 Basic Integration
- [ ] **Task D2.1:** Create Context7 API client
- [ ] **Task D2.2:** Test basic context storage/retrieval
- [ ] **Task D2.3:** Store scraped documentation in Context7
- [ ] **Task D2.4:** Query Context7 during skill building
- [ ] **Task D2.5:** Add MCP tool `sync_to_context7`
**Start Small:** Pick D2.1 first (basic API connection)
---
### 🚀 **Category E: MCP Enhancements**
Small improvements to existing MCP tools
#### E1: New MCP Tools
- [ ] **Task E1.1:** Add `fetch_config` MCP tool (download from website)
- [ ] **Task E1.2:** Add `fetch_knowledge` MCP tool (download skills)
- [x] **Task E1.3:** Add `scrape_pdf` MCP tool (✅ COMPLETED v1.0.0)
- [ ] **Task E1.4:** Add `scrape_docx` MCP tool
- [ ] **Task E1.5:** Add `scrape_xlsx` MCP tool
- [ ] **Task E1.6:** Add `scrape_github` MCP tool (see C1.11)
- [ ] **Task E1.7:** Add `scrape_codebase` MCP tool (see C2.8)
- [ ] **Task E1.8:** Add `scrape_markdown_dir` MCP tool (see B4.6)
- [ ] **Task E1.9:** Add `sync_to_context7` MCP tool (see D2.5)
**Start Small:** Pick E1.1 first (once A1.2 is done)
#### E2: MCP Quality Improvements
- [ ] **Task E2.1:** Add error handling to all tools
- [ ] **Task E2.2:** Add structured logging
- [ ] **Task E2.3:** Add progress indicators for long operations
- [ ] **Task E2.4:** Add validation for all inputs
- [ ] **Task E2.5:** Add helpful error messages
- [ ] **Task E2.6:** Add retry logic for network failures
**Start Small:** Pick E2.1 first (one tool at a time)
---
### ⚡ **Category F: Performance & Reliability**
Technical improvements to existing features
#### F1: Core Scraper Improvements
- [ ] **Task F1.1:** Add URL normalization (remove query params)
- [ ] **Task F1.2:** Add duplicate page detection
- [ ] **Task F1.3:** Add memory-efficient streaming for large docs
- [ ] **Task F1.4:** Add HTML parser fallback (lxml → html5lib)
- [ ] **Task F1.5:** Add network retry with exponential backoff
- [ ] **Task F1.6:** Fix package path output bug
**Start Small:** Pick F1.1 first (URL normalization only)
#### F2: Incremental Updates
- [ ] **Task F2.1:** Track page modification times (Last-Modified header)
- [ ] **Task F2.2:** Store page checksums/hashes
- [ ] **Task F2.3:** Compare on re-run, skip unchanged pages
- [ ] **Task F2.4:** Update only changed content
- [ ] **Task F2.5:** Preserve local annotations/edits
**Start Small:** Pick F2.1 first (just tracking, no logic)
---
### 🎨 **Category G: Tools & Utilities**
Small standalone tools that add value
#### G1: Config Tools
- [ ] **Task G1.1:** Create `validate_config.py` (enhanced validation)
- [ ] **Task G1.2:** Create `test_selectors.py` (interactive selector tester)
- [ ] **Task G1.3:** Create `auto_detect_selectors.py` (AI-powered)
- [ ] **Task G1.4:** Create `compare_configs.py` (diff two configs)
- [ ] **Task G1.5:** Create `optimize_config.py` (suggest improvements)
**Start Small:** Pick G1.1 first (simple validation script)
#### G2: Skill Quality Tools
- [ ] **Task G2.1:** Create `analyze_skill.py` (quality metrics)
- [ ] **Task G2.2:** Add code example counter
- [ ] **Task G2.3:** Add readability scoring
- [ ] **Task G2.4:** Add completeness checker
- [ ] **Task G2.5:** Create quality report generator
**Start Small:** Pick G2.1 first (basic metrics)
---
### 📚 **Category H: Community Response**
Respond to existing GitHub issues
#### H1: Address Open Issues
- [ ] **Task H1.1:** Respond to Issue #8: Prereqs to Getting Started
- [ ] **Task H1.2:** Investigate Issue #7: Laravel scraping issue
- [ ] **Task H1.3:** Create example project (Issue #4)
- [ ] **Task H1.4:** Answer Issue #3: Pro plan compatibility
- [ ] **Task H1.5:** Create self-documenting skill (Issue #1)
**Start Small:** Pick H1.1 first (just respond, don't solve)
---
### 🎓 **Category I: Content & Documentation**
Educational content and guides
#### I1: Video Tutorials
- [ ] **Task I1.1:** Write script for "Quick Start" video
- [ ] **Task I1.2:** Record "Quick Start" (5 min)
- [ ] **Task I1.3:** Write script for "MCP Setup" video
- [ ] **Task I1.4:** Record "MCP Setup" (8 min)
- [ ] **Task I1.5:** Write script for "Custom Config" video
- [ ] **Task I1.6:** Record "Custom Config" (10 min)
**Start Small:** Pick I1.1 first (just write script, no recording)
#### I2: Written Guides
- [ ] **Task I2.1:** Write troubleshooting guide
- [ ] **Task I2.2:** Write best practices guide
- [ ] **Task I2.3:** Write performance optimization guide
- [ ] **Task I2.4:** Write community config contribution guide
- [ ] **Task I2.5:** Write codebase scraping guide
**Start Small:** Pick I2.1 first (common issues + solutions)
---
### 🧪 **Category J: Testing & Quality**
Improve test coverage and quality
#### J1: Test Expansion
- [ ] **Task J1.1:** Install MCP package: `pip install mcp`
- [ ] **Task J1.2:** Verify all 14 tests pass
- [ ] **Task J1.3:** Add tests for new MCP tools (as they're created)
- [ ] **Task J1.4:** Add integration tests for PDF scraper
- [ ] **Task J1.5:** Add integration tests for GitHub scraper
- [ ] **Task J1.6:** Add end-to-end workflow tests
**Start Small:** Pick J1.1 first (just install package)
---
## 🎯 Recommended Starting Tasks (Pick 3-5)
### Quick Wins (1-2 hours each):
1. **H1.1** - Respond to Issue #8 (community engagement)
2. **J1.1** - Install MCP package (fix tests)
3. **A3.1** - Create simple GitHub Pages site (single HTML)
4. **B1.1** - Research PDF parsing (no coding, just notes)
5. **F1.1** - Add URL normalization (small code fix)
### Medium Tasks (3-5 hours each):
6. **A1.1** - Create JSON API for configs (simple endpoint)
7. **G1.1** - Create config validator script
8. **C1.1** - GitHub API client (basic connection)
9. **I1.1** - Write Quick Start video script
10. **E2.1** - Add error handling to one MCP tool
### Bigger Tasks (5-10 hours each):
11. **B1.2-B1.6** - Complete PDF scraper
12. **C1.7-C1.9** - Complete GitHub scraper
13. **A2.1-A2.3** - Knowledge sharing foundation
14. **I1.2** - Record and publish Quick Start video
---
## 📊 Progress Tracking
**Completed Tasks:** 0
**In Progress:** 0
**Total Available Tasks:** 100+
### Current Sprint: Choose Your Own Adventure!
**Pick 1-3 tasks** from any category that interest you most.
**No pressure, no deadlines, just progress!**
---
## 🎨 Flexibility Rules
1. **Pick any task, any order** - No dependencies (mostly)
2. **Start small** - Research tasks before implementation
3. **One task at a time** - Focus, complete, move on
4. **Switch anytime** - Not enjoying it? Pick another!
5. **Document as you go** - Each task should update docs
6. **Test incrementally** - Each task should have a quick test
7. **Ship early** - Don't wait for "complete" features
---
## 🚀 How to Use This Roadmap
### Step 1: Pick a Task
- Read through categories
- Pick something that sounds interesting
- Check estimated time
- Choose 1-3 tasks for this week
### Step 2: Create Issue (Optional)
- Create GitHub issue for tracking
- Add labels (category, priority)
- Add to project board
### Step 3: Work on It
- Complete the task
- Test it
- Document it
- Mark as done ✅
### Step 4: Ship It
- Commit changes
- Update changelog
- Tag version (if significant)
- Announce on GitHub
### Step 5: Repeat
- Pick next task
- Keep moving forward!
---
**Philosophy:**
**Small steps → Consistent progress → Compound results**
**No rigid milestones. No big releases. Just continuous improvement!** 🎯
---
**Last Updated:** October 20, 2025