# Notarius

Notarius is a Go CLI for turning source material into structured artifacts with
configured extraction pipelines. The implemented D&D workflow reads Seriatim
transcript JSON and can produce NPC, location, and item registries; their
source-grounded occurrences; scene descriptions, combat turns, enemy events,
and spell casts.

## Quickstart

Provide an OpenRouter API key through the environment, then run the maintained
minimal example:

~~~
OPENROUTER_API_KEY=your-api-key \
  go run ./cmd/notarius run dnd-session \
    --config examples/dnd-minimal.config.yml \
    --input examples/seriatim-minimal-transcript.json
~~~

The command publishes a JSON output bundle. Its command syntax and exit
behavior are documented in the [CLI reference](docs/cli.md); configuration,
credentials, and module selection are owned by the
[configuration reference](docs/config.md).

For the complete ordered D&D workflow, use
[the complete configuration](examples/dnd-complete.config.yml) with
[its synthetic transcript](examples/dnd-complete-transcript.json). It
demonstrates all implemented D&D lanes and the supporting campaign references.

## Documentation

- [CLI reference](docs/cli.md) — commands, flags, output streams, and exits.
- [Configuration reference](docs/config.md) — configuration files, profiles,
  validation, and module selection.
- [Operations](docs/operations.md) — output, state, recovery, and debug
  handling.
- [Integration contracts](docs/integrations/) — Seriatim input and published
  artifact formats.
- [Subprocess consumer guide](docs/consumers/subprocess.md) — invoke Notarius
  from an orchestrator and consume a published result.
- [Internal overview](docs/internal/overview.md) — implemented component map
  for maintainers.
- [Developer guide](docs/development.md) — contributor orientation and
  validation guidance.
- [Future work](docs/roadmap/future.md) — unimplemented ideas and priorities.
