AI-assisted software delivery system with flow-based agent orchestration
Project description
smith is an AI pair programming platform that connects standardised agent configurations to any project directory — and disconnects cleanly when done. It ships with a complete delivery workflow: structured flows for discovery, planning, TDD development, review, and release, powered by specialised agents (Product Owner, Architect, Engineer, Reviewer, and more).
Install
pip install agents-smith
Or clone for development:
git clone https://github.com/nullhack/agents-smith
cd agents-smith
curl -LsSf https://astral.sh/uv/install.sh | sh # skip if uv is already installed
uv sync --all-extras
Usage
Connect
Write agentic files (agents, skills, knowledge, flows, templates) into any project directory:
smith connect # from bundled template (no network needed)
smith connect --from PATH # from a local directory
smith connect --from URL # from a remote tarball
smith connect --overwrite # replace existing smith-managed files
Status
Check what smith has connected to your project:
smith status # human-readable output
smith status --json # machine-readable output
Update
Re-sync agentic files from the connected source:
smith update # from the same source used at connect time
smith update --from PATH # from a different local source
Disconnect
Remove all smith-managed files and gitignore entries. User-tracked files are never touched:
smith disconnect
What you get
When you run smith connect, the following is written into your project:
| Path | Contents |
|---|---|
AGENTS.md |
Agent routing, session protocol, artifact conventions |
.opencode/agents/ |
Agent identity definitions (Product Owner, Architect, Engineer, Reviewer, etc.) |
.opencode/skills/ |
Step-by-step skill definitions for every workflow state |
.opencode/knowledge/ |
Curated knowledge files (TDD, DDD, architecture, requirements, design, etc.) |
.flowr/flows/ |
YAML state machine definitions (delivery, TDD cycle, review gate, setup, etc.) |
.templates/ |
Artifact templates (ADR, feature files, changelog, interview notes, etc.) |
Agents
Six specialised agents, each owning a phase of the delivery flow:
| Agent | Role |
|---|---|
| Product Owner | Scope discovery, feature selection, acceptance |
| Domain Expert | Ubiquitous language, domain modeling, glossary |
| Architect | System design, ADRs, context maps, review |
| Software Engineer | TDD implementation, refactoring, merging |
| Reviewer | Adversarial review (design, structure, conventions) |
| Design Agent | Visual identity, colors, assets |
Flows
Workflow state machines powered by flowr:
| Flow | Purpose |
|---|---|
delivery-flow |
End-to-end feature delivery (select → specify → implement → review → accept) |
tdd-cycle-flow |
Red-green-refactor loop within a feature |
review-gate-flow |
Three-tier review (design → structure → conventions) |
setup-project-flow |
Initialise a new project from template |
discovery-flow |
Stakeholder interviews and product scoping |
planning-flow |
Feature breakdown and BDD specification |
architecture-flow |
System design and context mapping |
post-mortem-flow |
Incident analysis and lessons |
Knowledge
Curated research summaries covering TDD, DDD, architecture patterns, SOLID, test design, code review, versioning, and more. Agents load these progressively — key takeaways for quick reference, full documents for detailed work.
Development
uv run task test # full suite + coverage
uv run task test-fast # fast, no coverage (TDD loop)
uv run task lint # ruff format + check
uv run task static-check # pyright type checking
uv run task run # run smith
uv run task doc-build # build API docs + coverage report
uv run task release-check # lint + typecheck + test + docs
Updating the bundled template
The smith/data/ directory ships with a bundled template. To sync it from the upstream temple8 repository:
./scripts/update-bundle.sh
Documentation
- Product Definition — what smith is, who it's for, quality attributes
- System Overview — architecture, domain model, module structure, constraints
- Glossary — living domain glossary
- Technical Design — hexagonal architecture, contracts, C4 diagrams
- Context Map — bounded contexts and integration points
- Branding — visual identity, voice, release naming convention
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 agents_smith-0.2.0.tar.gz.
File metadata
- Download URL: agents_smith-0.2.0.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8414595d7d0fcbabea10aabcbbbd86abf6c7f004b6c134bb9b11d555f9b60da
|
|
| MD5 |
57f61a18c1d94cc8551e72d071865469
|
|
| BLAKE2b-256 |
0249b6fc6980678bdff0344ba60177452a92a893b7de35906af9e2729547dfcc
|
Provenance
The following attestation bundles were made for agents_smith-0.2.0.tar.gz:
Publisher:
pypi-publish.yml on nullhack/agents-smith
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agents_smith-0.2.0.tar.gz -
Subject digest:
a8414595d7d0fcbabea10aabcbbbd86abf6c7f004b6c134bb9b11d555f9b60da - Sigstore transparency entry: 1421035590
- Sigstore integration time:
-
Permalink:
nullhack/agents-smith@a0700c116aae088016baacb5ddb18eaeb7ebe571 -
Branch / Tag:
refs/tags/v0.2.0+20260501 - Owner: https://github.com/nullhack
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@a0700c116aae088016baacb5ddb18eaeb7ebe571 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file agents_smith-0.2.0-py3-none-any.whl.
File metadata
- Download URL: agents_smith-0.2.0-py3-none-any.whl
- Upload date:
- Size: 6.2 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 |
a4fa983bcb13d5c60ec5eadc5c749e42eb880ace4d52068d6dc6b55d241de33c
|
|
| MD5 |
52266c37f0261636056234d221d85812
|
|
| BLAKE2b-256 |
cdc4e84188ea5ce12e4829d4e792b7f2a75006e62f6a0888bf320c5d48209c30
|
Provenance
The following attestation bundles were made for agents_smith-0.2.0-py3-none-any.whl:
Publisher:
pypi-publish.yml on nullhack/agents-smith
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agents_smith-0.2.0-py3-none-any.whl -
Subject digest:
a4fa983bcb13d5c60ec5eadc5c749e42eb880ace4d52068d6dc6b55d241de33c - Sigstore transparency entry: 1421035674
- Sigstore integration time:
-
Permalink:
nullhack/agents-smith@a0700c116aae088016baacb5ddb18eaeb7ebe571 -
Branch / Tag:
refs/tags/v0.2.0+20260501 - Owner: https://github.com/nullhack
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@a0700c116aae088016baacb5ddb18eaeb7ebe571 -
Trigger Event:
workflow_dispatch
-
Statement type: