@tomismeta/aperture
v0.4.2
Published
The live attention surface for humans working with agents.
Maintainers
Readme
Aperture
The attention surface for agent work.
@tomismeta/aperture is the live attention surface for humans working with
agents like Claude Code, OpenCode, and opt-in experimental Codex sessions.
It runs as a local CLI/TUI product. Start it with aperture, connect your
agent surfaces, and keep approvals, follow-up questions, failures, and blocked
work in one place.
Start Here
Most people should start with @tomismeta/aperture.
Use this package when you want:
- the local CLI/TUI product
- one shared attention surface for agent work
- built-in Claude Code and OpenCode integration
- opt-in experimental Codex hooks from the local product CLI
- one place to review approvals, follow-ups, failures, and blocked work
If you want to embed Aperture's judgment engine inside your own host or
workflow instead, use @tomismeta/aperture-core.
Install
npm install -g @tomismeta/apertureQuick Start
Launch Aperture:
apertureIf you use Claude Code, Aperture prepares Claude on first launch. Restart
Claude Code after the first run and confirm /hooks loaded.
If you want OpenCode, run:
opencode serve --port 4096
opencode attach http://127.0.0.1:4096Then launch Aperture:
apertureCodex support is experimental and opt-in. A normal aperture launch does
not install Codex hooks or start the Codex hook bridge; use both commands
below when you want Codex live in Aperture:
aperture codex connect --global
aperture --codexCodex hook entries capture the active hook bridge URL when they are
installed. If you customize APERTURE_CODEX_HOOK_HOST,
APERTURE_CODEX_HOOK_PORT, APERTURE_CODEX_HOOK_PATH, or
APERTURE_CODEX_HOOK_URL, run aperture codex connect with the same
environment and restart Codex so it reloads the updated command. Codex
requires user hook trust, so review and trust the entries in /hooks before
expecting them to run.
What You Get
- a local CLI/TUI product, not just an SDK
- one shared attention surface for Claude Code and OpenCode, plus opt-in Codex hooks
now,next, andambientlanes for human attention- approvals, follow-ups, failures, and blocked work in one place
- doctor, config, debug, completion, and uninstall commands
- replayable capture bundles for troubleshooting real sessions
Optional Local Integration
Running Aperture also exposes a local product ingress path for advanced
integrations. If you need to send external work into a running Aperture
instance, see the host-neutral /work contract in
docs/product/host-neutral-ingestion-contract.md.
If you are troubleshooting a real session from the repo, the quickest bridge from a captured bundle into offline review is documented in docs/lab/capture-review-quickstart.md.
The Loop
+-----------+ +-------------+ +-------------+ +-------------+ +-------------+
| Arrive | -> | Translate | -> | Judge | -> | Show | -> | Respond |
| events | | facts | | attention | | surface | | action |
+-----------+ +-------------+ +-------------+ +-------------+ +-------------+
agent hooks explicit facts does this what the operator decision
and server from raw payloads deserve operator carried back
events attention now? actually sees to the toolIf you only remember one thing, remember this:
agent events in -> attention surface out -> human response back
Common Commands
aperture
aperture --capture
aperture doctor
aperture config
aperture debug
aperture completion zsh
aperture --version
aperture help
aperture help opencode
aperture help codex
aperture help uninstallProduct State
Aperture stores product-owned local state under:
~/.apertureThat includes:
- OpenCode connection profiles
- launcher captures
- runtime discovery state
- learning state for the opinionated local runtime
Use aperture config to inspect the active APERTURE.md, learned
MEMORY.md, diagnostics, and suggested policy snippets. Suggestions are
read-only and human-applied; Aperture does not rewrite your preferences for you.
Clean Uninstall
Before uninstalling the npm package, remove Aperture-owned local state and installed hook entries:
aperture uninstall --yesIf you also installed project-local hooks, remove those too:
aperture uninstall --yes --project /path/to/projectThen remove the package itself:
npm uninstall -g @tomismeta/apertureLinks
- npm package:
@tomismeta/aperture - SDK package:
@tomismeta/aperture-core - Release notes: Aperture v0.4.2
- GitHub repo: tomismeta/aperture
- Architecture overview: docs/product/architecture-overview.md
