Add iterative project mode for multi-video documentation

New features:
- project.py: Project management with VideoEntry, ComponentKnowledge
  - Tracks videos, components, changes over time
  - Accumulates knowledge across multiple videos
  - Change history tracking per component
  - Atomizer hints merging

- incremental.py: Incremental processing
  - Processes videos in chronological order
  - Detects explicit changes from transcript (supersedes, adds, updates)
  - Merges component info intelligently
  - UnifiedDocumentGenerator for final output

- cli_project.py: New CLI commands
  - cad-doc project init <path> - Create new project
  - cad-doc project add <project> <video> - Add video
  - cad-doc project process <project> - Process pending videos
  - cad-doc project generate <project> - Generate unified docs
  - cad-doc project status <project> - Show project status
  - cad-doc project list-components <project> - List all components

Usage:
  cad-doc project init ./my-bracket
  cp video1.mp4 video2.mp4 ./my-bracket/videos/
  cad-doc project add ./my-bracket videos/video1.mp4
  cad-doc project add ./my-bracket videos/video2.mp4
  cad-doc project process ./my-bracket
  cad-doc project generate ./my-bracket
This commit is contained in:
Mario Lavoie
2026-01-28 00:37:45 +00:00
parent d2e63a335a
commit 3ee0b14a2b
4 changed files with 1086 additions and 0 deletions

View File

@@ -11,6 +11,7 @@ from rich.table import Table
from .pipeline import DocumentationPipeline, PipelineProgress, PipelineStage, create_pipeline
from .config import Config, load_config
from .cli_project import project as project_commands
console = Console()
@@ -380,5 +381,9 @@ def main():
cli()
# Register project subcommands
cli.add_command(project_commands)
if __name__ == "__main__":
main()