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/summarizeto 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b0b4e16784ac1818347fd55f6254ea47d3c1d59effbad312ccaa19babc6a9b3
|
|
| MD5 |
e7adcd96732e4546b87d7ae86747d2b4
|
|
| BLAKE2b-256 |
4796e82c5c2468d36cdc45ed255c930ff3999ded161b26333f4d5c987f918f61
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
075415acaafaea6e06cc6923c05f32a96022666743081e11a41f9993f522d09d
|
|
| MD5 |
6cbe2a2f8f593e875a9a56d96ba96788
|
|
| BLAKE2b-256 |
2ceee6be46afc152cff28095d560837dc9bccec30f23d4cc6b6340baab78ad50
|