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

oh-my-agentic-coder

module
v0.10.2 Latest Latest
Warning

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

Go to latest
Published: Oct 13, 2026 License: Apache-2.0

README

oh-my-agentic-coder (omac)

CI Release License Go

Platforms Harnesses

What it is

omac (oh-my-agentic-coder) is a Go CLI that runs an agentic coding harness (OpenCode, Claude Code, Codex, Copilot, Pi, CodeWhale) inside an OS sandbox. It ensures that the harness can use skills and secrets without having access to them directly, while ensuring file system and network isolation.

The confinement uses OS primitives — Seatbelt on macOS, bubblewrap + Landlock on Linux.

omac is not an LLM, a marketplace, or an agent. It sandboxes, bridges, and audits; skills and onboarding come from elsewhere.

TNG-Employees

Please use the internal omac-tng-installer repo to install and set up omac for use with internally hosted models.

Supported OS/harnesses

Harness OS
OpenCode CLI and Desktop Linux Ubuntu 24.04, macOS 15
Claude Code Linux Ubuntu 24.04, macOS 15
Copilot Linux Ubuntu 24.04, macOS 15
Codex (experimental) Linux Ubuntu 24.04
Pi (experimental) Linux Ubuntu 24.04, macOS 15
CodeWhale (experimental) Linux Ubuntu 24.04, macOS 15

Windows is supported only via WSL2 (Ubuntu 24.04).

Documentation

The full documentation is published at tng.github.io/oh-my-agentic-coder. To get started, read the quick start. The same pages are also readable as plain markdown in the docs directory.

Reporting bugs

Found a bug? Please open a GitHub issue at https://github.com/TNG/oh-my-agentic-coder/issues. See Reporting a bug for the full guide.

Contributing

Information on the development workflow, the testing framework, etc., can be found at contributing.

License

Copyright 2026 TNG Technology Consulting GmbH

Licensed under the Apache License, Version 2.0. See LICENSE and NOTICE for details. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Directories

Path Synopsis
cmd
netprompt-demo command
Command netprompt-demo pops up the real omac network-access dialog so its appearance can be inspected on the current platform (zenity/kdialog on Linux, osascript on macOS).
Command netprompt-demo pops up the real omac network-access dialog so its appearance can be inspected on the current platform (zenity/kdialog on Linux, osascript on macOS).
omac command
Command omac is the oh-my-agentic-coder CLI.
Command omac is the oh-my-agentic-coder CLI.
internal
audit
Package audit implements omac's security audit trail: a single, append-only, structured (JSON Lines) record of every security-relevant action omac performs — commands it spawns, network decisions it makes, facade requests it proxies, control-plane mutations, secret injection, and session lifecycle.
Package audit implements omac's security audit trail: a single, append-only, structured (JSON Lines) record of every security-relevant action omac performs — commands it spawns, network decisions it makes, facade requests it proxies, control-plane mutations, secret injection, and session lifecycle.
builtinskills
Package builtinskills ships skill bundles embedded in the omac binary and materializes them onto disk.
Package builtinskills ships skill bundles embedded in the omac binary and materializes them onto disk.
ciguard
Package ciguard holds security regression tests for omac's own CI workflows and release scripts (build tag "vuln").
Package ciguard holds security regression tests for omac's own CI workflows and release scripts (build tag "vuln").
cli
Package cli dispatches the omac command-line interface.
Package cli dispatches the omac command-line interface.
config
Package config defines the on-disk configuration formats used by omac: skill omac.yaml (with the sidecar block), the per-workdir sidecar.json registry, and the oh-my-agentic-coder.yaml launcher config.
Package config defines the on-disk configuration formats used by omac: skill omac.yaml (with the sidecar block), the per-workdir sidecar.json registry, and the oh-my-agentic-coder.yaml launcher config.
diagnose
Package diagnose contains the pure analysis behind `omac diagnose`: it correlates the network decisions the sandbox actually made (observed at runtime) against the effective network policy, to surface blocked hosts and non-obvious misconfigurations that are otherwise invisible to the user.
Package diagnose contains the pure analysis behind `omac diagnose`: it correlates the network decisions the sandbox actually made (observed at runtime) against the effective network policy, to surface blocked hosts and non-obvious misconfigurations that are otherwise invisible to the user.
e2e
facade
Package facade implements the Unix-socket HTTP reverse proxy.
Package facade implements the Unix-socket HTTP reverse proxy.
intent
Package intent holds an in-memory, TTL-evicted registry of agent-declared intents: why the agent wants to reach a given host or path.
Package intent holds an in-memory, TTL-evicted registry of agent-declared intents: why the agent wants to reach a given host or path.
keychain
Package keychain is a thin wrapper over github.com/zalando/go-keyring.
Package keychain is a thin wrapper over github.com/zalando/go-keyring.
manifest
Package manifest renders the skills manifest text injected into an agent's context at SessionStart.
Package manifest renders the skills manifest text injected into an agent's context at SessionStart.
netprompt
Package netprompt implements the interactive network prompt for the built-in sandbox and the learned-policy persistence behind the "permanently" choices.
Package netprompt implements the interactive network prompt for the built-in sandbox and the learned-policy persistence behind the "permanently" choices.
netprompt/hostmap
Package hostmap resolves an egress hostname to the harness subsystem that dials it, so the network prompt can show a human-readable "likely cause".
Package hostmap resolves an egress hostname to the harness subsystem that dials it, so the network prompt can show a human-readable "likely cause".
netprompt/origin
Package origin attributes a proxied connection to the process that opened it, for display in the network prompt.
Package origin attributes a proxied connection to the process that opened it, for display in the network prompt.
netproxy
Package netproxy implements omac's network guardrail for the built-in sandbox: a token-authenticated HTTP CONNECT/forward proxy that runs unsandboxed in the supervisor and filters by hostname.
Package netproxy implements omac's network guardrail for the built-in sandbox: a token-authenticated HTTP CONNECT/forward proxy that runs unsandboxed in the supervisor and filters by hostname.
opencodestate
Package opencodestate reads project records from the local OpenCode installation so `omac serve --for-opencode-desktop` can grant every known project worktree to the sandbox up front.
Package opencodestate reads project records from the local OpenCode installation so `omac serve --for-opencode-desktop` can grant every known project worktree to the sandbox up front.
osinfo
Package osinfo provides OS detection for selecting install scripts.
Package osinfo provides OS detection for selecting install scripts.
plugin
Package plugin installs and detects omac's client-side harness bridge assets — currently the OpenCode Desktop multi-directory plugin (omac-multidir.ts), the OpenCode-side counterpart to `omac serve`.
Package plugin installs and detects omac's client-side harness bridge assets — currently the OpenCode Desktop multi-directory plugin (omac-multidir.ts), the OpenCode-side counterpart to `omac serve`.
prefs
Package prefs manages user-global, non-secret omac preferences — the small set of "remember my choice" flags that are not tied to any single skill or workdir.
Package prefs manages user-global, non-secret omac preferences — the small set of "remember my choice" flags that are not tied to any single skill or workdir.
profileaudit
Package profileaudit statically lints a resolved sandbox profile against known secret locations and network attack vectors, producing a list of findings ranked by severity.
Package profileaudit statically lints a resolved sandbox profile against known secret locations and network attack vectors, producing a list of findings ranked by severity.
registry
Package registry manages the per-workdir .opencode/sidecar.json file.
Package registry manages the per-workdir .opencode/sidecar.json file.
registryconf
Package registryconf derives a credential-free projection of a package manager's user config file, so a sandboxed toolchain can resolve scope→registry mappings without the host file ever being readable.
Package registryconf derives a credential-free projection of a package manager's user config file, so a sandboxed toolchain can resolve scope→registry mappings without the host file ever being readable.
sandbox
Package sandbox expands the argv template in a SandboxProfile into a concrete argv ready for exec.
Package sandbox expands the argv template in a SandboxProfile into a concrete argv ready for exec.
sandboxbrief
Package sandboxbrief holds the single-source briefing text that omac injects into a launched harness so the agent knows it runs inside the omac sandbox.
Package sandboxbrief holds the single-source briefing text that omac injects into a launched harness so the agent knows it runs inside the omac sandbox.
sandboxdeny
Package sandboxdeny holds the configurable text returned to an agent when it touches a sandbox-protected path.
Package sandboxdeny holds the configurable text returned to an agent when it touches a sandbox-protected path.
sandboxprofile
Package sandboxprofile defines the configuration format for omac's built-in sandbox (the nono replacement) and the logic that turns a profile file plus CLI flag overrides into a fully resolved grant set.
Package sandboxprofile defines the configuration format for omac's built-in sandbox (the nono replacement) and the logic that turns a profile file plus CLI flag overrides into a fully resolved grant set.
sandboxrun
Package sandboxrun implements `omac sandbox run`: it resolves a sandboxprofile into a concrete grant set, starts the filtering proxy, and launches the inner command under the platform kernel sandbox (Seatbelt via sandbox-exec on macOS, bubblewrap + Landlock on Linux).
Package sandboxrun implements `omac sandbox run`: it resolves a sandboxprofile into a concrete grant set, starts the filtering proxy, and launches the inner command under the platform kernel sandbox (Seatbelt via sandbox-exec on macOS, bubblewrap + Landlock on Linux).
secrets
Package secrets provides a Secret type with zeroize-on-free semantics and helpers for safely collecting secret input from users.
Package secrets provides a Secret type with zeroize-on-free semantics and helpers for safely collecting secret input from users.
sectest
Package sectest holds the environment guards shared by omac's security tests.
Package sectest holds the environment guards shared by omac's security tests.
session
Package session enumerates an inner harness's prior sessions for the current workdir, powering `omac resume`.
Package session enumerates an inner harness's prior sessions for the current workdir, powering `omac resume`.
skillconfig
Package skillconfig manages the per-workdir .opencode/skill-config.yaml file.
Package skillconfig manages the per-workdir .opencode/skill-config.yaml file.
skillsource
Package skillsource resolves skill source directories.
Package skillsource resolves skill source directories.
skillstate
Package skillstate answers one question — "is this skill ready to mount?" — and answers it exactly once for the whole codebase.
Package skillstate answers one question — "is this skill ready to mount?" — and answers it exactly once for the whole codebase.
skilltrust
Package skilltrust records host-only approvals that authorize omac to spawn a skill sidecar.
Package skilltrust records host-only approvals that authorize omac to spawn a skill sidecar.
supervisor
Package supervisor spawns and health-checks sidecar processes.
Package supervisor spawns and health-checks sidecar processes.
updater
Package updater implements `omac update`: checking GitHub for the latest release, verifying its checksum, and installing it via the mechanism that matches how this host actually runs omac (a Linux package manager, brew, or a self-replace of the running binary).
Package updater implements `omac update`: checking GitHub for the latest release, verifying its checksum, and installing it via the mechanism that matches how this host actually runs omac (a Linux package manager, brew, or a self-replace of the running binary).

Jump to

Keyboard shortcuts

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