🔧 Schema Management System:
- schema-ingest: Store JSON schema files in database with metadata parsing
- schema-list: List all stored schemas with --format and --names-only options
- schema-get: Retrieve stored schemas to stdout or file
- schema-delete: Remove schemas with confirmation prompts
- Full database integration with schemas table
📊 Enhanced Format Control:
- MARKITECT_DEFAULT_FORMAT environment variable for global format defaults
- Consistent --format options across all CLI commands (table|json|yaml|simple)
- get_default_format() function with fallback logic for invalid values
- Applied format control to query, schema, metadata, list, and ast-stats commands
🛠️ Bug Fixes:
- Fixed ast-stats command empty output by adding 'simple' format handler
- Created missing schema_summary.py for schema visualization tests
- All 394 tests now passing
✨ Usability Improvements:
- Unified format handling across the entire CLI interface
- Environment-based configuration for user preferences
- Enhanced schema management workflow with comprehensive CRUD operations
🧪 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed the massive number of deprecation warnings generated during test runs
by updating datetime handling in SQLite operations to use ISO format strings
instead of raw datetime objects.
## Problem
- Tests were generating 63+ deprecation warnings per run
- Python 3.12 deprecated the default datetime adapter for SQLite
- Warning: "The default datetime adapter is deprecated as of Python 3.12"
## Solution
- Convert datetime.now() to datetime.now().isoformat() in SQL INSERT
- Uses ISO format strings that SQLite handles natively
- Eliminates dependency on deprecated datetime adapter
## Impact
✅ Zero deprecation warnings in test runs
✅ All existing functionality preserved
✅ Database compatibility maintained
✅ Clean test output for better debugging
## Files Changed
- markitect/database.py: Updated store_markdown_file() method
This fix improves the development experience by eliminating the flood
of warnings that were obscuring actual test output and issues.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
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>
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>