omni-github

module
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2026 License: MIT

README ยถ

Omni-GitHub

Go CI Go Lint Go SAST Docs Docs Visualization License

GitHub providers and skills for the PlexusOne ecosystem.

Packages

Package Description Documentation
omnistorage/ GitHub as storage backend Guide
omniskill/github/ GitHub skill for AI agents Guide
omnidevx/ GitHub DevX contribution collector Guide

Installation

go get github.com/plexusone/omni-github

Quick Start

Storage Provider
import "github.com/plexusone/omni-github/omnistorage"

backend, err := omnistorage.New(omnistorage.Config{
    Owner:  "myorg",
    Repo:   "myrepo",
    Branch: "main",
    Token:  os.Getenv("GITHUB_TOKEN"),
})

// Read files
r, _ := backend.NewReader(ctx, "README.md")
data, _ := io.ReadAll(r)

// Write files (creates commit)
w, _ := backend.NewWriter(ctx, "docs/example.txt")
w.Write([]byte("Hello!"))
w.Close()

// Batch operations (single commit)
batch, _ := backend.NewBatch(ctx, "Update files")
batch.Write("file1.txt", []byte("content"))
batch.Delete("old.txt")
batch.Commit()
GitHub Skill
import "github.com/plexusone/omni-github/omniskill/github"

skill := github.New(github.Config{
    Token: os.Getenv("GITHUB_TOKEN"),
})
skill.Init(ctx)

// 10 tools: list_issues, create_issue, search_code, etc.
agent.RegisterSkill(skill)
DevX Collector
import "github.com/plexusone/omni-github/omnidevx"

collector, err := omnidevx.New(omnidevx.Config{
    Token:    os.Getenv("GITHUB_TOKEN"),
    Username: "octocat",
})

result, err := collector.Collect(ctx, core.CollectRequest{
    Subject: core.SubjectRef{PersonID: "person:octocat"},
    Period:  core.Period{Start: periodStart, End: periodEnd},
})

Features

Storage Provider
  • ๐Ÿ“„ Read/write files to any branch
  • โšก Batch operations for atomic commits
  • ๐Ÿ“‚ List files with prefix filtering
  • ๐Ÿข GitHub Enterprise support
GitHub Skill
  • ๐ŸŽซ Issue management (list, create, update, comment)
  • ๐Ÿ”€ Pull request operations
  • ๐Ÿ” Code and issue search
  • ๐Ÿข GitHub Enterprise support
DevX Collector
  • ๐Ÿ“Š Profile, per-repository, and daily contribution snapshots
  • ๐Ÿ”„ Canonical devx.* events for the OmniDevX domain
  • ๐Ÿงฎ REST + GraphQL via gogithub's clientv1.Client and githubv4

Documentation

Full documentation at plexusone.github.io/omni-github

Requirements

  • Go 1.26 or later
  • GitHub personal access token

License

MIT License - see LICENSE for details.

Directories ยถ

Path Synopsis
Package omnidevx collects developer-experience events from GitHub for the OmniDevX domain (github.com/plexusone/omnidevx-core), following the omni-github per-domain package convention alongside omnistorage and omniskill.
Package omnidevx collects developer-experience events from GitHub for the OmniDevX domain (github.com/plexusone/omnidevx-core), following the omni-github per-domain package convention alongside omnistorage and omniskill.
omniskill
github
Package github provides a GitHub skill for interacting with GitHub repositories.
Package github provides a GitHub skill for interacting with GitHub repositories.
omnistorage
backend/github
Package github provides a GitHub repository backend for omnistorage.
Package github provides a GitHub repository backend for omnistorage.

Jump to

Keyboard shortcuts

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