keel

module
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2026 License: Apache-2.0

README

keel

Shared Go foundation for process execution and logging, consumed by downstream Go services. One public module, one tag, one version:

go get github.com/david-aggeler/keel

Packages

Package Import path What it is
log github.com/david-aggeler/keel/log Structured logging: JSON + human-readable console handlers sharing one redaction path and severity vocabulary, build identity, metrics, recent-log ring, operational errors.
exec github.com/david-aggeler/keel/exec ProcessStart — the single seam for launching subprocesses with uniform lifecycle observability: START (full untruncated command line + cwd), DURING (streamed output), END (exit code + duration), sensitive-arg redaction.
exec/claude github.com/david-aggeler/keel/exec/claude Adapter for headless claude -p invocations (streaming output).
exec/codex github.com/david-aggeler/keel/exec/codex Adapter for headless codex exec --json invocations: prompt in, streaming JSONL events out, determinate result/error contract, stub-tested.

Layering: logexec ← {exec/claude, exec/codex}. No external dependencies, no internal replace directives.

Status

Extracted 2026-07-07 from openbrain's settled pkg/ modules (logging, procexec, claudecli, codexcli) as a content-faithful move. Until keel's own CI and release loop are trusted, keel is validated through openbrain's gates via a transitional go.work bridge ("build from openbrain" mode); v0.1.0 is the first tagged release.

Development

Dev-process records (requirements, change requests, epics) live in the keel product of the gold OpenBrain instance — not in this repo.

License

Apache-2.0 — see LICENSE.

Directories

Path Synopsis
Package cli provides keel's shared command tree, generated help, and usage-error contract for first-party developer CLIs.
Package cli provides keel's shared command tree, generated help, and usage-error contract for first-party developer CLIs.
cmd
keel-demo command
Command keel-demo is a first-party demonstration binary for visually comparing keel/log and keel/exec renderings across console modes.
Command keel-demo is a first-party demonstration binary for visually comparing keel/log and keel/exec renderings across console modes.
keel-dev command
Command keel-dev is keel's single first-party CLI: the deterministic verification gate (`ci`) and the scripted release loop (`release`).
Command keel-dev is keel's single first-party CLI: the deterministic verification gate (`ci`) and the scripted release loop (`release`).
Package exec is keel's subprocess facility: one place to launch external commands so that every child process is logged uniformly and its output is scrubbed of secrets.
Package exec is keel's subprocess facility: one place to launch external commands so that every child process is logged uniformly and its output is scrubbed of secrets.
claude
Package claude wraps headless `claude -p` invocations: prompt in, final text plus token/cost/turn metrics out.
Package claude wraps headless `claude -p` invocations: prompt in, final text plus token/cost/turn metrics out.
codex
Package codex wraps headless `codex exec --json` invocations: prompt in, a streaming JSONL event log out.
Package codex wraps headless `codex exec --json` invocations: prompt in, a streaming JSONL event log out.
log
Package log is keel's structured-logging foundation: a thin layer over the standard library's log/slog that every keel consumer shares.
Package log is keel's structured-logging foundation: a thin layer over the standard library's log/slog that every keel consumer shares.
otel
Package otel provides keel/log's optional OpenTelemetry log exporter bridge.
Package otel provides keel/log's optional OpenTelemetry log exporter bridge.
Package vscode holds the consumer-neutral core of the VS Code test-runner bridge: the run-event/lock/location/artifact wire types and the WorkspaceProfile port through which a consumer dev tool injects its repo-specific behavior.
Package vscode holds the consumer-neutral core of the VS Code test-runner bridge: the run-event/lock/location/artifact wire types and the WorkspaceProfile port through which a consumer dev tool injects its repo-specific behavior.

Jump to

Keyboard shortcuts

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