Configuration
Nib projects are configured through plaintext files and per-project git config entries. Everything is human-readable and version-control friendly.
Git config
Nib stores per-project settings in git config. These are set automatically during nib init but can be changed at any time.
Agent selection
| Key | Env override | Default | Description |
|---|---|---|---|
nib.agent | NIB_AGENT | claude | Active agent backend. Maps to nib-agent-<name> on PATH. |
# Use the local model backend for this project
$ git config nib.agent localLocal agent settings
When using nib-agent-local, these settings configure the OpenAI-compatible endpoint:
| Key | Env override | Default | Description |
|---|---|---|---|
nib.agents.local.endpoint | NIB_LOCAL_ENDPOINT | http://localhost:1234/v1 | API endpoint URL |
nib.agents.local.model | NIB_LOCAL_MODEL | local-model | Model name to request |
nib.agents.local.no-think | NIB_LOCAL_NO_THINK | true | Disable extended thinking |
# Point at a remote inference server
$ git config nib.agents.local.endpoint http://my-server:9100/v1
$ git config nib.agents.local.model gemma-3-glitter-12bEnvironment variables take priority over git config. See the Agent Protocol for details on building custom backends.
book.yaml
The book.yaml file is the heart of your project. It defines front matter metadata and the scene order for your manuscript.
title: "My Novel"
author: "Your Name"
language: en
chapters:
- name: "The Beginning"
scenes:
- opening-scene
- the-discovery
- name: "Rising Action"
scenes:
- confrontation
- the-chaseFront matter fields
| Field | Description |
|---|---|
title | The title of your novel |
author | Author name, used in manuscript builds |
language | Language code (e.g. en) |
chapters | Ordered list of chapters, each containing an ordered list of scene slugs |
When you use commands like nib chapter add or nib scene add, nib updates book.yaml automatically. You can also edit it by hand.
STYLE.md
The STYLE.md file captures your voice and prose style preferences. It’s used by the agent backend when running critique and copy-editing commands to ensure feedback aligns with your writing style.
Write it in plain Markdown. Describe things like:
- Point of view and tense
- Tone and register
- Dialogue style
- Vocabulary preferences or constraints
- Any stylistic rules you follow
Character profiles
Character profiles live in the characters/ directory as YAML files. Create them with nib profile add:
$ nib pr ad elenaThis creates characters/elena.yaml. A profile includes:
name: Elena Vasquez
age: 34
role: protagonist
description: >
A marine biologist who left academia after a scandal
involving fabricated data by her research partner.
personality:
- determined
- guarded
- dry humor
background: >
Grew up in coastal Ecuador. PhD from MIT.
Now runs a small conservation nonprofit.Character profiles are used by:
nib profile talk— for in-character conversations grounded in the profilenib continuity index— to identify and track characters across scenesnib manuscript critique— to check character consistency
Continuity database
The storydb/ directory holds CSV files with indexed continuity data: facts, characters, locations, and timeline events. These files are managed by nib continuity index and should not be edited by hand.
Appendices
The appendices/ directory is for supporting documents — research notes, worldbuilding details, reference material. These are not included in manuscript builds but are available to the agent backend during critique and continuity operations.