2.8 KiB
2.8 KiB
Development
This is the first-read landing page for people and LLM coding agents working on Notarius. It provides a concise repository orientation and routes each kind of change to its canonical documentation.
Notarius is a Go CLI for configured structured extraction workflows. Start with the README for product context, Architecture for system boundaries, and Internal Overview for the implemented component map.
What To Read
| When working on | Read | Why |
|---|---|---|
| Finding the package or component that owns current behavior | Internal Overview | It is the implemented component inventory and routes to focused internals. |
| Application shape, package boundaries, contracts, dependency direction, runtime guarantees, or safety properties | Architecture and relevant ADRs | Architecture defines the intended system and its invariants; ADRs preserve significant decision rationale. |
| Any documentation addition or revision | Documentation Policy | It defines canonical homes, audiences, current-behavior rules, and maintenance requirements. |
| Pipeline resolution or execution | Pipeline Internals | It documents profiles, references, validation, retries, checkpoints, and runner behavior. |
| Production modules or validators | Module Internals | It documents implemented module contracts, capabilities, assets, and registration. |
| LLM clients, prompts, schemas, profiles, or scheduling | LLM Runtime | It documents the transport boundary and Scriptorium integration. |
| Diagnostics, workspace state, resume, or debug artifacts | Diagnostics Internals, Operations, and Configuration | These separate implementation details, operator behavior, and configuration contracts. |
| CLI or user-visible configuration behavior | CLI Reference and Configuration | These are the canonical user and operator references. |
| External input formats, artifact schemas, or durable output files | Integration Contracts | Integration documents define external and durable data contracts. |
| Proposed or unimplemented behavior | Roadmap | Future work belongs only in roadmap documentation until implemented. |
For an existing subsystem, also inspect its focused tests and the package-local types and contracts before changing behavior.
Validation
Use focused package tests while iterating. Run the repository-wide checks when a change affects shared contracts, application behavior, or maintained documentation examples:
go test ./...
go vet ./...
go build ./cmd/notarius