OmniDevX¶
Batteries-included distribution of OmniDevX — the PlexusOne
developer-experience telemetry domain. One import path composes the
canonical event model from
omnidevx-core with every
available collector.
Not OmniDXI
omnidxi is Digital Experience
Intelligence — product-analytics platforms (Amplitude, Mixpanel, Heap,
Pendo). OmniDevX observes how developers and AI agents build software.
Overview¶
Composition is by constructor injection through an Engine — there is no
global registry. Every canonical type, event/mode/severity constant, and
provider constructor from omnidevx-core and the thick provider modules is
re-exported under this one import path.
The default bundle is intended for local AI-assistant usage collection. Claude Code, Codex CLI, and Kiro CLI are constructed with their default local-store locations. Git and GitHub are still explicit because they need a repository scan scope or API credentials.
Quick Start¶
import "github.com/plexusone/omnidevx"
engine, err := omnidevx.NewDefault() // local Claude Code + Codex + Kiro stores
if err != nil {
// handle
}
results, err := engine.Collect(ctx, omnidevx.CollectRequest{
Period: omnidevx.Period{Start: weekStart, End: weekEnd},
Subject: omnidevx.SubjectRef{PersonID: "person:jane"},
})
// One collector failing does not discard the others' results: inspect both.
events := omnidevx.Events(results)
claude, _ := omnidevx.NewClaudeCodeCollector(omnidevx.ClaudeCodeOptions{})
codex, _ := omnidevx.NewCodexCollector(omnidevx.CodexConfig{})
kiro, _ := omnidevx.NewKiroCollector(omnidevx.KiroConfig{})
git, _ := omnidevx.NewGitCollector(omnidevx.GitOptions{Roots: []string{"~/go/src"}})
gh, _ := omnidevx.NewGitHubCollector(omnidevx.GitHubConfig{
Token: os.Getenv("GITHUB_TOKEN"),
Username: "octocat",
})
engine := omnidevx.New(claude, codex, kiro, git, gh)
See Usage Guide for composition patterns and Collectors for the full list and what each one needs.
Session Recovery¶
The omnidevx CLI also finds, describes, and resumes your Claude Code and
Codex CLI sessions:
omnidevx sessions # newest first, with state and title
omnidevx sessions resume <id> # runs the agent's own resume command
See the Sessions guide, and Sessions design for how it is built.
Privacy¶
Events carry metadata only — never prompt text, model responses, or file contents. See omnidevx-core for the canonical contract.
The session commands are the one place that reads titles and prompts, so you can recognize a session. That text is read locally on demand, shown in your terminal, and never written to the event store. See the Sessions guide.
Installation¶
Requirements¶
- Go 1.26 or later
Related Projects¶
- omnidevx-core - Canonical event model and contracts
- omni-github - GitHub DevX collector
- omni-openai - Codex CLI collector
- omni-aws - Kiro CLI collector
- omnidxi - Digital Experience Intelligence (not OmniDevX)