Files
markitect-main/TODO.md
tegwick 3a353b4d4f
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
feat: implement comprehensive asset shipping for md-render command
Add automatic asset copying when rendering markdown to different output
directories with intelligent defaults and full user control.

Key Features:
- Environment variable support: MARKITECT_OUTPUT_DIR sets default output directory
- Smart defaults: auto-ship assets for directory output, disabled for file output
- CLI control flags: --ship-assets and --no-ship-assets for explicit control
- Timestamp-based copying: only copies when source newer than destination
- Path preservation: maintains relative directory structure in output
- Graceful error handling: missing assets logged as warnings, not failures

Technical Implementation:
- Enhanced asset discovery in markitect/assets/discovery.py with discover_assets_from_markdown()
- Added environment variable priority: CLI --output > MARKITECT_OUTPUT_DIR > input directory
- Comprehensive asset shipping logic with _ship_assets() function
- Directory vs file output detection for intelligent default behavior

Examples and Testing:
- Added image-assets example directory with 6 sample images and comprehensive README
- Created comprehensive TDD test suite with 10 tests covering all functionality
- Tests validate environment variables, CLI flags, asset discovery, shipping logic,
  timestamp handling, missing assets, path preservation, and default behaviors

Usage:
  markitect md-render file.md -o /output/dir/     # Auto-ships assets
  markitect md-render file.md --no-ship-assets   # Suppresses shipping
  MARKITECT_OUTPUT_DIR=/docs markitect md-render file.md  # Uses env var

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 23:12:44 +01:00

2.9 KiB

Todofile

This is a "to do next" file, particularly useful to keep the human and a coding assistant in sync.

The format is based on Keep a Todofile V0.0.1.

The structure organizes future tasks by their impact, just as a changelog organizes past changes by their impact.


[Unreleased] - Active Vibe-Coding State 💡

This section is for tasks currently being discussed with or worked on by the coding assistant. These are the ephemeral, flow-of-thought tasks.

  • To Add:

    • None currently identified
  • To Fix:

    • None currently identified
  • To Refactor:

    • None currently identified
  • To Remove:

    • None currently identified

Completed Tasks

Asset Shipping for md-render - COMPLETED :

  • Implemented automatic asset copying when rendering markdown to different output directories
  • Added asset discovery functionality parsing markdown for image/link references
  • Implemented timestamp-based asset copying (only copy if source newer than destination)
  • Added --ship-assets and --no-ship-assets CLI flags for explicit control
  • Added MARKITECT_OUTPUT_DIR environment variable support for default output directory
  • Smart defaults: assets ship automatically when output is directory, disabled for specific files
  • Preserved relative path structure in output directory maintaining markdown link compatibility
  • Graceful handling of missing assets with warning messages
  • Full backward compatibility with existing md-render workflows
  • Comprehensive TDD test suite covering all functionality and edge cases

Feature Capabilities:

  • Environment variable priority: CLI --output > MARKITECT_OUTPUT_DIR > input file directory
  • Automatic asset discovery from standard markdown syntax: ![alt](path) and [text](path)
  • Timestamp-based incremental copying prevents unnecessary file operations
  • Directory structure preservation maintains working relative links in output HTML
  • Support for images, documents, and other asset types referenced in markdown

CHANGELOG.md Enhancement - COMPLETED :

  • Added missing version entries for 0.1.0, 0.2.0, and 0.3.0
  • Added standard Keep a Changelog header with proper format
  • Included Unreleased section
  • Research completed for all historical versions using git log analysis
  • All entries follow Keep a Changelog categories (Added, Changed, Fixed)
  • Chronological order maintained with latest versions first
  • Appropriate release dates included based on git commit timestamps

Version Details Added:

  • v0.1.0 (2025-10-15): Development infrastructure, TDD workspace, issue management
  • v0.2.0 (2025-10-20): Advanced Markdown Engine with GraphQL, search, plugins
  • v0.3.0 (2025-10-25): Architectural improvements with kaizen-agentic integration