Skip to content

๐Ÿš€ Production-ready AI system for generating, scoring, and optimizing startup ideas at scale. Features async processing, de-duplication, intelligent scoring, and enterprise observability.

Notifications You must be signed in to change notification settings

williamDalston/prometheus-idea-engine

Repository files navigation

๐Ÿ“˜ 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

  1. Installation First, ensure you have Python 3.10+ and Poetry installed. Then, clone the repository and install the dependencies.

Clone the repository

git clone cd prometheus_novel

Install dependencies using Poetry

poetry install

  1. Configuration Before running the pipeline, you need to set up your environment variables. Copy the example config and add your API keys.

Create your environment config

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.

  1. 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:

configs/my_new_novel.yaml

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.

In your config file:

prompt_set_directory: "prompts/experimental_v2/"

About

๐Ÿš€ Production-ready AI system for generating, scoring, and optimizing startup ideas at scale. Features async processing, de-duplication, intelligent scoring, and enterprise observability.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published