Files
markitect-main/NEXT.md
tegwick 8ecbf87a8b docs: Update NEXT.md with session startup priorities
Add immediate action plan for current session:
- Fix TDD environment configuration (gitea_url issue)
- Start CLI implementation with Issue #5
- Clear priorities for CLI Entry Point development

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 22:44:05 +02:00

158 lines
7.1 KiB
Markdown

# MarkiTect Development Roadmap - Post Gap Analysis
**Critical Discovery**: The project has a solid library foundation but **NO CLI interface** despite comprehensive manpage documentation.
## 🚨 **URGENT: CLI Implementation Priority**
### Gap Analysis Summary
-**Strong Foundation**: Core library with database, AST caching, front matter parsing (32/32 tests passing)
-**Critical Gap**: Zero CLI implementation despite detailed manpage (markitect.1) documenting full interface
-**Missing USP Delivery**: Cannot demonstrate core value propositions without user-facing interface
### Strategic Pivot Required
**Previous focus**: Continue with Issues #2-4 (database expansion)
**New priority**: Implement CLI interface to deliver documented vision
## 🎯 **Immediate Action Plan: CLI Foundation**
### Session Startup Actions (THIS SESSION)
**PRIORITY 1: Fix TDD Environment**
1. Set up `.env.tddai` configuration file or environment variables
2. Resolve `gitea_url cannot be empty` error preventing workspace creation
3. Validate `make tdd-status` works properly
**PRIORITY 2: Start CLI Implementation**
1. Run `make tdd-start NUM=5` to begin CLI Entry Point issue
2. Follow TDD8 workflow for comprehensive CLI implementation
3. Focus on delivering user-facing interface for existing library capabilities
### Phase 1: Core CLI Infrastructure (Current Session Target)
**Issue #5: CLI Entry Point and Basic Commands**
- **Objective**: Create functional CLI matching documented interface
- **Scope**: Entry point, basic commands (`ingest`, `status`, `list`)
- **Framework**: Click or Typer for argument parsing
- **Integration**: Wire existing library components to CLI commands
- **Validation**: Ensure commands work with current database/caching system
**Implementation Strategy:**
1. Add CLI framework dependency (Click/Typer) to pyproject.toml
2. Create `markitect/cli.py` main interface module
3. Add console_scripts entry point to pyproject.toml
4. Implement core commands using existing library functions
5. Add comprehensive CLI tests following TDD workflow
### Phase 2: Cache Management Interface
**Issue #6: Cache Management CLI Commands**
- Add `cache-info`, `cache-invalidate`, `cache-clean` commands
- Expose AST cache system through user interface
- Provide cache performance monitoring and maintenance tools
### Phase 3: Query and Analysis Interface
**Issue #7: Database Query CLI** + **Issue #8: AST Query CLI**
- Implement SQL query interface for metadata operations
- Add AST introspection and JSONPath querying
- Deliver core USP: "Relational Document Metadata" + "Zero-Parsing Content Access"
### Priority 1: CLI Framework Integration
- **Dependency Management**: Add Click/Typer to pyproject.toml dependencies
- **Entry Point Configuration**: Setup console_scripts in pyproject.toml
- **Module Architecture**: Design CLI module structure for extensibility
- **Command Organization**: Group commands by functionality (document, cache, query, ast)
### Priority 2: Library-CLI Bridge
- **Interface Design**: Create clean abstractions between library and CLI
- **Error Handling**: Implement user-friendly error messages and exit codes
- **Configuration**: Support global options (--verbose, --config, --database)
- **Output Formatting**: Implement multiple output formats (table, json, yaml)
### Priority 3: Performance Validation
- **Benchmark Integration**: Expose performance testing through CLI
- **Cache Monitoring**: Real-time cache effectiveness reporting
- **Progress Tracking**: User feedback for long-running operations
## 🏗️ **Complete Issue Roadmap**
### 🚨 **Critical Path (Deliver Core USPs)**
1. **Issue #5**: CLI Entry Point and Basic Commands (NEXT SESSION)
2. **Issue #6**: Cache Management CLI Commands
3. **Issue #7**: Database Query CLI Interface
4. **Issue #8**: AST Query and Analysis CLI
5. **Issue #9**: Performance Validation CLI
### 🎯 **Medium Priority (Advanced Features)**
6. **Issue #10**: Batch Processing and Recursive Operations
7. **Issue #11**: JSON Schema Validation System
8. **Issue #12**: Configuration and Environment Management
### 🔮 **Future Enhancement (Integration Layer)**
9. **Issue #13**: GraphQL API Interface
10. **Issue #14**: Plugin Architecture and Extensions
## 📋 **Infrastructure Readiness**
### ✅ **Validated & Ready**
- TDD workflow completely operational (32/32 tests passing)
- Database foundation with full front matter support (`database.py`)
- AST parsing and caching system (`parser.py`, `ast_cache.py`)
- Document management with performance tracking (`document_manager.py`)
- Error handling and edge case management proven
### 🚀 **Available Tooling**
- `make tdd-start NUM=X` - proven workspace creation for Issue #5
- `make tdd-add-test` - effective test generation guidance
- `make test-coverage NUM=X` - accurate coverage analysis
- `make tdd-finish` - seamless test integration
## 🎖️ **Success Criteria for Next Session**
**Primary Goal**: Implement Issue #5 - CLI Entry Point and Basic Commands
- Create functional `markitect` CLI command with entry point
- Implement core commands: `ingest`, `status`, `list`
- Integrate with existing library components (database, document_manager)
- Achieve comprehensive test coverage following TDD workflow
- Validate CLI works with current caching and database systems
**Success Indicators**:
- User can run `markitect ingest file.md` and see file processed
- `markitect list` shows ingested files from database
- `markitect status file.md` displays processing information
- All CLI commands have proper error handling and help text
- Tests validate CLI integration with library components
**Philosophy**: Transform library capabilities into user-accessible tools. The gap analysis revealed we have all the components - now make them usable.
---
## 🔄 **Updated Wrap-Up Routine**
### End-of-Session Checklist:
1. **Gap Analysis**: Validate implementation matches documented vision
2. **Issue Creation**: Document needed functionality as trackable issues
3. **Priority Assessment**: Align roadmap with core USP delivery
4. **Documentation Updates**: ProjectDiary.md, ProjectStatusDigest.md, Next.md
5. **Commit Strategy**: Preserve analysis and updated roadmap
### Session Success Indicators:
- All tests passing (green state)
- Clear next steps documented with implementation detail
- Progress toward documented vision measurably advanced
- Critical gaps identified and prioritized
---
## 📋 **Pending Gitea Issues (Manual Creation Required)**
**🎯 Session Metrics Tracking System**
- **Title**: "Implement session metrics tracking and documentation system"
- **Type**: Enhancement | Documentation | Workflow
- **Priority**: Medium
- **Description**: Implement automatic tracking of tasks generated/completed, development metrics, and session productivity for ProjectDiary integration
- **Action**: Create in Gitea manually - issue content prepared above
---
*Last Updated: 2025-09-24 (Gap Analysis Complete)*
*Critical Discovery: CLI interface completely missing despite comprehensive documentation*
*Next Session Priority: Issue #5 - CLI Entry Point Implementation*
*Strategic Shift: From library expansion to user interface delivery*