Commit Graph

2 Commits

Author SHA1 Message Date
1840d0654d feat: Complete Issue #14 - Database Query CLI Interface MAJOR MILESTONE
Implement comprehensive database query interface with multiple output formats:

• Add query command for executing read-only SQL queries with security constraints
• Add schema command for database structure inspection
• Add metadata command for file information display
• Support table, JSON, and YAML output formats across all commands
• Implement SQL injection prevention and safety checks
• Add tabulate dependency for enhanced table formatting
• Create 35 comprehensive tests covering all functionality

This delivers the core USP "Relational Document Metadata" by making the
database fully queryable through CLI commands with multiple output formats.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-25 03:30:10 +02:00
35cbe715a5 feat: Implement Issue #1 - Database initialization and front matter parsing
Complete TDD implementation of core MarkiTect functionality:

**Database Module (markitect/database.py):**
- DatabaseManager class with SQLite database initialization
- markdown_files table with proper schema (id, filename, front_matter, content, created_at)
- Front matter storage as JSON with content separation
- File storage, retrieval, and listing methods
- Comprehensive error handling

**Front Matter Module (markitect/frontmatter.py):**
- FrontMatterParser class with YAML front matter parsing
- Clean separation of metadata from markdown content
- Graceful handling of invalid YAML and missing front matter
- Regex-based parsing with proper delimiter handling

**Dependencies:**
- Added PyYAML for front matter parsing
- Updated pyproject.toml with new dependency

**Test Coverage:**
- 9 comprehensive tests covering all functionality
- Database initialization and schema validation
- Front matter parsing with Issue #1 example content
- Integrated workflow testing (storage/retrieval)
- Error handling for edge cases

**TDD Process:**
- RED phase: 8 failing tests defining requirements
- GREEN phase: Minimal implementation making all tests pass
- Validation: Complete workflow verified with example content

This implementation provides the foundation for all subsequent MarkiTect
features, handling the exact example from Issue #1 specification.

Issue #1: Initialize Database and Store Example Markdown File
coulomb/markitect_project#1

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-23 04:28:29 +02:00