Skip to main content

Spec-driven authoring toolkit for novels, essays, and memoirs.

Project description

Bookwright — toolkit de autoría spec-driven para novelas, ensayos y memorias

CI Versión 0.2.0 Licencia: Apache-2.0 Python 3.11+ Cobertura ≥80% Lint con Ruff Tipado con mypy --strict Hecho con Spec Kit

Toolkit de autoría spec-driven para novelas, ensayos y memorias.
Read in English

Bookwright aplica el patrón Spec-Driven Development a la escritura de formato largo: destilas tus ideas en un conjunto reducido de documentos canónicos (constitución, biblia, outline, escenas) y dejas que un agente IA escriba a partir de ellos, no de un chat libre. Tu libro vive en texto plano, versionado en git, completamente auditable, y sobrevive al toolkit.

Estado: v0.2.0

Dos hitos están en main. v0.1.0 (el toolkit base, iteraciones 1–11): scaffolding del proyecto (bookwright init), el modelo de dominio GOLEM, el indexer y los comandos bookwright graph, las skills de autoría materializadas como Agent Skills, y el sistema de validación de continuidad. v0.2.0 / M4 (investigación y verificación, iteraciones 12–18): el modelo de procedencia Source / Finding / Anchor, las skills /bookwright-research y /bookwright-verify, el validador factual_anchor y la envoltura --json unificada. La documentación de usuario completa vive en el sitio de documentación.

El loop del escritor

  1. Idea libremente — conversa con tu agente o tu libreta y vuelca un brief a Markdown.

  2. Scaffolding del proyectobookwright init mi-novela --integration claude genera la estructura de directorios, los templates de los documentos canónicos e instala los Agent Skills de Bookwright en .claude/skills/.

  3. Destila, en orden — abre el proyecto con Claude Code (o cualquier agente compatible con agentskills.io) y ejecuta:

    /bookwright-constitution   ← reglas no negociables de la obra
    /bookwright-bible          ← personajes, settings, lore
    /bookwright-outline        ← estructura de actos/capítulos
    /bookwright-scenes         ← desglose beat por beat
    /bookwright-draft          ← generación de prosa por escena
    

    Cada comando toma input no estructurado y produce un artefacto Markdown / Turtle versionable. Iteras los documentos, no el borrador.

  4. Construye y validabookwright graph build deriva el grafo narrativo GOLEM y bookwright validate corre los chequeos de continuidad (continuidad temporal, presencia de personajes, focalización, continuidad de settings).

  5. Edita en tu editor favorito — Bookwright no es un editor de texto. Abre los .md en Obsidian, Scrivener, VS Code o vim.

Instalación

uv build
pipx install ./dist/bookwright_cli-*.whl   # o: uv tool install ./dist/*.whl
bookwright version

Para desarrollar sobre el toolkit, sincroniza el entorno del proyecto:

uv sync
uv run bookwright --help

Quickstart en 5 minutos

bookwright init mi-novela --integration claude   # scaffolding + Agent Skills
cd mi-novela

Abre el proyecto en tu agente y destila tu idea con las skills (no editas los documentos a mano; las skills leen tu brief y te preguntan lo que falte):

/bookwright-constitution lee idea.md y destila la constitución
/bookwright-bible        ← personajes, settings, cronología
/bookwright-outline      ← arcos y estructura
/bookwright-scenes       ← desglose en escenas
/bookwright-draft        ← redacta la prosa de una escena

Para obra basada en hechos (p. ej. novela histórica), el loop opcional de investigación documenta fuentes, hallazgos y anclas, y contrasta la prosa contra ellas:

/bookwright-research <tema>   ← documenta hallazgos con procedencia completa
/bookwright-verify            ← contrasta la prosa redactada con las anclas

Y construye/valida desde el CLI:

bookwright graph build                            # → bible/graph.ttl
bookwright graph query "SELECT ?c WHERE { ?c a golem:G1_Character }" --json
bookwright validate                               # exit 0 si no hay errores

¿Quieres cambiar de integración (p. ej. de claude a generic)?

bookwright integration use generic                # re-materializa en .agents/skills/

El recorrido completo está en docs/getting-started.md.

Principios de diseño

  • El texto plano es la fuente de verdad. Manuscrito, biblia, constitución y grafo narrativo son Markdown, TOML o Turtle (RDF). Auditables por humanos, diffables en git, portables.
  • Agnóstico de agente. La capa de comandos se materializa como Agent Skills portables. Bookwright entrega dos integraciones (claude, generic); agentes como Codex, Cursor o Copilot consumen la salida generic directamente, sin integración nativa dedicada.
  • Batch, no conversacional. Tú consolidas el input; el comando lo destila. El agente no es un co-escritor frase a frase.
  • GOLEM por debajo. El grafo narrativo usa la ontología GOLEM publicada (personajes, eventos, settings, relaciones, estructura narrativa, procedencia de inferencias) serializada en Turtle.

Roadmap y fuera de scope

Hecho: v0.2 / M4 — investigación y verificación (modelo de procedencia, skills research/verify, validador factual_anchor). Planificado: v0.3 — búsqueda vectorial (ChromaDB sobre rdflib, desacoplada); v1.0 — export a EPUB / PDF / impresión vía pandoc.

Cancelado (decisión del owner), no lo pidas: presets de género / paquetes de plantilla (la resolución es de 2 capas, overrides → core); el motor Grafeo / GrafeoIndexer; integraciones más allá de claude y generic; el sistema de extensiones. Agentes como Codex, Cursor o Copilot ya se soportan hoy vía la integración generic con --integration-options="--skills-dir …", sin integración nativa dedicada.

Documentos del proyecto

Licencia

Apache-2.0. Consulta NOTICE para la atribución.

Esta licencia cubre solo el software bookwright. El contenido que crees con la herramienta —bibles, escaletas, manuscritos y los grafos de conocimiento derivados— sigue siendo enteramente tuyo.

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

bookwright_cli-0.2.0.tar.gz (184.3 kB view details)

Uploaded Source

Built Distribution

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

bookwright_cli-0.2.0-py3-none-any.whl (254.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bookwright_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 184.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.12

File hashes

Hashes for bookwright_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e17ef94c76e4c767a7b622047959ae63fda6655978150720db0079240ea3db3d
MD5 391bb54bb9b56c7feca6005f5cf55bcd
BLAKE2b-256 295df2067be6631dee18bb14ec97894e8750f3bfaa07d43239667a88ce7b8166

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bookwright_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2bcbc3d1b7e71352463272793a81b6bea9aba87098cc53f8e4cd2f86d2cfe586
MD5 50189a95588217ce497fc2c70683c804
BLAKE2b-256 f521d407a17944bb4447a614b07e9c2a326b3dd505bf8e409a8b5b11c622ae43

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