Files
markitect-main/docs
tegwick 20c0cfece7 feat: add LinkValidator for semantic link validation (Phase 3)
Implement comprehensive link validation as part of semantic validation:

Core Features:
- Link classification: internal, external, fragment, email
- Internal link validation: fragment anchors and file paths
- External link validation: HTTP/HTTPS with configurable timeout
- Email validation: mailto: link format checking
- Fragment policy enforcement: allow/disallow fragment identifiers

Link Validator:
- markitect/validators/link_validator.py - Full link validation implementation
- Supports x-markitect-content-control.link_validation configuration
- Default: check internal links, skip external (fast)
- Opt-in external checking with --check-links flag

Integration:
- Updated SemanticValidator to include link_result in reports
- CLI already supports --check-links flag (line 1629 in cli.py)
- Link validation runs by default for internal links (fast)
- External link checking requires explicit --check-links flag

Test Coverage:
- Added 9 comprehensive tests for LinkValidator
- Tests cover: classification, broken links, fragments, email, statistics
- All 25 semantic validator tests passing (100%)

Documentation:
- Updated SCHEMA_MANAGEMENT_GUIDE.md with link validation section
- Added examples for broken links and external link checking
- Documented link types, validation rules, and configuration

Statistics Tracking:
- Links checked, internal/external/fragment/email counts
- Detailed error/warning reporting with line numbers
- Integration with existing semantic validation reporting

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-06 03:41:03 +01:00
..
2025-10-03 03:39:43 +02:00

MarkiTect Documentation

Welcome to the MarkiTect documentation. This directory contains comprehensive documentation for developers, users, and contributors.

Documentation Structure

📐 Architecture Documentation (architecture/)

Deep technical documentation about system design, performance, and implementation details.

  • Capabilities Architecture - Critical: How capabilities work as independent git submodules and separation of concerns
  • Caching System - Why and how MarkiTect's AST caching delivers 60-85% performance improvements
  • Coming soon: Database Schema, CLI Architecture

👥 User Guides (user-guides/)

End-user documentation for working with MarkiTect CLI and features.

  • Coming soon: Getting Started, Command Reference, Best Practices

🔧 Development Documentation (development/)

Documentation for contributors and developers extending MarkiTect.

  • Coming soon: Contributing Guide, Testing Strategy, Release Process

For Users

For Developers

Project Management

Key Concepts

Core Architecture Principles

  1. Parse Once, Use Many Times - AST caching for 60-85% performance improvement
  2. Convention Over Configuration - Sensible defaults with minimal setup
  3. Schema-Driven Processing - Structured markdown with validation
  4. Relational Metadata - Database-powered document relationships

Performance Philosophy

MarkiTect treats markdown documents as structured, queryable data rather than plain text. This approach enables:

  • Lightning-fast document processing through intelligent caching
  • Complex querying and relationship management
  • Schema validation and consistency enforcement
  • Scalable performance that grows with your content

Contributing to Documentation

Documentation follows the same quality standards as code:

  1. Clear Structure - Logical organization and navigation
  2. Practical Examples - Real-world usage patterns
  3. Performance Context - Why architectural decisions matter
  4. User-Focused - Written for the intended audience

Documentation Standards

  • Use clear, concise language
  • Include practical examples
  • Explain the "why" behind design decisions
  • Keep technical accuracy as the highest priority
  • Update docs when changing functionality

This documentation is maintained alongside the codebase. For the most current information, always refer to the latest version in the repository.