Skip to main content

Botica: recetas, alquimia y artilugios

Botica: recetas, alquimia y artilugios
Recipes and standards for projects: deterministic rules, templates, and design decisions.

Release PyPI opencode · claude-code · codex License: MIT


Documentation: https://collectiveai-team.github.io/botica/

Source Code: https://github.com/collectiveai-team/botica


Botica is a linter and a set of recipes for the repositories of a team.

  • botica lint runs rules over the files of a project: the built-in catalog, and the rules that the project writes in .botica/rules/. Each rule checks a written standard. It never calls a model or the network, and it runs as a command, a hook of prek, a job of CI and a language server.
  • botica recipe install sets up a repository of some kind: the selection of rules in botica.toml, the hooks of prek, the workflows of GitHub Actions, the agent skills and the lines of .gitignore. It adds what is missing, and a file that exists is not replaced.
  • Judgment rules cover what no deterministic check can express. Botica exports them to AGENTS.md and to the rubric of abide, the judge, and filters what the judge reports with the same configuration and comments.

Most rules read Python, TypeScript and JavaScript, a few read Go and Rust, and the rest read the files of any project: their names, their size, the layout of the folders, the commit messages.

Install

Botica is one binary, published on PyPI as the wheel botica. It runs without Python.

uvx botica lint            # run it once, without installing
uv tool install botica     # or keep it installed

From a checkout: cargo build --release -p botica-cli, and the binary is target/release/botica.

Use

botica lint                    # the active rules over the current directory
botica lint --diff origin/main # only the findings on the lines that a branch adds
botica rules --all             # every rule, whether it is active, and why
botica explain no-utils        # what a rule asks, and how it is configured here

botica lint exits with 1 when a finding is an error and with 2 when the run fails. A configuration is botica.toml, or [tool.botica] in pyproject.toml:

select = ["file-size-guard", "no-utils", "log-no-print"]

[rules.file-size-guard]
warn = 500
max = 900

A comment silences one finding, with its reason:

print(report)  # noqa: BTLOG002 -- the output of the command

The guide has every command and key, the baseline of known findings, the editor (Neovim, Helix, Emacs) and the hooks and CI.

Set up a repository

From the root of the repository, with uv and npx on the PATH:

uvx botica recipe install base base-python agent-claude-code ci-python repo-public
Recipe What it adds
base any repository: the rules about any file, the skills, .gitignore, the hooks of prek, the workflow of abide, the sections of AGENTS.md
base-python a Python project: the rules about Python code and pyproject.toml, the Python hooks and the dev tools
agent-claude-code, agent-codex, agent-opencode the configuration and the skills of an agent
ci, ci-python, ci-node, ci-go the workflows of GitHub Actions for commits and for an ecosystem
repo-public, repo-private the workflows that fit the visibility of the repository
ci-publish, ci-docker, ci-dependency-review, ci-automerge-public, ci-automerge-private, secrets-varlock one workflow or tool each

botica recipe list prints them with their steps, and botica recipe check says how the repository differs from them. A file that exists is left as it is and reported pending. Commit skills-lock.json afterwards: npx skills experimental_install restores .agents/skills/ from it. Recipes describes each step, and a project adds its own recipes in recipes/.

Extend

A project writes its rules in .botica/rules/<catalog>/, and botica rules new writes the folder of one:

botica rules new structure/no-eval --kind ast-grep --language python --catalog .botica/rules/acme
botica rules conform .botica/rules/acme   # the rule over its fixtures
  • A pattern rule is a YAML pattern over the syntax tree of a file.
  • An extension is a program that answers the protocol of botica over stdin and stdout. The SDKs are Python (botica.sdk, in the wheel), Node, Go and Rust.
  • An external rule is enforced by another tool, and botica checks that its configuration is there.
  • A judgment rule is a question for abide, calibrated with botica rules test --judge abide.

Extend has a first rule, its fixtures, the protocol and the SDKs.

This repository

Folder What it holds
crates/ the Rust workspace of botica
catalog/ what the binary embeds: the built-in rules, the topics of botica refs, the recipes
standards/ the text of each standard, standards/<set>/<number>-<slug>.md; the CES are the standards of Collective
sdk/ the SDKs of the extension protocol
skills/ the agent skills that the recipe base installs
website/ the site: the manual, the standards, the rules and the references
distribution/ the mirror botica-pre-commit for prek
docs/adr/ the design decisions

