ox

module
v0.6.4 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2026 License: MIT

README ΒΆ

SageOx CLI (ox)

SageOx is agentic context infrastructure β€” we call it the hivemind. It makes architectural and product intent persistent and automatically available across humans and agents.

This initial version is intended for AI-native teams β€” teams that build products almost exclusively through prompts.

Sessions, ledgers, and team knowledge ensure your AI coworkers understand your project's patterns, security requirements, and architectural decisions from the start, making agentic engineering multiplayer by default.

Demo

SageOx CLI Demo

Install the CLI

Quick install (macOS / Linux / FreeBSD):

curl -sSL https://raw.githubusercontent.com/sageox/ox/main/scripts/install.sh | bash

From source:

git clone https://github.com/sageox/ox.git && cd ox
make build && make install

Set up ox in your repo

# cd into your code repo (e.g. ~/src/my-project)
cd ~/src/my-project
ox login

# one time setup, done ONCE per repo
ox init
# commit the changes in your repo, e.g. git commit -a -m 'SageOx init'

ox doctor
# ox doctor --fix may be needed in the alpha stage
ox status
# will give you the location of the team context and ledger repos

πŸ‘₯ Go to sageox.ai - Setup team

Go into your newly created team in SageOx and invite your coworkers by copying the invite in the upper right, displayed in Team Overview.

πŸŽ™οΈ Record discussions

Team discussions impacting the product are captured and transcribed in the app and the context is automatically available to Claude.

πŸ€– Capture sessions

ox-session capture the conversation between a developer and Claude so the decisions, patterns, and reasoning become available to the rest of the team.

pwd
/home/me/src/my-project
claude
/ox-session-start
<implement fizz buzz>
/ox-session-stop

πŸš€ Just Ask

Start your AI coworker in your repo and just ask:

  • "What decisions were made in the last coding session on this project?"
  • "Create a plan of work based on the SageOx team discussions from today."
  • "Look at my team's SageOx coding sessions from this week and teach me a really effective prompt that was used."

βš™οΈ How it works

  1. ox init creates a .sageox/ directory with shared team context for your project
  2. ox integrate sets up hooks so your AI coworker automatically loads context at session start
  3. Your AI coworker receives team context, security conventions, and architectural patterns
  4. Coworkers (human and AI) share context through ledgers and team knowledge
SageOx in Practice

Here's a real example from PR #4:

flowchart LR
    subgraph discuss ["πŸŽ™οΈ Ryan and Ajit Discuss"]
        A1["Captured in Team Context"]
    end
    subgraph implement ["πŸ€– Ajit Implements"]
        B1["Captured in Ledger"]
    end
    subgraph review ["πŸš€ Ryan Reviews"]
        C1["Code + Session + Transcript"]
    end
    discuss --> implement --> review

Ryan and Ajit discussed the daemon design in a recorded team discussion. Ajit then implemented it with Claude (session captured in the ledger). When Ryan reviewed the PR, he had the full picture β€” the original discussion audio, the implementation session, and the code.

βš™οΈ Configuration

SageOx looks for configuration in:

  1. CLI flags (--verbose, --quiet, --json)
  2. Environment variables (OX_* prefix)
  3. Config file (.sageox/config.yaml)

Directories ΒΆ

