{"slug": "show-hn-theta-spec-a-humble-harness-agnostic-configuration-spec", "title": "Show HN: theta-spec - a humble harness agnostic configuration spec", "summary": "A new open-source specification called theta-spec provides a declarative, harness-agnostic configuration standard for AI coding agents, allowing users to define the full configuration surface—including instructions, rules, tools, skills, and subagents—in a single `theta.toml` file. The project includes a reference implementation in Rust that resolves, locks, and casts the configuration to any supported agent harness, addressing the lack of a standard way to share, version, or reproduce agent configurations across different harnesses. The specification aims to enable reproducible configurations, simplify maintenance across harness updates, and provide a foundation for tooling to optimize how developers work with AI agents.", "body_md": "**theta-spec** is a declarative, harness-agnostic configuration standard for AI coding agents. One `theta.toml`\n\nfile defines the full configuration surface, i.e. instructions, rules, tools, skills, subagents. A protocol is specified for the lifecycle of this configuration file, and any theta-spec compliant implementation can resolve, lock, and cast it to any supported harness.\n\nis the default implementation of this spec — a Rust CLI that resolves, locks, and casts[theta]`theta.toml`\n\nto any supported harness.\n\nAll the documentation for the specification is present [here](https://theta-spec.tamarillo.ai/) and can also be built and served locally by running\n\n```\nuv run mkdocs serve --livereload\n```\n\nAgent harnesses are here to stay. Each one ships its own configuration format but still all of them share similarities. Maintaining and declaring configurations is a burden. There is no standard way to share, version, or reproduce an agent configuration.\n\nParametrizing the configuration surface into a single manifest:\n\n- Displays the exhaustive configuration at a glance\n- Provides an entrypoint for searching the resources that define an agent\n- Enables reproducible configurations between people and between agents\n- Makes mutation strategies explicit and diffable\n- Facilitates maintenance across harness updates\n- Enables a project lifecycle tool, which is why the\n[theta CLI](https://theta.tamarillo.ai/)exists\n\nA parametrized function and a well-defined cost function enables function approximation. If the goal is to optimize the way we work with agents, this is the first tiny step towards building the tooling needed to cover at least one gap, the parameters.\n\nMost of the spec is read-self-explanatory for anyone familiar with agent harnesses. A detailed and exhaustive description of each one of the defining fields can be found [condensed here](/tamarillo-ai/theta-spec/blob/main/docs/spec/manifest.md) and also [in the manifest section of this doc](/tamarillo-ai/theta-spec/blob/main/docs/manifest/index.md).\n\nThis is how a `theta.toml`\n\nlooks:\n\n```\n[theta]\nschema = \"2026-04\"\n\n[agent]\nname = \"harness-researcher\"\ndescription = \"researches agent harness configurations across public repos\"\nversion = \"0.1.0\"\nauthors = [\"ivan <ivan@tamarillo.ai>\"]\nmodel = \"claude-sonnet-4-20250514\"\n\n[instructions]\nsystem = \"instructions/system.md\"\n\n[instructions.rules.concise]\nsrc = \"instructions/rules/concise.md\"\napply = \"always\"\n\n[instructions.rules.rust]\nsrc = \"instructions/rules/rust.md\"\napply = \"glob\"\napply_to = [\"*.rs\"]\n\n[tools.context7]\ncommand = [\"npx\", \"-y\", \"@upstash/context7-mcp@latest\"]\n\n[tools.playwright]\ncommand = [\"npx\", \"@anthropic-ai/playwright-mcp\"]\n\n[tools.memory]\ncommand = [\"npx\", \"-y\", \"@modelcontextprotocol/server-memory\"]\n\n[skills.osint]\nsource = { path = \"skills/osint\" }\n\n[[subagents]]\nname = \"scraper\"\ndescription = \"scrapes github repos for harness config patterns\"\nprompt_path = \"subagents/scraper.md\"\nmodel = \"claude-sonnet-4-20250514\"\ntools = [\"playwright\"]\n\n[[subagents]]\nname = \"analyst\"\nref = \"agents/analyst/theta.toml\"\n```\n\nThe following harnesses are supported. Prioritization is based on adoption research.\n\n[theta](https://theta.tamarillo.ai/)— Rust CLI (reference implementation)[MCP](https://modelcontextprotocol.io/specification/2025-11-25)— tool protocol standard[Agent Skills spec](https://agentskills.io/specification)— skill packaging standard\n\nA declarative, harness-agnostic agent configuration standard.\n\nSee [CONTRIBUTING.md](/tamarillo-ai/theta-spec/blob/main/CONTRIBUTING.md) for how to propose spec changes, request new harnesses, and the TEP process.\n\nCheck [STYLE.md](/tamarillo-ai/theta-spec/blob/main/STYLE.md) for documentation conventions.", "url": "https://wpnews.pro/news/show-hn-theta-spec-a-humble-harness-agnostic-configuration-spec", "canonical_source": "https://github.com/tamarillo-ai/theta-spec", "published_at": "2026-05-29 01:09:54+00:00", "updated_at": "2026-05-29 01:46:31.638040+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "ai-infrastructure", "ai-products", "mlops"], "entities": ["theta-spec", "theta", "tamarillo.ai"], "alternates": {"html": "https://wpnews.pro/news/show-hn-theta-spec-a-humble-harness-agnostic-configuration-spec", "markdown": "https://wpnews.pro/news/show-hn-theta-spec-a-humble-harness-agnostic-configuration-spec.md", "text": "https://wpnews.pro/news/show-hn-theta-spec-a-humble-harness-agnostic-configuration-spec.txt", "jsonld": "https://wpnews.pro/news/show-hn-theta-spec-a-humble-harness-agnostic-configuration-spec.jsonld"}}