Skip to main content

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.

Metadata

Release files for composez 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for composez 0.1.1
File Size Uploaded
composez-0.1.1.tar.gz 104.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for composez 0.1.1
File Interpreter ABI Platform
composez-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 216.6 kB

Release files / composez-0.1.1.tar.gz

Download URL composez-0.1.1.tar.gz
Size 104.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2b0b4e16784ac1818347fd55f6254ea47d3c1d59effbad312ccaa19babc6a9b3
BLAKE2b-256 checksum
How to use checksums
4796e82c5c2468d36cdc45ed255c930ff3999ded161b26333f4d5c987f918f61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.4

Release files / composez-0.1.1-py3-none-any.whl

Download URL composez-0.1.1-py3-none-any.whl
Size 111.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
075415acaafaea6e06cc6923c05f32a96022666743081e11a41f9993f522d09d
BLAKE2b-256 checksum
How to use checksums
2ceee6be46afc152cff28095d560837dc9bccec30f23d4cc6b6340baab78ad50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.4

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page