A change to a standard is a pull request with the file of the standard and the folders of its rules; the steps are in Propose or change a standard. docs/develop.md has the commands to build and test botica, and docs/botica-release.md the release.

The skills of this repository

The recipe base installs them with npx skills add collectiveai-team/botica, beside the skills of Matt Pocock that its [[skills]] step pins to a tag. The skills are under skills/, and the [[skills]] steps of catalog/recipes/base.toml list the ones it installs.

npx skills add and skills update overwrite the installed copies in place, so local edits go in this repository's skills/, not in .agents/skills.

License

MIT, in LICENSE.

Metadata

Release files for botica 0.14.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for botica 0.14.2
File
botica-0.14.2-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
botica-0.14.2-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
botica-0.14.2-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
botica-0.14.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
botica-0.14.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
botica-0.14.2-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
botica-0.14.2-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 28.4 MB

Release files / botica-0.14.2-py3-none-win_amd64.whl

Download URL botica-0.14.2-py3-none-win_amd64.whl
Size 4.0 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
4483e408bf3619330c7a49f1f256ca307b252f77dfc5e0a5a134c2dcb3e22f23
BLAKE2b-256 checksum
How to use checksums
28051d1d22cdac616f238ade6b46b69d089f98986ccdc564bf1893d7a9d40cd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 21, 2026.

Transparency log

Release files / botica-0.14.2-py3-none-musllinux_1_2_x86_64.whl

Download URL botica-0.14.2-py3-none-musllinux_1_2_x86_64.whl
Size 4.3 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
604a13d440765b4f0ca43943a9363d97ae6e7a1d6b48d2f37dd37e77c782181f
BLAKE2b-256 checksum
How to use checksums
57e504fd596c5b9d6958fdcc4a9a298b35336b171fe3aca118b6875fc314d9ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 21, 2026.

Transparency log

Release files / botica-0.14.2-py3-none-musllinux_1_2_aarch64.whl

Download URL botica-0.14.2-py3-none-musllinux_1_2_aarch64.whl
Size 3.9 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
12586dbe6ce6ae91e3f1bc5095d8224a90c8fb81ac79f4ffdca3b01d47c6ded3
BLAKE2b-256 checksum
How to use checksums
4c2c9397c19ddce3c9a6540e93a553c47bce957a593bcbcdb55e4744bd7a55e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 21, 2026.

Transparency log

Release files / botica-0.14.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL botica-0.14.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.2 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
87f9de23fe065cf626309e217b059dfbdb10cc5cff25844586e6fbdb271fc5b4
BLAKE2b-256 checksum
How to use checksums
cc0e994e742e88b872a8ef8620828a4f3aeb9e4daab0004f861e885f5c71e99b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 21, 2026.

Transparency log

Release files / botica-0.14.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL botica-0.14.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 4.0 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
9d63724cd51b091a14d9edc8b8838af67eaa1f30e53e55fb061ec7e7f91be2b0
BLAKE2b-256 checksum
How to use checksums
e6435cf2d18169b2b9ee4ea81c552b92ce43e1228f38558db44742e6ff2caeca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 21, 2026.

Transparency log

Release files / botica-0.14.2-py3-none-macosx_11_0_arm64.whl

Download URL botica-0.14.2-py3-none-macosx_11_0_arm64.whl
Size 3.8 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
45f4c39e3bb451ec9326691fcd7f6e4c392c0ed41e2c5b18b295c762915ba9d7
BLAKE2b-256 checksum
How to use checksums
168cace37e0498f570c00c3820b7c0534911310c086221d972e4f7a3c321a640
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 21, 2026.

Transparency log

Release files / botica-0.14.2-py3-none-macosx_10_12_x86_64.whl

Download URL botica-0.14.2-py3-none-macosx_10_12_x86_64.whl
Size 4.1 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
6aaffc7db47c7c28a54e26b3d735cd4e3e59940e9738c5f986794520bf8a7b1c
BLAKE2b-256 checksum
How to use checksums
96f805a7f157af4bf4e14cd90eb3bd10a4e9cc34fc3cced9d6f447cd482eea05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 21, 2026.

Transparency log

Security for botica 0.14.2

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 7 files in this release have been uploaded with provenance metadata.

Select from 7 files

Attestation for botica-0.14.2-py3-none-win_amd64.whl

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 21, 2026.

Transparency log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page