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.0.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.0-py3-none-any.whl (111.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: composez-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 b6b3ec52e1587c089cabdbc635fee29d62ce4ba829320a9498b1532be4a20761
MD5 33b06b85f10b197b3f20d5ddc1463b86
BLAKE2b-256 2bcb755da179b5fe19a92b48e4b2dd748512f78c75cc6340a2088ec50f883715

See more details on using hashes here.

File details

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

File metadata

  • Download URL: composez-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 111.8 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0954aba71cd30fc1f86c843268fddb8c51b57241e0a7faf123384a75f172dc37
MD5 3ca5ea4c936255f0e9e0b06493177f62
BLAKE2b-256 6715a44fc49d8bc31a3e1189f546d7494a021423a5e40062c967bd42095e2e4e

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