Skip to main content

Render an agent-neutral prompt library into a repository's Codex/Claude/Copilot adapters.

Project description

farrier

PyPI

farrier renders an agent-neutral prompt library into a repository — generating the skill, prompt, instruction, and workflow adapters expected by Codex, Claude, and GitHub Copilot, plus the launcher scaffolding that runs them.

A farrier is the craftsman who fits the right gear onto each horse. This tool fits the shared prompt library onto each repository.

Install

pipx install farrier        # or: uv tool install farrier

farrier ships no library content of its own — the prompt library lives in a separate repository. Point farrier at it once:

farrier config set-library /path/to/vigilant-octo/agents
farrier config show

config writes a small TOML file in your OS config directory (~/.config/farrier/config.toml on Linux, ~/Library/Application Support/farrier/ on macOS, %APPDATA%\farrier\ on Windows).

Use

From a repository that has a .agents.yml:

farrier --repo .            # render/install the selected packs
farrier --repo . --check    # verify generated files are up to date (no writes)

Rendering is the default action; farrier install --repo . is an accepted alias of farrier --repo ..

Configuring .agents.yml

.agents.yml (at your repo root) selects what farrier renders. Every option — repo, agents, packs, skills/prompts/roots, scaffolds, exclude, localInstructions, template/vars, and workflow — is documented with inline comments in agents.example.yml. Copy it to your repo as .agents.yml and prune to taste.

Library layout

The other side of the contract is the agent library farrier renders from — what goes in library/skills/, library/prompts/, library/roots/, packs/, scaffolds/, and workflows/, the file formats expected, and how source names map to generated adapters. That is documented in docs/LAYOUT.md.

Locating the library

farrier resolves the library directory with this precedence:

  1. --library DIR
  2. $FARRIER_LIBRARY_DIR
  3. library_dir from the home config (farrier config set-library)

If none resolve — or the path does not contain library/ and packs/ — farrier exits with a setup hint.

Related

  • workhorse-agent — the fail-soft runtime that executes the workflows farrier installs. Both live in the stablemate workspace.

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

farrier-0.1.4.tar.gz (27.2 kB view details)

Uploaded Source

Built Distribution

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

farrier-0.1.4-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file farrier-0.1.4.tar.gz.

File metadata

  • Download URL: farrier-0.1.4.tar.gz
  • Upload date:
  • Size: 27.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for farrier-0.1.4.tar.gz
Algorithm Hash digest
SHA256 c73dea59ace9157b5dc81eaf2b8bde2421162dabc3065090e1880d3ae82b0b2f
MD5 edef444743b1bc4842e4632e3995cf49
BLAKE2b-256 236079b0a7112ef33b7ef07c35d0e31a33c597c5f6b64cb5601be0d96ececa4a

See more details on using hashes here.

File details

Details for the file farrier-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: farrier-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for farrier-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 59c59728470896459002c113c999e5989c68cda35a6f22b8616bec42c75a1a3e
MD5 42bed2167446f7076cae5a212af7d67e
BLAKE2b-256 8552acad17ccc58af60c9ad428b436e2080c647aac7b1a5ee5b90b7f63c74b88

See more details on using hashes here.

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