Spec-driven agent orchestration template with YAML flow definitions, multi-agent dispatch, and BDD traceability
Project description
You have tried to ship features with AI assistants. The agent writes code, you review it, and somehow the spec still drifts from the implementation. Tests pass but the feature doesn't match what stakeholders asked for. Architecture decisions vanish into commit messages nobody reads. The review cycle is a black box: either everything passes or nothing does, with no structured progression.
temple8 replaces ad-hoc agent orchestration with state machines that route every step through the right agent with the right skills at the right time.
Flow definitions in YAML declare what happens at each state: who owns it, what they may read, what they must produce, and which conditions gate the next transition. No agent guesses what to do next. No step is skipped. Artifacts are scoped to each state's input/output contract.
Who is this for?
Developers moving from vibe coding to agentic engineering
You have shipped code with AI assistants and hit the wall: the agent writes code, you review it, the spec drifts. Vibe coding works for prototypes. It breaks at scale. temple8 replaces "prompt and pray" with spec-driven development: BDD scenarios from interviews, title-based traceability from Example to test function, red-green-refactor cycles enforced by default, three-tier review that catches what linters miss.
Teams wanting structured agent orchestration without lock-in
Your team follows a real methodology: Scrum, Kanban, SAFe, or something custom. Multi-agent orchestration should adapt to it, not the other way around. temple8 flows are YAML state machines you define, extend, or replace. Named specialists per state. No subscription, no vendor account, no code leaving your infrastructure. MIT licensed.
Anyone evaluating spec-driven development
Spec-driven development is gaining traction across AI coding tools. You want to try it without committing to a cloud IDE or a monthly subscription. temple8 is a project template: clone it, run it locally with any LLM, see if the process discipline works for your team. Already have a Python project? Use agents-smith to add temple8's agentic capabilities with one command.
What it does
flowr check → inspect a state's owner, skills, and transitions
flowr next → see which transitions pass given your evidence
flowr transition → advance to the next state with evidence
State machines route the work. YAML flows define the delivery pipeline: discovery, architecture, planning, TDD cycles, review gates, delivery. Each state declares an owner, skills, input/output artifacts, and guard conditions. The engine validates transitions. The agent executes.
Workflows are configurable. The default flows cover spec-driven software development. Replace or extend them for your team's process: Kanban, SAFe, ITIL, or any custom pipeline. If it is a state machine, flowr can express it.
Agents execute it. Each state's owner dispatches to the right agent (PO, SE, SA, DE, R). Skills are loaded per state. Input/output contracts constrain scope. Evidence gates prevent premature transitions.
Branch discipline is explicit. Every state declares git: main or git: feature. Project-phase work commits to main. Feature work commits to a feature branch. No ambiguity about where changes belong.
Quick start
New project
git clone https://github.com/nullhack/temple8
cd temple8
curl -LsSf https://astral.sh/uv/install.sh | sh # skip if uv is already installed
uv sync --all-extras
opencode && @setup-project # personalise for your project
uv run task test && uv run task lint && uv run task static-check
Existing project
pip install agents-smith
smith clone # adds temple8's agents, flows, skills, and knowledge
Commands
uv run task test # full suite + coverage
uv run task test-fast # fast, no coverage (use during TDD loop)
uv run task lint # ruff format + check
uv run task static-check # pyright type checking
uv run task run # run the app
uv run task doc-build # build API docs + coverage report
FAQ
How is this different from Kiro?
temple8 evolved over years of accumulated practice, not as a response to Kiro. Both identified the same pain points in AI-assisted development. The standards differ: Kiro uses EARS notation and property-based testing; temple8 uses BDD, TDD, and DDD with three-tier progressive review. Kiro is a cloud IDE on Bedrock. temple8 is a local project template with any LLM. MIT licensed, zero cost.
How is this different from Cursor or Copilot?
Cursor and Copilot help write code. temple8 provides the process that decides what to write, in what order, and what review it passes before shipping. Think of them as the engine and temple8 as the map. Use both together.
How does this relate to Claude Code or opencode?
Claude Code and opencode are general-purpose agent runners. temple8 gives them a process: YAML state machines, scoped agent roles, and evidence-based transitions. Without temple8, they follow prompts. With it, they follow a workflow.
Do I need to replace my existing tools?
No. temple8 is a project template: flows, agent definitions, skills, and knowledge files you drop into any Python project. Keep your editor. Bring your own LLM via opencode or a compatible agent runner. Already have a Python project? Use agents-smith to add temple8's agents, skills, and flows with one command: smith clone.
Is this only for software development?
The default flows cover software development (discovery, architecture, TDD cycles, review). Any repeatable process with steps and conditions can be expressed as a flowr state machine: ops runbooks, compliance audits, content pipelines, incident response.
Documentation
- Product Definition: product boundaries, users, and scope
- System Overview: architecture, domain model, module structure, and constraints
- Glossary: living domain glossary
License
MIT. See LICENSE.
Author: @nullhack · Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file temple8-9.3.0.tar.gz.
File metadata
- Download URL: temple8-9.3.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
927081fcd85ef17411c051195d2b6189086abcea189a63674061aa5c663f771a
|
|
| MD5 |
825de87544a8b1edbc19c790402a42a6
|
|
| BLAKE2b-256 |
e16fdee03ba7581b2c733f41c2676a7932580031fb4ec29d3a89283cc1cbd8be
|
Provenance
The following attestation bundles were made for temple8-9.3.0.tar.gz:
Publisher:
pypi-publish.yml on nullhack/temple8
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
temple8-9.3.0.tar.gz -
Subject digest:
927081fcd85ef17411c051195d2b6189086abcea189a63674061aa5c663f771a - Sigstore transparency entry: 1658241791
- Sigstore integration time:
-
Permalink:
nullhack/temple8@248c951713635dae4316aa18016f59139d7b96f8 -
Branch / Tag:
refs/tags/v9.3.0 - Owner: https://github.com/nullhack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@248c951713635dae4316aa18016f59139d7b96f8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file temple8-9.3.0-py3-none-any.whl.
File metadata
- Download URL: temple8-9.3.0-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96ddc638a46f520c9a77d5ea117fdeb5e056fa267e78a54e5db22f8421f455d2
|
|
| MD5 |
f13808baaa4fd1e38aaf336544c112fa
|
|
| BLAKE2b-256 |
e2640e81e3b80b7c5af466297b1b9acc7a29e751cf2b57c8cb5559664ac08f87
|
Provenance
The following attestation bundles were made for temple8-9.3.0-py3-none-any.whl:
Publisher:
pypi-publish.yml on nullhack/temple8
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
temple8-9.3.0-py3-none-any.whl -
Subject digest:
96ddc638a46f520c9a77d5ea117fdeb5e056fa267e78a54e5db22f8421f455d2 - Sigstore transparency entry: 1658241917
- Sigstore integration time:
-
Permalink:
nullhack/temple8@248c951713635dae4316aa18016f59139d7b96f8 -
Branch / Tag:
refs/tags/v9.3.0 - Owner: https://github.com/nullhack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@248c951713635dae4316aa18016f59139d7b96f8 -
Trigger Event:
push
-
Statement type: