untaped-recipe
Install it as part of untaped: uv tool install 'untaped[recipe]' or pip install 'untaped[recipe]'.
To add it to an existing install, see Getting started.
untaped recipe applies the same file changes to many directories: add a
config file, bump a version in YAML, remove a stale workflow. A recipe is a
list of steps; packs bundle recipes with Python hooks. Every change is
planned in memory, previewed, and written only after you confirm, with a
backup of every file it touches. Recipes never commit, push or open pull
requests.
Set up
Install a pack (see below). uv must be on your PATH to run pack hooks:
uv --version
untaped recipe list
Where packs live, hook timeouts and backup retention are in the configuration reference.
Apply a recipe
untaped recipe get acme/editorconfig
untaped recipe apply acme/editorconfig ~/work/api ~/work/web --var python_version=3.14 --dry-run
untaped recipe apply acme/editorconfig ~/work/api ~/work/web --preview diff
untaped recipe apply acme/editorconfig ~/work/api ~/work/web --var python_version=3.14
You get a preview of every file each target would gain, change or lose, then
a confirmation; each target is written as one transaction. Pack hooks run
even on --dry-run, because they compute the plan.
Check for drift in CI
untaped recipe apply acme/editorconfig ~/work/api --check
--check writes nothing, asks nothing and exits 3 when any target would
change.
Apply to every repo of a workspace
untaped workspace status PROJ-123 --format pipe \
| untaped recipe apply acme/editorconfig --stdin --dry-run
--stdin takes target paths, or records that carry a target_path, so a
workspace's
records choose the targets.
Install and manage packs
untaped recipe packs add https://git.example.com/acme/untaped-recipes.git --rev v1.2.0
untaped recipe validate acme
untaped recipe test acme
untaped recipe packs sync --all --dry-run
Installing a pack installs code: its hooks run as you, with no sandbox.
Inspect a pack with packs get and validate (which never imports hooks)
before you trust it; its golden tests run hooks, so run them after. Also
review what packs sync lists as you would a dependency upgrade.
Write a pack
untaped recipe packs init acme
untaped recipe init ./acme/editorconfig
untaped recipe hooks init ./acme/pin_python --kind transform
untaped recipe test ./acme
A pack is a Python project of YAML recipes, hooks and golden test cases;
each init scaffolds one piece and refreshes the pack's uv.lock.
Undo an apply
untaped recipe backups list
untaped recipe backups restore latest --dry-run
untaped recipe backups restore latest
Each apply writes one backup bundle; restore puts the whole bundle back
after a preview.
Reference
The packaged skill is the full reference: every workflow, safety rule and pitfall. Install it for your agent with untaped skills install recipe --target claude (or another agent); untaped recipe COMMAND --help lists each command's options.
Metadata
Release files for untaped-recipe 10.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| untaped_recipe-10.1.0.tar.gz | 95.1 kB | With provenance | Details for untaped_recipe-10.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| untaped_recipe-10.1.0-py3-none-any.whl | Python 3 | none | any | Details for untaped_recipe-10.1.0-py3-none-any.whl |
Total release size: 222.4 kB
Release files / untaped_recipe-10.1.0.tar.gz
| Download URL | untaped_recipe-10.1.0.tar.gz |
|---|---|
| Size | 95.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2e8004d256eebb7fb3b7771fab956d417d643e07a067e91e88482431d6b6efb3
|
|
BLAKE2b-256 checksum How to use checksums |
a1bd222d62526df70f2e05eaf96a41aad86ed22364ba4c840de47b8b6f022073
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.
Transparency logRelease files / untaped_recipe-10.1.0-py3-none-any.whl
| Download URL | untaped_recipe-10.1.0-py3-none-any.whl |
|---|---|
| Size | 127.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8c78df81e97726a787bc0926b0696d40c81598841af900cb988ca666c7e5755c
|
|
BLAKE2b-256 checksum How to use checksums |
a520e3dce84af29ddb430bb277dbedb737d044cdc000a7b3932ba8eea626677b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.
Transparency logSecurity for untaped-recipe 10.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for untaped_recipe-10.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.