{"_id":"0rrery","_rev":"3-ab66d9c75bafd9b0f416267775eea6e3","name":"0rrery","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"0rrery","version":"0.1.0","license":"MIT","_id":"0rrery@0.1.0","maintainers":[{"name":"mmmmike","email":"mike@0pon.com"}],"homepage":"https://github.com/0ponn/0rrery#readme","bugs":{"url":"https://github.com/0ponn/0rrery/issues"},"bin":{"0rrery":"index.js"},"dist":{"shasum":"b20141e907ec91eadcf0260095b96d62591fa955","tarball":"https://registry.npmjs.org/0rrery/-/0rrery-0.1.0.tgz","fileCount":7,"integrity":"sha512-bmzY20aTszoFz9HJ8DsLyUkXCnPetsjTmZCDdZkB4SISZNnSGuF80r2HL+1iABTVt81IODgG3YG1bnIulpNIPQ==","signatures":[{"sig":"MEYCIQCofJh0Rs8EVOWf6eM4X7Cbw+T2atgObXvD0Yb0UvDlewIhAMZNaSqogbtE25hfmFi2gNdROaK7q/cAaYMzJd54gsgN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":359385},"engines":{"bun":">=1.1"},"gitHead":"2fddc89382a7566917bfdec9c1123286f988edb5","_npmUser":{"name":"mmmmike","email":"mike@0pon.com"},"repository":{"url":"git+https://github.com/0ponn/0rrery.git","type":"git"},"_npmVersion":"10.9.7","description":"Trace-first, local-first observability for AI agent workflows","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/0rrery_0.1.0_1783289631682_0.9118855103909929","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"0rrery","version":"0.1.1","license":"MIT","_id":"0rrery@0.1.1","maintainers":[{"name":"mmmmike","email":"mike@0pon.com"}],"homepage":"https://github.com/0ponn/0rrery#readme","bugs":{"url":"https://github.com/0ponn/0rrery/issues"},"bin":{"0rrery":"index.js"},"dist":{"shasum":"5abefa7070f3dd59d4ad62502f5512600acf14fb","tarball":"https://registry.npmjs.org/0rrery/-/0rrery-0.1.1.tgz","fileCount":7,"integrity":"sha512-hk5t4TZUoww1ilnx4mQo6numSIoCfM02+sFu1jfUQEjxGGBRwZ2s+CJR8QkKfcawfxrtl7fJdaDTCubSGvXgOg==","signatures":[{"sig":"MEUCIQD7YtIXHri0YslMQ+Nfc68K92OUXSKhgmPgZ6BTD+G22QIgfvkeNYgs36ssprIIrjpUm5kgoVzkIxax7DBxT26LjEo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/0rrery@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":365427},"engines":{"bun":">=1.1"},"gitHead":"c82d44592beb4ad30e1b7f307f65da2718ee13de","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e557a45e-8470-4541-8492-31ab7cda3b30"}},"repository":{"url":"git+https://github.com/0ponn/0rrery.git","type":"git"},"_npmVersion":"11.18.0","description":"Trace-first, local-first observability for AI agent workflows","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/0rrery_0.1.1_1783294724582_0.19326059976060983","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"0rrery","version":"0.1.2","description":"Trace-first, local-first observability for AI agent workflows","license":"MIT","repository":{"type":"git","url":"git+https://github.com/0ponn/0rrery.git"},"bin":{"0rrery":"index.js"},"engines":{"bun":">=1.1"},"gitHead":"ee3a176b4b95ceed9bba9c6bd3aa47f3bd070e40","_id":"0rrery@0.1.2","bugs":{"url":"https://github.com/0ponn/0rrery/issues"},"homepage":"https://github.com/0ponn/0rrery#readme","_nodeVersion":"24.18.0","_npmVersion":"11.18.0","dist":{"integrity":"sha512-sysccU7LsIe7PG5sVnQnvcCFGjwDfqi+yVIEVm90X2l+EHSsnn8CsULDrmC/obJp9hhYuRTltIn7ESCWqVXM4g==","shasum":"f3cb386f7ea484eba311d8e2c1ee5438114024f9","tarball":"https://registry.npmjs.org/0rrery/-/0rrery-0.1.2.tgz","fileCount":7,"unpackedSize":376071,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/0rrery@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIETiLCPD15IeUEw6+2zRJ5NA29OSxHVJoJSUQA3KvHdjAiEA2TsjDY+tZ/ZBvP9x3lGWsdRDKFl7VlpAGZ2LgLJptGA="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e557a45e-8470-4541-8492-31ab7cda3b30"}},"directories":{},"maintainers":[{"name":"mmmmike","email":"mike@0pon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/0rrery_0.1.2_1783626083017_0.8915622080951484"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-05T22:13:51.617Z","modified":"2026-07-09T19:41:23.562Z","0.1.0":"2026-07-05T22:13:51.846Z","0.1.1":"2026-07-05T23:38:44.710Z","0.1.2":"2026-07-09T19:41:23.196Z"},"bugs":{"url":"https://github.com/0ponn/0rrery/issues"},"license":"MIT","homepage":"https://github.com/0ponn/0rrery#readme","repository":{"type":"git","url":"git+https://github.com/0ponn/0rrery.git"},"description":"Trace-first, local-first observability for AI agent workflows","maintainers":[{"name":"mmmmike","email":"mike@0pon.com"}],"readme":"# 0rrery\n\nTrace-first, local-first observability for AI agent workflows. Watch what your Claude Code sessions actually did (every tool call, subagent, LLM call, and permission decision) as live traces in a local dashboard. One process, one SQLite file, no cloud. Ingests Claude Code and OpenAI Codex CLI sessions.\n\n## Quickstart\n\n```\nnpm install -g 0rrery    # or: bun install -g 0rrery\n0rrery init\n```\n\n`init` does three things (each skippable): installs Claude Code hooks (`--no-hooks`), sets up a user service so 0rrery runs persistently (`--no-service`), and imports your existing session history (`--no-import`). Then open **http://localhost:7317**.\n\nRequires [Bun](https://bun.sh) ≥ 1.1 at runtime: the CLI runs on Bun even when installed via npm, so `npm install` succeeds without Bun, but the `0rrery` command exits with an install-Bun message until Bun is on your PATH. Claude Code hooks require the global install (the hook command is `0rrery hook`); `bunx 0rrery serve` works for a look around without installing.\n\n## Commands\n\n| Command | What it does |\n|---|---|\n| `0rrery init` | hooks + agent skill + service + history import, idempotently |\n| `0rrery serve` | run the server + dashboard in the foreground |\n| `0rrery install` | (re)install Claude Code hooks into `~/.claude/settings.json`; replaces stale 0rrery entries |\n| `0rrery import <file.jsonl>` | import one transcript |\n| `0rrery import --all` | import everything under `~/.claude/projects` |\n| `0rrery service install\\|uninstall\\|status` | manage the systemd user unit (Linux) / launchd agent (macOS) |\n\n## What gets written where\n\n- `~/.claude/settings.json` — hook entries (command `0rrery hook`)\n- `~/.0rrery/` — SQLite DB + tailer offsets\n- `~/.config/systemd/user/0rrery.service` or `~/Library/LaunchAgents/com.0pon.0rrery.plist`\n\n## Configuration\n\n| Env var | Default | |\n|---|---|---|\n| `ORRERY_PORT` | `7317` | dashboard/API port |\n| `ORRERY_HOST` | `127.0.0.1` | bind address (localhost-only by design) |\n| `ORRERY_DATA_DIR` | `~/.0rrery` | data directory |\n| `ORRERY_DB` | `<data dir>/0rrery.db` | database path |\n| `ORRERY_URL` | `http://localhost:7317` | where hooks/import post to |\n| `ORRERY_CLAUDE_DIR` | `~/.claude` | Claude Code config/transcripts root |\n\n## Agent skill\n\n`init` installs a skill at `~/.claude/skills/0rrery/` that teaches Claude to answer questions like \"what did I spend this week\", \"what keeps failing in this repo\", or \"what did my last session do\" by querying the local API. Skip with `--no-skill`; remove with `rm -rf ~/.claude/skills/0rrery`.\n\n## Releases\n\nVersions are published by CI via npm Trusted Publishing: bump the version in `scripts/build-pkg.ts`, tag `vX.Y.Z`, push the tag — the workflow tests, stages, and publishes with provenance. No tokens.\n\n## Upgrade\n\n```\nnpm install -g 0rrery@latest    # or: bun install -g 0rrery@latest\n0rrery service uninstall && 0rrery service install   # regenerate if the bin path changed\n```\n\nAfter upgrading (or when developing from the repo), rebuild and force a reinstall so the dashboard picks up the new bundle: `bun run build:pkg`, then `bun install -g 0rrery@latest` for registry installs, or `cd ~ && bun install --force` for `file:`-pinned dev installs — an unchanged `file:` dep may skip re-copying otherwise.\n\n## Uninstall\n\n```\n0rrery service uninstall\nnpm uninstall -g 0rrery    # or: bun remove -g 0rrery\nrm -rf ~/.0rrery\n```\nHook entries: re-run a Claude session or remove entries whose command is `0rrery hook` from `~/.claude/settings.json`.\n\n## Development\n\n```\nbun install\nbun run build        # dashboard\nbun test\nbun packages/cli/src/index.ts serve\nbun run build:pkg    # stage the npm package in dist-pkg/\n```\n\nSpecs live in `docs/superpowers/specs/`.\n\nWant 0rrery to ingest another agent CLI? See [ADAPTERS.md](./ADAPTERS.md).\n","readmeFilename":"README.md"}