- .gitignore: data/* (canales, BD, markdown, media), cookies/ (sesiones de YouTube),
config.yaml real (usar config.example.yaml), graphify-out/, .superpowers/, .env,
venvs, estado local de agentes
- untrack de graphify-out (102 archivos de cache regenerable), config.yaml y
.claude/settings.json (estado de maquina local); los archivos se conservan en disco
- .gitattributes: LF en todo el texto, CRLF solo para .bat/.ps1, binarios marcados
(fin de los warnings LF/CRLF en cada diff)
- data/.gitkeep documenta el proposito del directorio
Scraper de canales de YouTube hacia notas Markdown para base de conocimiento
(Obsidian-ready), con plataforma web local.
Engine + CLI (Workstream A):
- Modular pipeline: discover/extract/parse/chapters/render/store + ratelimit
- SQLite store con migración idempotente: FTS5 (transcript search), columnas
de metadata enriquecida, tablas cookies_meta y scrape_jobs
- Módulos: segments, cookies (Netscape vault), export (json/csv/srt/html),
analysis (word freq/timeline/wordcloud), monitor (watch loop), pipeline
- CLI Click group: search, export, audio, channels, watch, analyze, re-render
- Fix del bug de scoping de cookies en cli.py
Webapp local (Workstream B):
- FastAPI backend: dashboard, channels, videos facetado, transcript, search
FTS, analysis, scrape jobs con SSE, cookies drag-and-drop, exports,
folders (abrir en OS), tools (re-render, formato)
- SPA no-build (Alpine.js + Tailwind + Chart.js por CDN): 9 vistas, tema
dark command-center con acento rojo→rosa, cookie vault drag-drop,
consola de scrapeo con progreso live vía SSE
Launcher + subagentes (Workstream C):
- start-server.bat / stop-server.bat con auto port-scan + browser open
- .opencode/agent/webapp-builder.md + .opencode/goals/webapp-build.md
Tests: 38 pytest verdes. Sin funcionalidad de IA (enfoque data-mining).