cd /news/ai-agents/theta-a-humble-approach-to-harness-a… Β· home β€Ί topics β€Ί ai-agents β€Ί article
[ARTICLE Β· art-14736] src=github.com pub= topic=ai-agents verified=true sentiment=Β· neutral

theta: a humble approach to harness agnostic configuration

Tamarillo AI released theta, a Rust command-line tool that functions as a package manager for agent configuration files across multiple AI coding assistants. The tool reads a `theta.toml` manifest and can resolve, lock, and cast configurations to supported harnesses including Claude Code, Codex CLI, GitHub Copilot, and Cursor, enabling developers to manage agent rules, tools, skills, and subagents from a single configuration source.

read2 min publishedMay 27, 2026

Rust CLI for managing agent configurations defined by theta-spec.

curl -sfL https://raw.githubusercontent.com/tamarillo-ai/theta/main/scripts/install.sh | bash
theta init                                     # scaffold theta.toml
theta add rule python-types                    # add a rule
theta add tool fetch --command "uvx mcp-server-fetch"                       # MCP tool (stdio)
theta add tool context7 --command "npx -y @upstash/context7-mcp@latest"    # another MCP tool
theta add skill vercel-labs/agent-skills/skills/web-design-guidelines@main  # skill from GitHub
theta check                                    # validate everything
theta cast to claude-code                      # --> CLAUDE.md + .mcp.json + .claude/

theta reads theta.toml

and resolves, locks, materializes, and casts agent configurations to any supported harness by solving resources in a common .theta/

folder. Like a package manager but for agent harness resources.

Natively supported harnesses include:

  • Claude Code
  • Codex CLI
  • GitHub Copilot
  • Cursor
cd /path/to/your/project
theta cast from claude-code
Group Commands
Lifecycle
init , check , lock , sync , cast to , cast from , tree
Dependencies
add rule/system/tool/skill/subagent , rm rule/system/tool/skill/subagent
Inspection
describe , list rules/tools/skills/subagents
System store
register skill/rule/agent , list store , rm store , init --from

Full docs: theta, and it is more than recommended to read theta-spec first, given that this is the standard that theta implements against.

Getting startedConceptsβ€” manifest, sources, locking, casting, system storeCLI referenceβ€” every verb, every flagSettingsβ€” environment variables, directory overrides

Or alternatively build the docs locally:

uv run mkdocs serve --livereload

Regenerate CLI reference from clap definitions:

just gen-cli-docs

Ruststable toolchain (seerust-version

inCargo.toml

for MSRV)justβ€” task runner (cargo install just

)lefthookβ€” git hooks (installation guide)

All other dev tools (nextest, deny, shear, typos) are installed via just install-tools

.

git clone git@github.com:tamarillo-ai/theta.git
cd theta
just setup   # installs dev tools, hooks, fetches deps
just --list         # see all available recipes
just test           # local tests (no network)
just test-online    # tests including live registries
just check          # run all CI checks locally
just gen-cli-docs   # regenerate docs/reference/cli.md
just fmt            # format all code
  • See STYLE.mdfor documentation style clippy::pedantic

is enabled workspace-wide β€” check[workspace.lints.clippy]

inCargo.toml

for allowed lints

theta

is the canonical implementation of theta-spec

. Behavioral changes in theta

SHOULD be accompanied by a respective change in theta-spec

. Hotfixes, refactors, and non-protocol changes MAY be pushed without a change in theta-spec

. Version-modification-triggering changes MUST follow from a TEP.

theta's architecture is heavily inspired by uv by astral. Direct signals of devotion, admiration, and almost plagiarism include:

Settings cascadeβ€” CLI flag > env var > default, inspired byuv-settings

(cited in source)Git fetch and cacheβ€” 3-tier layout (db/checkouts/locks), system git CLI, url digest keying β€” derived fromuv-git

Lock file designβ€” deterministic manifest hash, content hashing withsha256:

prefix, staleness detection, and othersβ€” same approach as uv'stoml_edit

for formatting preservationpyproject_mut

Materialization lifecycleβ€”.theta/

mirrors uv's.venv/

: lock --> materialize --> verify consistency --> cleanup orphansOutput stackβ€”owo-colors

+anstream

+fs-err

+indicatif

theta-specβ€” the standardAgent Skills specβ€” skill packaging formatMCPβ€” tool protocoluvβ€” architectural reference

── more in #ai-agents 4 stories Β· sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/theta-a-humble-appro…] indexed:0 read:2min 2026-05-27 Β· β€”