Skip to main content

Composez is an AI-assisted fiction writing tool in your terminal

Project description

Composez

A terminal-based, git-integrated AI writing tool for long-form fiction. Composez adds structured narrative editing so you can write, revise, and manage novels from the command line as you write with your favourite editor.

If you're looking for a more ready-to-use, one-click solution, check out the web editing tool at https://composez.ai.

Features

  • Structured Manuscripts -- Organize your work into Acts, Chapters, and Scenes (with configurable level names). Summaries flow between scenes so the AI always has the right context.
  • Reference Database -- Character sheets, locations, world-building notes, and a style guide live in db/ and are loaded as read-only context automatically.
  • Write / Summarize / Feedback Loop -- Generate prose from scene summaries with /write, get critique with /feedback, revise interactively, then /summarize to keep context current.
  • Three Autonomy Levels -- Direct (single-turn), Compose (plan then edit), and Agent (multi-step YAML plans) work with any edit mode.
  • Prose Linting -- Integrated Vale-based checks for passive voice, cliches, and AI-tells via /lint.
  • Import & Export -- Import from Novelcrafter or Markdown; export to Markdown, DOCX, or EPUB.
  • Full Git Integration -- Every edit is version-controlled with auto-commits and diff review.
  • Multi-Model Support -- Works with Claude, GPT-4, Gemini, local models, or any provider Aider supports.

Full documentation is available at docs.composez.ai.

Getting Started

Prerequisites

  • Python 3.9+
  • Git
  • An API key for your preferred LLM provider (Claude, OpenAI, etc.)

Install

git clone https://github.com/kmewhort/aider.git composez
cd composez
python -m venv venv
source venv/bin/activate    # On Windows: venv\Scripts\activate
pip install -e .

Configure Your API Key

export ANTHROPIC_API_KEY=sk-ant-...   # For Claude (recommended)
# or
export OPENAI_API_KEY=sk-...          # For OpenAI

You can also place these in a .env file in your project directory.

Create a Project and Start Writing

mkdir my-novel && cd my-novel
git init
composez

Import

To import an existing manuscript from markdown or novelcrafter, first create your project, put your export in your project root, and then:

  • Markdown: /import markdown my_markdown.md
  • Novelcrafter: /import novelcrafter novelcrafter_export.zip

Writing

Inside the Composez shell, build your structure and write:

> /new act The Awakening
> /new 1 chapter Morning Light
> /new 1 1 scene The Alarm

> /add 1 1 1
> Elena wakes to the lighthouse alarm at 3 AM. Something large on the radar.

> /write 1 1 1
> /feedback 1 1 1
> /summarize 1 1 1

Optional Dependencies

pip install vale          # Prose linting via /lint
pip install python-docx   # DOCX export
pip install ebooklib      # EPUB export

Documentation

See docs.composez.ai for the full guide, including:

Architecture

Composez is built as a plugin on top of Aider. This repo contains novel-specific coders, prompts, etc. More generic changes to the the origin Aider tool can be found in the composez-aider-fork.

License

AGPL-3.0 license. See LICENSE for furthe details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

composez-0.1.1.tar.gz (104.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

composez-0.1.1-py3-none-any.whl (111.9 kB view details)

Uploaded Python 3

File details

Details for the file composez-0.1.1.tar.gz.

File metadata

  • Download URL: composez-0.1.1.tar.gz
  • Upload date:
  • Size: 104.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for composez-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2b0b4e16784ac1818347fd55f6254ea47d3c1d59effbad312ccaa19babc6a9b3
MD5 e7adcd96732e4546b87d7ae86747d2b4
BLAKE2b-256 4796e82c5c2468d36cdc45ed255c930ff3999ded161b26333f4d5c987f918f61

See more details on using hashes here.

File details

Details for the file composez-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: composez-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 111.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for composez-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 075415acaafaea6e06cc6923c05f32a96022666743081e11a41f9993f522d09d
MD5 6cbe2a2f8f593e875a9a56d96ba96788
BLAKE2b-256 2ceee6be46afc152cff28095d560837dc9bccec30f23d4cc6b6340baab78ad50

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page