Clone AI agent configurations into any project
Project description
You have used AI coding assistants. You have copied .opencode/, .flowr/, AGENTS.md, and .templates/ into projects by hand — or asked your team to do the same, over and over, across every repository. Files drift out of sync. Versions scatter. Onboarding a new repo means ten minutes of manual file wrangling before the first prompt.
smith enters a project, copies its patterns, and returns something more capable than what it found.
Two commands. No configuration files in your project. No framework overhead. No leftover files after removal.
Who is this for?
Developers — Stop copying AI config files between projects
You set up opencode, flowr, and agent templates in one project. Then you do it again. And again. smith clone pulls the exact same configuration from any GitHub repo, local directory, or URL into your project in one step. smith purge removes every file and every gitignore entry — no orphans, no stale references.
Teams — Consistent agent configurations across every repository
Every team member runs the same smith clone command and gets the same AGENTS.md, the same .opencode agents, the same .flowr workflows. No "it works on my machine." When the template updates, clone again with --overwrite. When a project no longer needs agentic tooling, smith purge and move on.
What it does
smith clone → fetches AGENTS.md, .opencode/, .flowr/, .templates/ into your project
smith purge → removes every smith-managed file and directory
Safety boundary. Only files matching allowed topics are ever written — regardless of what the source archive contains. Your project never receives arbitrary files.
Clean removal. Purge reads the managed section in .gitignore and deletes exactly what is listed there. The section itself is preserved so you can clone again later.
Source resolution. Three ways to specify where templates come from:
| Priority | Source | Example |
|---|---|---|
| 1 — CLI flag | --source |
smith clone --source github:myorg/templates |
| 2 — Config | [tool.smith] source in pyproject.toml |
source = "github:myorg/templates" |
| 3 — Default | github:nullhack/temple8 |
Used when no flag or config is set |
Quick start
pip install agents-smith
smith clone # default source (temple8)
smith purge # remove everything
That is it. Two commands. No setup, no config file, no framework.
Commands
smith clone
smith clone # default source
smith clone --source github:myorg/templates # GitHub shorthand
smith clone --source /path/to/local/template # local directory
smith clone --source https://example.com/t.zip # URL to archive
smith clone --overwrite # replace existing files
Fetches template files from a source, filters by allowed topics, writes them to the project directory, and adds a managed section to .gitignore. Existing files are skipped unless --overwrite is passed.
smith purge
smith purge # removes all smith-managed files
Reads the smith-managed section in .gitignore and deletes every file and directory listed there. The .gitignore section itself is preserved so you can clone again later.
.gitignore section
# smith managed
AGENTS.md
.opencode/
.flowr/
.templates/
# end smith managed
Only items in this section are removed on purge. Edit it to control what smith manages.
Architecture
smith/
├── cli.py # CLI — argparse, subcommands (clone, purge)
├── core.py # Domain — resolve_source, fetch, clone, purge, FileSpec
└── gitignore.py # Infrastructure — .gitignore section management
Flat module structure. Two commands. No framework overhead.
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-1.0.0.tar.gz.
File metadata
- Download URL: agents_smith-1.0.0.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f53f27d767fae974f27663a2f6702546dcfaf1da92282cb2428f5041abd4bc0a
|
|
| MD5 |
70b95368379878bcd4eedc4f1b4775fe
|
|
| BLAKE2b-256 |
5e59eb40b30f1bfe96e4890a5cff457e10270073744d870cae2726d5ab4d7068
|
Provenance
The following attestation bundles were made for agents_smith-1.0.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-1.0.0.tar.gz -
Subject digest:
f53f27d767fae974f27663a2f6702546dcfaf1da92282cb2428f5041abd4bc0a - Sigstore transparency entry: 1429436228
- Sigstore integration time:
-
Permalink:
nullhack/agents-smith@8cbb32dd4500940aa62e26aaa7a9865c0f89e827 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/nullhack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@8cbb32dd4500940aa62e26aaa7a9865c0f89e827 -
Trigger Event:
push
-
Statement type:
File details
Details for the file agents_smith-1.0.0-py3-none-any.whl.
File metadata
- Download URL: agents_smith-1.0.0-py3-none-any.whl
- Upload date:
- Size: 10.1 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 |
c2e051f20d368c420efa865b73890407726189047ab9155bf7bd89a59ef5d8d1
|
|
| MD5 |
f2724abff38b679b65e1839f35fbb42c
|
|
| BLAKE2b-256 |
7bf8e5ba7318a95a29b732c7822e7b4a8eecbb25b8b6a0b1484d48afaa437d12
|
Provenance
The following attestation bundles were made for agents_smith-1.0.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-1.0.0-py3-none-any.whl -
Subject digest:
c2e051f20d368c420efa865b73890407726189047ab9155bf7bd89a59ef5d8d1 - Sigstore transparency entry: 1429436232
- Sigstore integration time:
-
Permalink:
nullhack/agents-smith@8cbb32dd4500940aa62e26aaa7a9865c0f89e827 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/nullhack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@8cbb32dd4500940aa62e26aaa7a9865c0f89e827 -
Trigger Event:
push
-
Statement type: