Skip to main content

Clone AI agent configurations into any project

Project description

agents-smith



Contributors Forks Stargazers Issues MIT License Coverage CI Python PyPI

One command to clone AI agent configurations into any project. One command to purge them.


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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agents_smith-1.0.0.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agents_smith-1.0.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

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

Hashes for agents_smith-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f53f27d767fae974f27663a2f6702546dcfaf1da92282cb2428f5041abd4bc0a
MD5 70b95368379878bcd4eedc4f1b4775fe
BLAKE2b-256 5e59eb40b30f1bfe96e4890a5cff457e10270073744d870cae2726d5ab4d7068

See more details on using hashes here.

Provenance

The following attestation bundles were made for agents_smith-1.0.0.tar.gz:

Publisher: pypi-publish.yml on nullhack/agents-smith

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for agents_smith-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c2e051f20d368c420efa865b73890407726189047ab9155bf7bd89a59ef5d8d1
MD5 f2724abff38b679b65e1839f35fbb42c
BLAKE2b-256 7bf8e5ba7318a95a29b732c7822e7b4a8eecbb25b8b6a0b1484d48afaa437d12

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page