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.0-flash-lite
openai gpt-4o gpt-4o-mini
ollama qwen2.5-coder:32b qwen2.5-coder:7b

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.2rc1.tar.gz (61.7 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.2rc1-py3-none-any.whl (56.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: uio_ai-0.1.2rc1.tar.gz
  • Upload date:
  • Size: 61.7 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.2rc1.tar.gz
Algorithm Hash digest
SHA256 25c7b99d04a874fa0c8b6adfa60867c7c10a610d7ecaa3ace3587751a77ee0c1
MD5 4ff6a70492fcea6e86e4593deb308ad9
BLAKE2b-256 c1a27517b77e5317a8e8a23ceebdd1b5cc9c372d2b997ef60b136a8190d9c6d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for uio_ai-0.1.2rc1.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.2rc1-py3-none-any.whl.

File metadata

  • Download URL: uio_ai-0.1.2rc1-py3-none-any.whl
  • Upload date:
  • Size: 56.8 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.2rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 cd4136243829785a43f697c336e72f1b999d0b619a30a9ad1233dcdbeb0dbe53
MD5 2459beee66838d69d6edc587212015d7
BLAKE2b-256 435f9e9a2214b4237cccec2378d6eb6aa691b756f0bc33ceaa1e30c92af6bdd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for uio_ai-0.1.2rc1-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