๐ PROMETHEUS Novel Generation Pipeline PROMETHEUS is an intelligent, multi-stage novel-writing framework designed for structured creativity, long-term memory, and human-style refinement. It transforms a simple premise into a publication-quality manuscript through a modular, validated, and fully autonomous pipeline.
๐ Getting Started
- Installation First, ensure you have Python 3.10+ and Poetry installed. Then, clone the repository and install the dependencies.
git clone cd prometheus_novel
poetry install
- Configuration Before running the pipeline, you need to set up your environment variables. Copy the example config and add your API keys.
cp configs/env_config.py.example configs/env_config.py
Now, open configs/env_config.py and add your API keys (e.g., for OpenAI, Anthropic) and set your project's budget cap.
- Quickstart: Run the Full Pipeline The entire novel generation process can be triggered with a single command. This will run all 12 stages, from generating the high concept to compiling the final manuscript.
python cli.py --config configs/the_empathy_clause.yaml --run-all --check-prompts --compile
This command will:
--config: Specify the novel's configuration file.
--run-all: Execute all stages in the pipeline sequentially.
--check-prompts: Validate that all prompts align with their stages before starting.
--compile: Automatically run the compiler script upon successful completion of the pipeline.
Your final, compiled novel will be located in outputs/compiled/the_empathy_clause.md.
โ๏ธ How It Works: The Pipeline PROMETHEUS operates on a 12-stage pipeline. Each stage is a specialized agent that performs a specific task, reading from a central PrometheusState object and writing its structured JSON output back to it.
High Concept: Generates the core idea, logline, themes, and motifs.
World Modeling: Builds a rich, thematically resonant world.
World Rules: Defines the unbreakable laws of the world.
Character Profiles: Creates a cast of psychologically deep characters.
Beat Sheet: Structures the plot into a classic narrative framework.
Scene Sketches: Translates plot beats into detailed scene blueprints.
Scene Drafting: Writes the first draft of each scene.
Self-Refinement: Performs an initial automated editing pass.
Continuity Audit: Checks for plot holes and inconsistencies.
Human-Like Edits: A stylistic pass to improve prose and voice.
Motif Infusion: Subtly weaves central themes throughout the manuscript.
Output Validation: A final quality gate check for publication readiness.
๐ ๏ธ Advanced Usage & CLI Flags You can control the pipeline with a high degree of precision using the command-line interface.
Running a Specific Stage To run only a single stage (e.g., for debugging), use the --stage flag.
python cli.py --config configs/the_empathy_clause.yaml --stage world_modeling
Resuming from a Previous State If the pipeline was interrupted, you can resume from the last saved state snapshot, saving time and cost.
python cli.py --config configs/the_empathy_clause.yaml --resume-from data/the_empathy_clause/state_snapshots/latest_state_... .json
Compiling a Novel Manually If you want to re-compile a novel from an existing state snapshot with different settings, use the compile_novel.py script directly.
python compile_novel.py
--state data/the_empathy_clause/state_snapshots/latest_state_... .json
--output outputs/compiled/my_novel_v2.md
--title "A New Title"
๐ง Configuration Creating a New Novel To start a new novel, create a new YAML file in the configs/ directory (e.g., configs/my_new_novel.yaml). At a minimum, it must contain the initial premise:
metadata: project_name: "My New Novel" slug: "my_new_novel" title: "A Tale of Bytes and Magic" synopsis: "In a world where magic is coded and spells are algorithms, a young programmer discovers a forbidden function that could unravel reality itself." genre: "Cyber-Fantasy" target_audience: "Adult"
Switching Prompt Sets You can experiment with different writing styles by changing the prompt directory in your config file.
prompt_set_directory: "prompts/experimental_v2/"