Path Synopsis
cmd
ox command
session_upload.go handles uploading session artifacts to the ledger.
session_upload.go handles uploading session artifacts to the ledger.
ox-adapter-aider command
detect.go handles adapter detection and diagnostics.
detect.go handles adapter detection and diagnostics.
ox-adapter-amp command
detect.go handles adapter detection and diagnostics.
detect.go handles adapter detection and diagnostics.
ox-adapter-claude-code command
ox-adapter-claude-code is the external adapter binary for Claude Code sessions.
ox-adapter-claude-code is the external adapter binary for Claude Code sessions.
ox-adapter-codex command
detect.go β€” detection and diagnostics for codex adapter.
detect.go β€” detection and diagnostics for codex adapter.
ox-adapter-droid command
ox-adapter-droid is the external adapter binary for Factory Droid sessions.
ox-adapter-droid is the external adapter binary for Factory Droid sessions.
ox-adapter-gemini command
detect.go handles adapter detection and diagnostics.
detect.go handles adapter detection and diagnostics.
ox-adapter-opencode command
ox-adapter-opencode is the external adapter binary for OpenCode sessions.
ox-adapter-opencode is the external adapter binary for OpenCode sessions.
ox-adapter-pi command
detect.go handles adapter detection and diagnostics.
detect.go handles adapter detection and diagnostics.
ox-adapter-test command
ox-adapter-test is a test adapter for validating ox's adapter protocol integration without requiring a real coding agent.
ox-adapter-test is a test adapter for validating ox's adapter protocol integration without requiring a real coding agent.
extensions
internal
adapter
Package adapter provides the embedded adapter registry and lookup functions.
Package adapter provides the embedded adapter registry and lookup functions.
api
badge
Package badge handles SageOx README badge detection and suggestion.
Package badge handles SageOx README badge detection and suggestion.
carts
Package carts provides work item tracking backed by DoltDB.
Package carts provides work item tracking backed by DoltDB.
claude
Package claude provides utilities for discovering and parsing team Claude customizations.
Package claude provides utilities for discovering and parsing team Claude customizations.
cli
codedb/comments
Package comments extracts comments from source code using a character-level scanner configured by language-specific syntax families.
Package comments extracts comments from source code using a character-level scanner configured by language-specific syntax families.
codedb/symbols
Package symbols extracts symbol definitions and references from source code using tree-sitter via gotreesitter (pure Go, no CGO required).
Package symbols extracts symbol definitions and references from source code using tree-sitter via gotreesitter (pure Go, no CGO required).
daemon
Package daemon provides background sync operations for the ledger.
Package daemon provides background sync operations for the ledger.
daemon/testutil
Package testutil provides testing utilities for daemon functionality.
Package testutil provides testing utilities for daemon functionality.
dashboard/app
Package app contains the BubbleTea application layer for the dashboard: messages, key bindings, layout geometry, and focus management.
Package app contains the BubbleTea application layer for the dashboard: messages, key bindings, layout geometry, and focus management.
dashboard/domain
Package domain defines the core value types the dashboard operates on.
Package domain defines the core value types the dashboard operates on.
dashboard/effects
Package effects defines the interface for dashboard side effects (daemon IPC, session store queries) and provides the production implementation.
Package effects defines the interface for dashboard side effects (daemon IPC, session store queries) and provides the production implementation.
dashboard/overlays/palette
Package palette implements the ⌘K command palette overlay for the dashboard TUI.
Package palette implements the ⌘K command palette overlay for the dashboard TUI.
dashboard/panes
Package panes defines the Pane interface and shared types used by every panel in the dashboard TUI.
Package panes defines the Pane interface and shared types used by every panel in the dashboard TUI.
dashboard/panes/inspector
Package inspector implements the right-hand detail inspector pane for the dashboard TUI.
Package inspector implements the right-hand detail inspector pane for the dashboard TUI.
dashboard/panes/nav
Package nav implements the left-hand navigation tree pane for the dashboard TUI.
Package nav implements the left-hand navigation tree pane for the dashboard TUI.
dashboard/panes/statusbar
Package statusbar implements the single-line status bar shown at the bottom of the dashboard TUI.
Package statusbar implements the single-line status bar shown at the bottom of the dashboard TUI.
dashboard/panes/timeline
Package timeline implements the center activity feed pane for the dashboard TUI.
Package timeline implements the center activity feed pane for the dashboard TUI.
dashboard/state
Package state defines the application state for the dashboard TUI and the read-only interface panes use to access that state without importing app.
Package state defines the application state for the dashboard TUI and the read-only interface panes use to access that state without importing app.
dashboard/theme
Package theme provides semantic design tokens and lipgloss styles for the dashboard TUI.
Package theme provides semantic design tokens and lipgloss styles for the dashboard TUI.
distill/history/memoryio
Package memoryio is the shared on-disk format helper for memory/daily, memory/weekly, and memory/monthly entries.
Package memoryio is the shared on-disk format helper for memory/daily, memory/weekly, and memory/monthly entries.
distill/history/read
Package read is the read-only distill-history reader for memory/daily, memory/weekly, and memory/monthly under a team-context root.
Package read is the read-only distill-history reader for memory/daily, memory/weekly, and memory/monthly under a team-context root.
doctorapi
Package doctorapi provides types and client for the cloud doctor API.
Package doctorapi provides types and client for the cloud doctor API.
endpoint
Package endpoint provides centralized SageOx endpoint URL management.
Package endpoint provides centralized SageOx endpoint URL management.
flags
Package flags provides a layered feature flag resolver for the ox CLI.
Package flags provides a layered feature flag resolver for the ox CLI.
gitutil
Package gitutil provides shared git safety primitives used by both the daemon (pull/fetch) and CLI (push/commit) code paths.
Package gitutil provides shared git safety primitives used by both the daemon (pull/fetch) and CLI (push/commit) code paths.
identity
Package identity provides unified identity resolution for ox.
Package identity provides unified identity resolution for ox.
ledger
Package ledger provides functionality for managing project ledgers.
Package ledger provides functionality for managing project ledgers.
lfs
Package lfs provides a pure-HTTP client for the Git LFS Batch API.
Package lfs provides a pure-HTTP client for the Git LFS Batch API.
observability
Package observability provides OpenTelemetry tracing for the ox CLI.
Package observability provides OpenTelemetry tracing for the ox CLI.
paths
Package paths provides centralized path resolution for all SageOx directories.
Package paths provides centralized path resolution for all SageOx directories.
proc
Package proc provides process tree utilities for identifying long-lived ancestor processes (e.g., the agent binary that launched a hook subprocess chain).
Package proc provides process tree utilities for identifying long-lived ancestor processes (e.g., the agent binary that launched a hook subprocess chain).
repotools
Package repotools provides VCS abstraction for repository operations.
Package repotools provides VCS abstraction for repository operations.
session
Package session provides shared entry parsing utilities for session recordings.
Package session provides shared entry parsing utilities for session recordings.
session/pipeline
Package pipeline defines types and constants for the session upload pipeline.
Package pipeline defines types and constants for the session upload pipeline.
signing
Package signing provides Ed25519 cryptographic signing and verification for embedded artifacts in the ox CLI.
Package signing provides Ed25519 cryptographic signing and verification for embedded artifacts in the ox CLI.
testguard
Package testguard provides test isolation primitives that prevent ox subprocesses from hitting production endpoints during tests.
Package testguard provides test isolation primitives that prevent ox subprocesses from hitting production endpoints during tests.
tips
internal/tips/content.go
internal/tips/content.go
tui
twinapi
Package twinapi provides a digital twin of the SageOx cloud API for testing.
Package twinapi provides a digital twin of the SageOx cloud API for testing.
ui
uninstall
Package uninstall provides functionality for removing SageOx from repositories.
Package uninstall provides functionality for removing SageOx from repositories.
vtt
whisper/store
Package store provides a SQLite-backed whisper store for the daemon.
Package store provides a SQLite-backed whisper store for the daemon.
pkg
adapterprotocol
Package adapterprotocol defines the wire types for the ox adapter protocol.
Package adapterprotocol defines the wire types for the ox adapter protocol.
adapterruntime
Package adapterruntime is a Go SDK for ox adapter authors.
Package adapterruntime is a Go SDK for ox adapter authors.
discussion
Package discussion defines types for server-generated discussion artifacts.
Package discussion defines types for server-generated discussion artifacts.
faultdaemon
Package faultdaemon provides a generic fault injection daemon for testing IPC.
Package faultdaemon provides a generic fault injection daemon for testing IPC.
ndjson
Package ndjson provides shared NDJSON (newline-delimited JSON) framing utilities for both daemon IPC and adapter serve-mode communication.
Package ndjson provides shared NDJSON (newline-delimited JSON) framing utilities for both daemon IPC and adapter serve-mode communication.
sessionsummary
Package sessionsummary provides shared types, filtering, and prompt logic for AI coworker session summarization.
Package sessionsummary provides shared types, filtering, and prompt logic for AI coworker session summarization.
scripts
sign-manifest command
sign-manifest signs ox artifacts and updates the release-signatures.json file.
sign-manifest signs ox artifacts and updates the release-signatures.json file.

Jump to

Keyboard shortcuts

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