Skip to content

omnidevx v0.1.0 Release Notes

Release Date: 2026-07-19

Overview

Initial release of omnidevx: the batteries-included distribution of the OmniDevX developer-experience telemetry domain. One import path composes the canonical event model from omnidevx-core with every available collector, so consumers depend on a single package instead of wiring omnidevx-core, omni-github, and omni-openai together themselves.

Not to be confused with omnidxi (Digital Experience Intelligence / product analytics): OmniDevX observes how developers and AI agents build software.

Highlights

  • Re-exported canonical typesEvent, CollectRequest, CollectionResult, Period, Provenance, Source, SubjectRef, event-type and collection-mode constants, all under omnidevx so callers need one import path.
  • Engine — runs an arbitrary set of Collectors over one request. One collector failing does not stop the others: successful results are always returned alongside a joined error naming each failing source. Events flattens results from multiple collectors into one slice.
  • Four collectors, one constructor each:
    • NewClaudeCodeCollector — Claude Code session history (thin, stdlib, from omnidevx-core)
    • NewCodexCollector — Codex CLI SQLite + rollout JSONL (thick, from omni-openai)
    • NewGitCollector — commit history via gogit (thin, stdlib, from omnidevx-core)
    • NewGitHubCollector — GitHub contribution data via REST + GraphQL (thick, from omni-github)
  • NewDefault — composes the local Claude Code and Codex collectors against the current machine's default stores; Git and GitHub need explicit configuration (repo roots, tokens) and are added with Engine.Add.

Installation

go get github.com/plexusone/omnidevx@v0.1.0

Requires Go 1.26+.

Usage

engine, err := omnidevx.NewDefault() // local Claude Code + Codex 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"},
})
events := omnidevx.Events(results)

See Collectors for adding the Git and GitHub collectors.

Package Structure

omnidevx/
├── doc.go
├── omnidevx.go    # re-exported types, constants, constructors, NewDefault
└── engine.go       # Engine: composes and runs collectors

Dependencies

  • github.com/plexusone/omnidevx-core v0.1.0 — canonical event model
  • github.com/plexusone/omni-github v0.5.0 — GitHub DevX collector
  • github.com/plexusone/omni-openai v0.6.0 — Codex CLI collector

Privacy

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

Contributors

  • John Wang
  • Claude Sonnet 5