diff --git a/README.md b/README.md
index 73fa690..29447ef 100644
--- a/README.md
+++ b/README.md
@@ -4,23 +4,43 @@
-
-
-
-
+
+
+
## π― What is Opus?
-Opus is an AI-powered book generation system that creates professional manuscripts using multiple AI agent frameworks. It supports **fiction** and **nonfiction** with intelligent purpose classification.
+Opus is an AI-powered book generation system that creates professional manuscripts. It supports **fiction** and **nonfiction** with intelligent purpose classification, multiple export formats, and professional publishing workflows.
## β¨ Features
+### Core Capabilities
- **Multi-Framework Orchestration**: LangGraph, CrewAI, and AutoGen
- **Intelligent Purpose Classification**: Automatically determines reader purpose
- **100+ Content Frameworks**: From textbooks to RPG modules
- **Checkpoint/Resume**: Long generations can resume from failure
-- **REST API + CLI**: Programmatic or command-line usage
+
+### Input Sources
+- **GitHub Repository**: Ingest from any public/private repo
+- **S3/Backblaze**: Cloud storage ingestion
+- **Local Files**: Direct file input
+
+### Output Formats
+- **Scrivener Export**: Chapter-by-chapter with `binder.json`
+- **LaTeX**: 31 professional templates
+- **HTML**: Styled web output
+- **PDF**: Via LaTeX compilation
+
+### Publishing
+- **KDP Templates**: 5 trim sizes (5x8, 5.5x8.5, 6x9, 8x8, 8.5x11)
+- **31 LaTeX Templates**: Novel, memoir, academic, RPG, cookbook, etc.
+- **ISBN/Metadata**: Full publishing metadata support
+
+### Deployment
+- **Docker Compose**: Full local stack
+- **k3s/Helm**: Production Kubernetes
+- **REST API**: Programmatic access
## π Quick Start
@@ -32,101 +52,100 @@ pip install opus-orchestrator
opus generate --concept "A robot who dreams of being human" --genre sci-fi
# Generate a book (nonfiction)
-opus generate --book-type nonfiction --purpose learn --category technology "How to build an AI app"
+opus generate --book-type nonfiction --purpose learn "How to build an AI app"
-# Resume from checkpoint
-opus generate --thread-id abc123 --resume
+# Serve API
+opus serve --port 8000
```
## π Framework Library
Opus supports **100+ frameworks** organized by content type:
-### Nonfiction Categories
+### Nonfiction
| Category | Frameworks | Purpose |
|----------|-----------|---------|
-| **Tutorial/How-To** | Tutorial, Howto, Minimalist How-To, Challenge-Response | Learn to do something |
-| **Explanation** | Concept Explainer, Explainer, Socratic Method | Understand a concept |
-| **Transformation** | Transformation Journey, Mountain Structure, Atomic Habits | Personal change |
-| **Decision** | Big Idea, Problem-Solution, Case Study | Make informed decisions |
-| **Reference** | Technical Manual, Quick Reference, Encyclopedia | Look up information |
-| **Inspiration** | Visionary, Narrative, Memoir | Feel motivated |
+| **Tutorial/How-To** | Tutorial, Howto, Minimalist How-To | Learn to do |
+| **Explanation** | Concept Explainer, Socratic Method | Understand |
+| **Transformation** | Transformation Journey, Atomic Habits | Personal change |
+| **Decision** | Big Idea, Case Study | Make decisions |
+| **Reference** | Technical Manual, Quick Reference | Look up info |
-### Educational/Academic
+### Fiction
| Category | Frameworks |
|----------|-----------|
-| **Textbooks** | Comprehensive Textbook, Textbook Chapter, Workbook |
-| **Courses** | Online Course, Curriculum/Syllabus, Study Guide |
-| **Academic** | Empirical Paper, Theoretical Paper, Literature Review, Thesis |
-| **Research** | Position Paper, Policy Brief, Meta-Analysis |
+| **Snowflake** | One-page to novel |
+| **Three-Act** | Classic structure |
+| **Hero's Journey** | Mythic structure |
+| **Save the Cat** | Screenwriting |
+| **Story Circle** | Dan Harmon's 8-part |
-### Creative/Interactive
+### RPG/Game Books
| Category | Frameworks |
|----------|-----------|
-| **Branching** | Choose Your Own Adventure, Gamebook, Visual Novel |
-| **Epistolary** | Epistolary Novel, Found Documents |
-| **Manifesto** | Manifesto, Open Letter |
-| **Experimental** | Infinite Story, Fractal Narrative, Scrapbook |
-| **Performance** | Podcast Script, Screenplay, Stage Play |
+| **Rulebook** | Core rules, system |
+| **Adventure** | Dungeon module, campaign |
+| **CYOA** | Choose Your Own Adventure |
-### RPG/Tabletop Gaming
+## π Output Formats
-| Category | Frameworks |
-|----------|-----------|
-| **Core** | Core Rulebook, Quickstart |
-| **GM Guides** | Game Master Guide, Adventure Module, Campaign Setting |
-| **Supplements** | Player's Companion, Monster Manual, Sourcebook |
-| **Adventure Types** | Dungeon Crawl, Hex Crawl, Sandbox |
+### Scrivener Export
+```python
+from opus_orchestrator import export_to_scrivener
-## π§ Configuration
+result = export_to_scrivener(
+ manuscript,
+ "My Book",
+ split_chapters=True,
+ branch="draft/chapter-1",
+ push_to_remote=True,
+)
+```
+Output: Individual `.md` files + `binder.json`
-### Environment Variables
+### LaTeX Templates (31)
+```python
+from opus_orchestrator import export_to_latex
-```bash
-export OPENAI_API_KEY="your-key" # or
-export MINIMAX_API_KEY="your-key"
+export_to_latex(manuscript, "My Book", "out.tex",
+ template="kdp-trade")
```
-### Config File (`opus.yaml`)
+**Templates:**
+- **KDP**: pocket, trade, 6x9, square, large
+- **Genre**: novel, memoir, romance, thriller, sci-fi
+- **Academic**: textbook, academic, cleanthesis, classicthesis
+- **Specialty**: poetry, cookbook, screenplay, RPG
-```yaml
-agent:
- model: gpt-4o
- temperature: 0.7
- max_tokens: 4000
+### HTML Export
+```python
+from opus_orchestrator import export_to_html
-output:
- format: markdown
- save_to_file: true
+html = export_to_html(manuscript, "My Book",
+ template="memoir")
```
-## π» CLI Commands
+## π Deployment
+### Docker Compose
```bash
-# Generate a book
-opus generate --concept "Your book idea" [options]
+# Quick start
+cp .env.example .env
+# Add your MINIMAX_API_KEY and GITHUB_TOKEN
-# Options:
-# --book-type {fiction,nonfiction} Book type
-# --framework {snowflake,save-the-cat,...} Story framework
-# --genre {sci-fi,fantasy,romance,...} Genre
-# --purpose {learn,understand,transform,decide,reference,inspire} Reader purpose
-# --category {business,leadership,memoir,...} Nonfiction category
-# --words TARGET_WORD_COUNT Target word count
-# --thread-id THREAD_ID Checkpoint ID for resume
-# --resume Resume from checkpoint
+docker-compose -f deployments/docker-compose.yml up -d
+```
-# Serve API
-opus serve --port 8000
+### k3s/Helm
+```bash
+# Install Opus API
+helm install opus deployments/k3s/opus-orchestrator/
-# List frameworks
-opus frameworks
-
-# Ingest from GitHub
-opus ingest --repo https://github.com/user/repo
+# Install TeX Live API (for PDF compilation)
+helm install texlive deployments/k3s/texlive-api/
```
## π REST API
@@ -146,89 +165,88 @@ curl -X POST http://localhost:8000/generate/stream \
-d '{"concept": "Your book idea"}'
```
+## βοΈ Configuration
+
+### Environment Variables
+```bash
+export MINIMAX_API_KEY="your-key" # Primary
+export GITHUB_TOKEN="your-token"
+```
+
+### Config File
+```yaml
+agent:
+ provider: minimax
+ model: MiniMax/MiniMax-M2.5
+ temperature: 0.7
+
+output:
+ format: markdown
+ save_to_file: true
+ split_chapters: true
+```
+
## π§ Architecture
```
User Input β Intent Classification β Framework Selection
β
-Purpose Detection (learn/understand/transform/decide/reference/inspire)
+Purpose Detection (learn/understand/transform/decide)
β
-FrameworkεΉι
(100+ frameworks by category)
+FrameworkεΉι
(100+ frameworks)
β
-Agent Selection (purpose-specific writer + critique)
+Agent Selection (purpose-specific)
β
-Generation Pipeline (LangGraph/CrewAI/AutoGen)
+Generation (LangGraph/CrewAI/AutoGen)
β
-Manuscript Output
+Output (Scrivener/LaTeX/HTML/PDF)
```
-## π¦ Nonfiction Purpose System
-
-The nonfiction pipeline uses **Purpose Γ Structure** classification:
-
-### Reader Purposes
-
-1. **LEARN_HANDS_ON** β Reader wants to DO something (tutorials, how-to)
-2. **UNDERSTAND** β Reader wants to GRASP a concept (explanations)
-3. **TRANSFORM** β Reader wants to CHANGE themselves (self-help, memoir)
-4. **DECIDE** β Reader wants to MAKE A DECISION (business, analysis)
-5. **REFERENCE** β Reader wants to LOOK UP info (manuals, documentation)
-6. **BE_INSPIRED** β Reader wants to FEEL motivated (stories, manifestos)
-
-### Framework Selection
-
-The system automatically selects the best framework based on:
-- Explicit flags (`--purpose`, `--category`)
-- Keyword classification from concept
-- Content analysis (for existing blogs/articles)
-- Conversational Q&A (when ambiguous)
-
-## π Checkpointing/Resume
-
-Long generations can fail. Use checkpointing to resume:
-
-```bash
-# First run - saves checkpoint
-opus generate --concept "My book" --thread-id my-book-001
-# If it fails...
-
-# Resume from checkpoint
-opus generate --concept "My book" --thread-id my-book-001 --resume
-```
-
-## π€ Multi-Agent Systems
-
-Opus supports three orchestration backends:
-
-1. **LangGraph** β State machine with checkpointing
-2. **CrewAI** β Sequential agent crews
-3. **AutoGen** β Multi-agent debate/critique
-
## π Project Structure
```
opus_orchestrator/
-βββ orchestrator.py # Main orchestration
-βββ langgraph_workflow.py # LangGraph pipeline
-βββ crews/ # CrewAI crews
-βββ autogen_critique.py # AutoGen critique
-βββ agents/ # Agent definitions
-β βββ fiction/ # Fiction writers
-β βββ nonfiction/ # Nonfiction writers + purpose-specific
-βββ frameworks.py # Fiction frameworks
-βββ nonfiction/ # Nonfiction system
-β βββ classifier.py # Purpose classifier
-β βββ intake.py # Intake agent
-β βββ expanded_frameworks.py # 35+ frameworks
-β βββ textbook_frameworks.py # Educational
-β βββ academic_papers.py # Academic types
-β βββ creative_frameworks.py # Interactive
-β βββ rpg_frameworks.py # Tabletop RPG
-βββ server.py # REST API
-βββ cli.py # CLI
+βββ orchestrator.py # Main orchestration
+βββ server.py # REST API
+βββ cli.py # CLI
+βββ langgraph_workflow.py # LangGraph pipeline
+βββ nonfiction/ # Nonfiction system
+β βββ classifier.py # Purpose classifier
+β βββ frameworks.py # 35+ frameworks
+βββ frameworks.py # Fiction frameworks
+βββ scrivener_export.py # Scrivener output
+βββ latex_compile.py # LaTeX export
+βββ html_export.py # HTML output
+βββ texlive_client.py # TeX Live API
+βββ templates/
+β βββ latex/ # 31 templates
+βββ deployments/
+ βββ docker-compose.yml
+ βββ k3s/
```
-## π License
+## π¦ Test Suite
+
+```bash
+# Run tests
+pytest tests/ -v
+
+# Test categories
+tests/
+βββ test_github_ingest.py # GitHub ingestion
+βββ test_s3_ingest.py # S3/Backblaze
+βββ test_generation.py # Document generation
+βββ test_output_push.py # Output push
+βββ test_e2e.py # End-to-end
+```
+
+## π Links
+
+- [GitHub](https://github.com/mrhavens/opus-orchestrator-ai)
+- [Issues](https://github.com/mrhavens/opus-orchestrator-ai/issues)
+- [BECOMINGONE](https://github.com/mrhavens/becomingone)
+
+## π License
MIT
@@ -236,7 +254,6 @@ MIT
Mark Havens
-## π Links
+---
-- [GitHub](https://github.com/mrhavens/opus-orchestrator-ai)
-- [Documentation](https://github.com/mrhavens/opus-orchestrator-ai/docs)
+*Built with β₯ using MiniMax M2.5*