Skip to main content

Provider-agnostic AI agent/skill/prompt runner

Project description

uio

Just as Linux UIO lets kernel device drivers export their interfaces directly to userspace — eliminating the need for a full kernel module per device — uio lets AI agent definitions (plain markdown files) export their capabilities directly to a CLI, eliminating the need for a custom integration per project.

uio is a lightweight, provider-agnostic framework for defining and running AI agents, skills, and prompts. Definitions live as markdown files with YAML frontmatter. The uio CLI discovers and executes them against any supported LLM provider.

Key concepts

Concept What it is
Agent A multi-turn agentic loop that can execute shell commands and call MCP tools
Skill A reusable module invoked by agents to perform a focused, composable task
Prompt A single-shot LLM instruction for one well-defined workflow

Documentation

Full documentation lives in docs/ — covering installation, core concepts, a step-by-step quickstart, CLI reference, configuration, providers, MCP integration, the chat REPL, cost ledger, registry, writing definitions, package internals, and GitHub App identity agents.

See Use Cases for end-to-end worked examples.

Quickstart

pip install uio-ai

# Scaffold .uio/ and install bundled examples
uio init --examples

# Run one of the bundled examples
uio skill run summarise "Your text here"
uio agent run repo-health

# Interactive streaming chat
uio chat

# View token spend
uio cost

Definitions live in .uio/:

my-project/
└── .uio/
    ├── agents/   my-agent.agent.md
    ├── skills/   my-skill.skill.md
    └── prompts/  my-prompt.prompt.md

See Writing Definitions for the full file format and authoring guide.

GitHub App identities

uio supports dedicated GitHub App identities for agents that act on GitHub — separate non-human service accounts for planning, coding, and reviewing work:

Identity Agent Operations
AI Planner github-planner Create issues · Comment on issues and PRs · Summarize milestones
AI Coder github-coder Create branches · Commit code · Open pull requests
AI Reviewer github-reviewer Read diffs · Post structured review comments

Declare the identity in your agent's frontmatter:

---
name: my-github-agent
github-identity: coder   # planner | coder | reviewer
tools: [terminal, github]
---

uio obtains a short-lived GitHub App installation token before the agent loop starts and sets GH_TOKEN — both the gh CLI and GitHub MCP server pick it up automatically. All three agents are available in uio-registry.

See Governance and Provisioning guides for setup.

Registry

Discover and install community definitions from remote registries — Git repos with a registry.yaml manifest. No central server required.

# Add a registry to uio.toml:
# [[registries]]
# name = "official"
# url  = "https://github.com/jomkz/uio-registry"
# ref  = "main"

uio registry list                   # show configured registries
uio registry search summarise       # search by name, description, or tag
uio registry install summarise      # copy definition into .uio/
uio registry install repo-health --pin  # install and print a pinnable SHA
uio registry update                 # refresh cached manifests

Installed definitions are plain local files — no live runtime dependency on the registry.

Providers

Auto-routes across available providers in order: Gemini → OpenAI → Ollama. Override with --provider or uio.toml.

Provider Large model Small model
gemini gemini-2.5-flash gemini-2.5-flash-lite
openai gpt-4o gpt-4o-mini
ollama llama3.1:8b llama3.1:8b

Container image

# bash/zsh
docker run --rm \
  -e GEMINI_API_KEY=your-key \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=ghp_... \
  -v $(pwd):/workspace \
  ghcr.io/jomkz/uio agent run repo-health

# PowerShell (Windows) — use ${PWD} instead of $(pwd)
docker run --rm `
  -e GEMINI_API_KEY=your-key `
  -e GITHUB_PERSONAL_ACCESS_TOKEN=ghp_... `
  -v ${PWD}:/workspace `
  ghcr.io/jomkz/uio agent run repo-health

# Cross-platform — docker compose avoids the $(pwd) issue entirely
docker compose run --rm uio agent run repo-health

The image includes Node.js and pre-warmed MCP servers (@github/github-mcp-server, server-filesystem, server-fetch, server-memory). A docker-compose.yml for local Ollama use is included in the repo. See Container image for full details.

License

GNU Affero General Public License v3.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uio_ai-0.1.2.tar.gz (72.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uio_ai-0.1.2-py3-none-any.whl (61.6 kB view details)

Uploaded Python 3

File details

Details for the file uio_ai-0.1.2.tar.gz.

File metadata

  • Download URL: uio_ai-0.1.2.tar.gz
  • Upload date:
  • Size: 72.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for uio_ai-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fff82d087044cbc6d826c0453ec6b1f557080a2f3e44c1a9b15e856ecdcfd8bd
MD5 b0a495746ebd910eb8da69d1f4483ea8
BLAKE2b-256 a9ee2bb4e27c49dac4fc01f1f324cf751bbc5373112688f5cd8192aeb4ed5915

See more details on using hashes here.

Provenance

The following attestation bundles were made for uio_ai-0.1.2.tar.gz:

Publisher: release.yml on jomkz/uio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file uio_ai-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: uio_ai-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 61.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for uio_ai-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 37680efbd5bdef839af095cd8eb752c21ac97bcf4f516cad9f89e0338b0dbe70
MD5 c6a6bdf3cbc3c9811f806e1ebbf46920
BLAKE2b-256 a03f43329e24c23db3a579e6e357bad50c0ccacd80a4080919daaefb9674feeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for uio_ai-0.1.2-py3-none-any.whl:

Publisher: release.yml on jomkz/uio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page