Skip to main content

A standalone five-phase story development, critique, revision, and verification toolkit.

Project description

Narrative Craft

Narrative Craft is a standalone, local-first toolkit for shaping, drafting, critiquing, revising, verifying, and exporting stories. It provides a Python package, a narrative-craft CLI, an installable agent skill, versioned schemas, and English, Traditional Chinese, and mixed-language examples.

Narrative Craft has no required service, agent framework, repository checkout, or rendering system. External tools integrate only through public artifacts in .narrativecraft/ or the narrative_craft.extensions capability protocols.

Install

uv tool install narrative-craft
# or
pipx install narrative-craft
# or
pip install narrative-craft

Development checkout:

git clone https://github.com/clchinkc/narrative-craft.git
cd narrative-craft
uv sync
uv run narrative-craft doctor

Python 3.10–3.13 is supported.

Quick start

mkdir my-story && cd my-story
narrative-craft init --id my-story --title "My Story" --manuscript en
narrative-craft status
narrative-craft lint --file scene-1.md --lang en
narrative-craft assess setup --state .narrativecraft/state.json --round 1
narrative-craft critique setup --state .narrativecraft/state.json --round 1 --all
narrative-craft loop kickoff
narrative-craft verify --state .narrativecraft/state.json --round 1 --diagnostic CD-1-1
narrative-craft export ao3 --state .narrativecraft/state.json --out export

Use --manuscript zh-Hant for Traditional Chinese or mixed for bilingual prose. Run narrative-craft help for the complete command tree and narrative-craft doctor after installation.

Five phases

  1. SHAPE establishes intent, structure, characters, world rules, themes, and author-owned constraints.
  2. BUILD+LINT drafts scenes and runs deterministic checks.
  3. POLISH improves prose without silently changing author intent.
  4. CRITIQUE creates a neutral review packet, accepts native or external normalized findings, and routes accepted findings.
  5. PUBLISH verifies frozen lines and prepares an export. Publishing itself is always an author action.

The 13-step optimization loop is a meta-cycle over these five phases; it is not a sixth phase. See docs/optimization-loop.md.

Workspace and public artifacts

narrative-craft init creates:

.narrativecraft/
├── state.json
├── events.jsonl
├── review-packet.json
├── review-findings.json
├── gate-packet.json
├── verification.json
├── report.json
├── handoff.md
├── backups/
└── passes/

Validate an artifact or the whole workspace:

narrative-craft validate --schema report --path .narrativecraft/report.json
narrative-craft validate --workspace .

Schemas are in schemas/; valid samples are in examples/contracts/. Unknown integration data belongs under each artifact's extensions object.

Documentation

Repository layout

src/narrative_craft/       Python package and CLI
skills/narrative-craft/    independently installable agent skill
spec/                  optimization and locale specifications
schemas/               public JSON Schema contracts
assets/                runtime rubric and templates
docs/                  user and extension documentation
examples/              English, Traditional Chinese, mixed, and failure examples
tests/                 independent package and workflow tests

Development

uv sync
uv run pytest -q
uv run ruff check .
uv build

See CONTRIBUTING.md and SECURITY.md.

License

MIT. See LICENSE.

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

narrative_craft-0.2.0.tar.gz (485.3 kB view details)

Uploaded Source

Built Distribution

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

narrative_craft-0.2.0-py3-none-any.whl (380.7 kB view details)

Uploaded Python 3

File details

Details for the file narrative_craft-0.2.0.tar.gz.

File metadata

  • Download URL: narrative_craft-0.2.0.tar.gz
  • Upload date:
  • Size: 485.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for narrative_craft-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9aeb91fed3201e3255ae27cb8b89cba1375a627a3f73738e2d9156f78821307c
MD5 b0f7ee21cd64309b2507cbd219ebfde4
BLAKE2b-256 2771a0915b2d2fca861a1550fbb20d6e22b393364d36afe0ccb9cf99472de8cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for narrative_craft-0.2.0.tar.gz:

Publisher: release.yml on clchinkc/narrative-craft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file narrative_craft-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: narrative_craft-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 380.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for narrative_craft-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d73d9575c0e6fc00ab6d8fa546369a14d312b2df61ccc67d37d30cbcc790d91b
MD5 b46e8da9b27713053a92046aec336907
BLAKE2b-256 ce11e397cc0ed863e972d6b3edc9b58806eef0a3ed46688390467f5d645d1a2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for narrative_craft-0.2.0-py3-none-any.whl:

Publisher: release.yml on clchinkc/narrative-craft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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