Help us shape the future of Go! Take the 2026 Go Developer Survey

coroner

command module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2026 License: MIT Imports: 14 Imported by: 0

README

coroner

[!WARNING] coroner is changing quickly and is not stable, so use it at your own risk for now. I reserve the right to make breaking changes in any release before v1.0.0. See Status.

coroner is a command-line tool for building root-cause investigation timelines. Name a timeline for a ticket, add timestamped events from logs, chat, and people, attach evidence and comments to those events, then view, query, and export the timeline to share what happened and when.

Install

go install github.com/macintacos/coroner@latest

Install coroner covers Homebrew, release archives, shell completions, uninstalling, and why go install is the macOS method for now.

Use with AI agents

coroner ships an Agent Skill that teaches coding agents, such as Claude Code, to record timelines with coroner. In Claude Code:

/plugin marketplace add macintacos/coroner
/plugin install coroner@coroner

Use coroner with AI agents covers copying the skill into any agent's skills directory instead, removing it, and checking it matches your coroner.

Development

mise run setup       # install pinned tools and Go modules, register git hooks
mise run docs:serve  # preview the docs site from docs/
mise run preflight   # lint, test, and build the binary and docs: run before pushing

On every pull request and push to main, CI runs lint and tests, builds the docs, and fails on unformatted or stale generated files. A pull request that changes the CLI's code without changing a hand-written page under docs/ fails unless it has the docs-not-needed label. Pushing a v* tag publishes a release; the releasing guide covers the steps around it.

Status

Pre-0.1 and unstable: any release before 1.0 may change coroner, but never silently. STABILITY.md says what coroner promises to keep working, how a change is announced, and how a command or flag is deprecated before it goes.

License

coroner is licensed under the MIT license; see LICENSE.

Documentation

Overview

Command coroner is the coroner CLI. It builds a cli.App from the process and exits with cli.Run's code.

Directories

Path Synopsis
internal
cli
Package cli holds coroner's cobra commands and Run, which executes them against an App.
Package cli holds coroner's cobra commands and Run, which executes them against an App.
config
Package config resolves where coroner's database and config file live, and the user's defaults.
Package config resolves where coroner's database and config file live, and the user's defaults.
export
Package export is coroner's public machine representation: the canonical JSON object for each timeline, source, event, annotation, attachment and link, the versioned export envelope and JSONL record stream that carry them, and the one encoder and decoder for both.
Package export is coroner's public machine representation: the canonical JSON object for each timeline, source, event, annotation, attachment and link, the versioned export envelope and JSONL record stream that carry them, and the one encoder and decoder for both.
graphics
Package graphics decides whether a terminal can show images inline and builds what it sends one: the Kitty graphics escape sequences, the placeholder cells an image shows through, and the text that stands in for an image where none can show.
Package graphics decides whether a terminal can show images inline and builds what it sends one: the Kitty graphics escape sequences, the placeholder cells an image shows through, and the text that stands in for an image where none can show.
store
Package store is coroner's SQLite store.
Package store is coroner's SQLite store.
timeline
Package timeline is coroner's domain model: timelines, events, annotations, attachments and sources, their validation, the canonical instant format and event ordering.
Package timeline is coroner's domain model: timelines, events, annotations, attachments and sources, their validation, the canonical instant format and event ordering.
timeparse
Package timeparse resolves the time a person or agent typed into an instant, the offset it was read in, its precision and whether it was approximate.
Package timeparse resolves the time a person or agent typed into an instant, the offset it was read in, its precision and whether it was approximate.
timetext
Package timetext is how an event's time reads to a person: the clock to its precision, the day it falls on, its interval's end and the zone it is shown in.
Package timetext is how an event's time reads to a person: the clock to its precision, the day it falls on, its interval's end and the zone it is shown in.
tools/compatfixture command
Command compatfixture writes a new coroner database holding timelines, events, annotations and sources.
Command compatfixture writes a new coroner database holding timelines, events, annotations and sources.
tools/compatfixture/fixture
Package fixture writes the database the store's compatibility spec reads: timelines, events, annotations and sources, written through the store API alone.
Package fixture writes the database the store's compatibility spec reads: timelines, events, annotations and sources, written through the store API alone.
tools/docgen command
Command docgen writes coroner's CLI reference into docs/reference/cli, one Markdown file per command and per help topic.
Command docgen writes coroner's CLI reference into docs/reference/cli, one Markdown file per command and per help topic.
tools/release command
Command release does the deterministic steps of a coroner release for the /release-coroner skill: each subcommand prints exactly one JSON object, {"ok":true,...} on success or {"ok":false,"error":{"code","message"}} on failure, and exits 0 on success, 1 on a failure and 2 on a usage error.
Command release does the deterministic steps of a coroner release for the /release-coroner skill: each subcommand prints exactly one JSON object, {"ok":true,...} on success or {"ok":false,"error":{"code","message"}} on failure, and exits 0 on success, 1 on a failure and 2 on a usage error.
tools/schemagen command
Command schemagen writes the JSON Schema of coroner's export format, generated from the internal/export types, to schema/export-v1.schema.json.
Command schemagen writes the JSON Schema of coroner's export format, generated from the internal/export types, to schema/export-v1.schema.json.
viewer
Package viewer is the full-screen viewer 'coroner timeline view' opens and the picker 'coroner timeline list' opens on a terminal.
Package viewer is the full-screen viewer 'coroner timeline view' opens and the picker 'coroner timeline list' opens on a terminal.
Package skills embeds the agent skills that ship inside coroner.
Package skills embeds the agent skills that ship inside coroner.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL