Python template with some awesome tools to quickstart any Python project
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. No artifact is written outside its contract.
Who is this for?
Developers — TDD with traceability, not just coverage
You write BDD scenarios from stakeholder interviews. Tests are linked to feature specs with @id tags. Every Given/When/Then maps to a test function. No orphan tests, no missing tests. Red-green-refactor cycles are enforced — you can't skip to implementation.
Product Owners — Living documentation that never drifts
Feature files are the contract. Acceptance criteria are BDD scenarios, not bullet points in a ticket. The delivery flow tracks whether a feature is BASELINED, ACCEPTED, or rejected — with evidence at every gate. You see exactly what was built and why.
Architects — Adversarial review that catches what linters miss
Three-tier review: design alignment (does it match the domain model?), structure (coverage, traceability, coupling), conventions (formatting, naming, lint). Each tier can fail independently. No rubber-stamping through one monolithic gate.
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.
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 prevent scope creep. 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
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
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
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-8.2.0.tar.gz.
File metadata
- Download URL: temple8-8.2.0.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1dacbfb9067ab0abaa854eefb941182919d33976f31bb5aa768a1a995026115e
|
|
| MD5 |
a75a5822a592b7ed05a51f2fd3d82804
|
|
| BLAKE2b-256 |
49814a1f65164e8ae04292ecd5e8e5921cca765764f3445d0f56e7a5612ab184
|
Provenance
The following attestation bundles were made for temple8-8.2.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-8.2.0.tar.gz -
Subject digest:
1dacbfb9067ab0abaa854eefb941182919d33976f31bb5aa768a1a995026115e - Sigstore transparency entry: 1439633132
- Sigstore integration time:
-
Permalink:
nullhack/temple8@1878c66b0f69f2936000ce6a0a30010832181c89 -
Branch / Tag:
refs/tags/v8.2.0+20260505 - Owner: https://github.com/nullhack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@1878c66b0f69f2936000ce6a0a30010832181c89 -
Trigger Event:
push
-
Statement type:
File details
Details for the file temple8-8.2.0-py3-none-any.whl.
File metadata
- Download URL: temple8-8.2.0-py3-none-any.whl
- Upload date:
- Size: 5.7 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 |
cd4202014248385c8bc49b90cee73cb723862404e5f4ff0a42a5a67030a22e39
|
|
| MD5 |
68605364ac5f3f1558e2b7e66d4073ba
|
|
| BLAKE2b-256 |
5f9ac663fe412856272f452e17f9ff70ec363acea8e49a05c27451a0bd2462b7
|
Provenance
The following attestation bundles were made for temple8-8.2.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-8.2.0-py3-none-any.whl -
Subject digest:
cd4202014248385c8bc49b90cee73cb723862404e5f4ff0a42a5a67030a22e39 - Sigstore transparency entry: 1439633139
- Sigstore integration time:
-
Permalink:
nullhack/temple8@1878c66b0f69f2936000ce6a0a30010832181c89 -
Branch / Tag:
refs/tags/v8.2.0+20260505 - Owner: https://github.com/nullhack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@1878c66b0f69f2936000ce6a0a30010832181c89 -
Trigger Event:
push
-
Statement type: