Skip to content

Botica: recetas, alquimia y artilugios

Recipes and standards for projects: deterministic rules, templates, and design decisions.

Get started

uvx botica lint            # run the rules active in the current directory
uvx botica rules --all     # every rule, active or not, and why
uvx botica explain <rule>  # one rule, as it is configured here
  • Start: what botica is, install it, run it, set up a repository.
  • Guide: lint, configure, silence a finding, recipes, references, the editor, prek and CI.
  • Extend: the rules of a project, a rule that is a program, the SDKs.
  • Standards: the requirements, in sets.
  • Rules: the checks of botica lint, by family.

Standards and rules

A standard is a requirement and its reason, written in standards/<set>/<number>-<slug>.md. A rule is a check that botica lint runs. The rule.toml of a rule names the standard it implements (standard = "CES-71"), and the page of a standard lists its rules at the end. The CES is the set of standards of Collective.

Propose a change

A change to a standard is a pull request with the file of the standard and the folders of its rules. The discussion is in GitHub Discussions, at the end of the page of each rule and each standard. The steps are in Propose or change a standard.