OpenWriterControle/novel/README.md
cclohmar 3ce2d638a6
Some checks are pending
Create Release / Check if Version Bump PR Merged (push) Waiting to run
Create Release / Create Git Tag and GitHub Release (push) Blocked by required conditions
Post-Merge Version Bump / Check if Version Bump Needed (push) Waiting to run
Post-Merge Version Bump / Create Version Bump PR (push) Blocked by required conditions
feat(novel): add the OpenNovelWriter agent pack (10 agents, commands, schema, templates)
The novel-writing agent pack existed only as three byte-identical copies inside
Obsidian vaults (Die-Kessler-Zwillinge, Scruffy-der-Weltenhund, OpenNovelWriter),
with no version control anywhere. It is now versioned here as the single source
of truth.

Contents (novel/):
- .opencode/agent/  OpenNovelAgent (primary) + LineEditor, Proofreader,
  StyleAnalyst, ContinuityEditor, StoryReviewer, Translator, Importer,
  Illustrator, CopyrightWatchdog
- .opencode/command/  import.md, init.md
- .opencode/languages.yaml, .opencode/opencode.json (pristine: default_agent)
- docs/SCHEMA.md  canonical schema — the newer OpenNovelWriter revision, which
  supersedes the stale copy in the Scruffy vault (adds workspace = book,
  images/prompts + images/generated, parallel books, rewrites section 7)
- templates/  AGENTS.md placeholder + DATA/{wiki,timeline,glossary}.yaml.md, style.md
- sync-to-vault.sh  dry-run by default; --apply backs up what it replaces and
  never touches DATA/, AGENTS.md, chapters or a vault's own opencode.json
- PACK-NOTES.md  per-file md5 provenance and the verified cross-vault comparison

Verified before committing: all 10 agents, both commands, languages.yaml and
start.sh are md5-identical across the three vaults.
2026-10-16 23:18:30 +01:00

109 lines
3.7 KiB
Markdown

<div align="center">
# OpenNovelWriter
### Your AI co-author for novels — not your developer.
**You tell the story. OpenNovelWriter writes the chapters in your voice.**
✍️ **Co-author, not a generator** — chapters are built around your direction
🧠 **World memory** — world wiki, timeline, and glossary as YAML
🎭 **Your voice** — learns your writing style from sample chapters
🌍 **Multilingual** — write in one language, publish in many
📝 **Obsidian-native** — everything is Markdown, editable in your editor
</div>
---
## What is OpenNovelWriter?
A **co-author agent** for [OpenCode](https://opencode.ai) that writes *around* the
author rather than *for* them. You say *"next chapter: Elena finds the letter"* —
OpenNovelWriter loads your world wiki, your writing style, and the story so far,
and writes the chapter in your voice.
Unlike a code agent, OpenNovelWriter doesn't generate files from specs — it
generates **prose from a living world**.
## Quick Start
```bash
# 1. Create and name a vault/workspace for your book (in Obsidian), then open
# that folder in opencode.
# 2. Initialize it (interactive wizard) — runs INSIDE the folder
opencode --agent OpenNovelAgent
> /init
# 3. Build the world, or start writing
> "Let's build the world wiki with the main characters"
> "Write Chapter 001: [what should happen]"
# 4. Translate
> "Translate chapters 1-5 into English"
```
## The Core Concept: workspace = book
**One book = one workspace = one folder.** You create and name a vault for each
book (e.g. "Die Kessler Zwillinge", "Scruffy"), open it in opencode, and run
`/init` there. The folder's name is the project name.
Writing several books in parallel? Create one workspace per book and switch
between them. The agent is the same in every workspace — what makes each one
*that* book is its own `AGENTS.md` + `DATA/` (world wiki, timeline, glossary, style).
## The Core Loop
```
Author: "next chapter — this should happen"
↓
Agent loads: AGENTS.md + world wiki + timeline + writing style
↓
Agent proposes a chapter draft → author approves
↓
Agent writes the chapter → author edits in Obsidian
↓
Agent harvests new facts → updates wiki & timeline
```
## Project Structure
```
My Series/
├── 01/ # book 1
│ ├── DE/ # Kapitel 001.md, Kapitel 002.md, …
│ └── EN/ # Chapter 001.md, …
├── DATA/ # world wiki, timeline, glossary, writing style
├── AGENTS.md # project rules
└── README.md
```
See [`docs/SCHEMA.md`](docs/SCHEMA.md) for the complete conventions.
## What's Included
- **`OpenNovelAgent`** — the primary co-author
- **`/init`** — interactive project wizard (language first, then everything in that language)
- **`DATA/` schemas** — world wiki, timeline, glossary (YAML in Markdown)
- **`languages.yaml`** — extensible language registry
## For the Community
OpenNovelWriter is designed to be multilingual. The `/init` wizard's first
question is the writing language; all further questions and content follow that
language. New languages are added as a single entry in `.opencode/languages.yaml`.
## Attribution
OpenNovelWriter builds on the exceptional work of **Darren Hinde** and the
[OpenAgentsControl](https://github.com/darrenhinde/OpenAgentsControl) project.
Without that foundation — the agent concept, the context system, and the
plan-and-approve workflow — this project would not exist. Thank you, Darren.
## License
MIT — Copyright (c) 2025 Darren Hinde (OpenAgentsControl) and
Copyright (c) 2026 OpenNovelWriter Contributors.
Darren Hinde's original work remains under the MIT license.