# re-voice `re-voice` turns “any document” into a **shadow dossier** by applying a versioned **style bible** (voice + structure + constraints) on top of extracted source text. This repo is the home for: - Style bibles (versioned, citable) - A small extraction + dossier generator (CLI + optional API) - Example dossiers for review ## Quick start (example) Generate the Dave-style shadow dossier for the included PDF: ```bash PYTHONPATH=src python3 -m revoice generate \ --style if.dave.v1.2 \ --input examples/ai-code-guardrails/AI-Code-Guardrails.pdf \ --output examples/ai-code-guardrails/AI-Code-Guardrails.shadow.dave.md ``` Preflight the generated Markdown for PDF export (auto-fix Mermaid + lint): ```bash PYTHONPATH=src python3 -m revoice preflight \ --style if.dave.v1.2 \ --input examples/ai-code-guardrails/AI-Code-Guardrails.shadow.dave.md \ --source examples/ai-code-guardrails/AI-Code-Guardrails.pdf ``` Or install the CLI locally: ```bash python3 -m pip install -e . revoice generate --style if.dave.v1.2 --input examples/ai-code-guardrails/AI-Code-Guardrails.pdf ``` ## What “apply a style bible” means A style bible is treated as an executable contract: - **Structure:** required sections / scaffolding (e.g. the 9-element stack) - **Voice constraints:** pronouns, tone, taboo phrases, vocabulary swaps - **Formatting rules:** bullets, bold buzzwords, footers, etc. - **Citations:** stable IDs like `if://bible/dave/v1.0` to make outputs auditable ## Proposed app shape (upload → shadow dossier) See `docs/APP_SPEC.md`. ## Dev notes `revoice` uses external tools for text extraction: - `pdftotext`, `pdftoppm` (Poppler utils) - `tesseract` (OCR fallback for image-only PDFs)