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. Rust CLI for managing agent configurations defined by theta-spec https://theta-spec.tamarillo.ai/ . 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 https://theta.tamarillo.ai/ , and it is more than recommended to read theta-spec https://theta-spec.tamarillo.ai/ first, given that this is the standard that theta implements against. Getting started /tamarillo-ai/theta/blob/main/docs/getting-started.md Concepts /tamarillo-ai/theta/blob/main/docs/concepts/index.md — manifest, sources, locking, casting, system store CLI reference /tamarillo-ai/theta/blob/main/docs/reference/cli.md — every verb, every flag Settings /tamarillo-ai/theta/blob/main/docs/reference/settings.md — 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 Rust https://rustup.rs/ stable toolchain see rust-version in Cargo.toml for MSRV just https://github.com/casey/just — task runner cargo install just lefthook https://github.com/evilmartians/lefthook — git hooks installation guide https://lefthook.dev/install/ 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.md /tamarillo-ai/theta/blob/main/STYLE.md for documentation style clippy::pedantic is enabled workspace-wide — check workspace.lints.clippy in Cargo.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 https://github.com/astral-sh/uv by astral . Direct signals of devotion, admiration, and almost plagiarism include: Settings cascade — CLI flag env var default, inspired by uv-settings cited in source Git fetch and cache — 3-tier layout db/checkouts/locks , system git CLI, url digest keying — derived from uv-git Lock file design — deterministic manifest hash, content hashing with sha256: prefix, staleness detection, and others— same approach as uv's toml edit for formatting preservation pyproject mut Materialization lifecycle — .theta/ mirrors uv's .venv/ : lock -- materialize -- verify consistency -- cleanup orphans Output stack — owo-colors + anstream + fs-err + indicatif theta-spec https://theta-spec.tamarillo.ai/ — the standard Agent Skills spec https://agentskills.io/specification — skill packaging format MCP https://modelcontextprotocol.io/ — tool protocol uv https://github.com/astral-sh/uv — architectural reference