Skip to content

nullhack/agents-smith

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A project for people to pair program with AI, the right way.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages