Skip to content

Repository files navigation

OmniDevX

Go CI Go Lint Go SAST Docs Docs Visualization License

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.

Collectors

Source Package Location
Claude Code providers/claudecode omnidevx-core (thin, stdlib)
Codex CLI omni-openai/omnidevx omni-openai (thick, SQLite)
Kiro CLI omni-aws/omnidevx omni-aws (thick, SQLite)
Git providers/git omnidevx-core (thin, stdlib via gogit)
GitHub omni-github/omnidevx omni-github (thick, REST + GraphQL)

NewDefault composes the local Claude Code, Codex, and Kiro collectors; the Git and GitHub collectors need explicit configuration (repo roots, tokens) so callers add them themselves — see Usage below.

CLI

The omnidevx CLI collects events from local AI agent session history and writes them to the canonical OmniDevX store.

# Build
go build -o omnidevx ./cmd/omnidevx

# Collect events for a date range
./omnidevx collect --person person:jane --since 2026-07-01 --until 2026-07-31

# Dry run to preview what would be collected
./omnidevx collect --person person:jane --since 2026-07-28 --until 2026-07-29 --dry-run

Events are written to ~/.plexusone/omnidevx/data/events/ and deduplicated by ID, so re-running the same period is safe.

Library Usage

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)

Or compose explicitly, adding the Git and GitHub collectors:

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)

Privacy

Events carry metadata only — never prompt text, model responses, or file contents. See omnidevx-core for the canonical contract.

Documentation

Full documentation at plexusone.github.io/omnidevx

Related Projects

License

MIT

About

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.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages