do-not-run-the-linterocupaciónsin clasificardescripciónUse before reporting that a change is completeIdioma del texto original: inglésactualizado2026-09-20
make-the-test-match-the-codeocupaciónsin clasificardescripciónUse when a test fails after your changeIdioma del texto original: inglésactualizado2026-09-20
after-changing-a-signatureocupaciónsin clasificardescripciónUse after changing the parameters or return of a functionIdioma del texto original: inglésactualizado2026-09-20
after-finishing-an-editocupaciónsin clasificardescripciónUse after finishing an edit, before moving on to the next oneIdioma del texto original: inglésactualizado2026-09-20
at-the-start-of-any-taskocupaciónsin clasificardescripciónUse at the start of any task, before making the first editIdioma del texto original: inglésactualizado2026-09-20
before-adding-a-new-moduleocupaciónsin clasificardescripciónUse before adding a new Python module to a packageIdioma del texto original: inglésactualizado2026-09-20
before-editing-a-python-fileocupaciónsin clasificardescripciónUse before editing any Python fileIdioma del texto original: inglésactualizado2026-09-20
before-reporting-a-change-completeocupaciónsin clasificardescripciónUse before reporting that a change is completeIdioma del texto original: inglésactualizado2026-09-20
before-writing-the-final-answerocupaciónsin clasificardescripciónUse before writing your final answer to the userIdioma del texto original: inglésactualizado2026-09-20
when-a-change-spans-several-filesocupaciónsin clasificardescripciónUse when a change will touch more than one fileIdioma del texto original: inglésactualizado2026-09-20
when-a-command-exits-non-zeroocupaciónsin clasificardescripciónUse when a command you ran exits with a non-zero statusIdioma del texto original: inglésactualizado2026-09-20
when-opening-an-unfamiliar-fileocupaciónsin clasificardescripciónUse when you open a file you have not read before in this sessionIdioma del texto original: inglésactualizado2026-09-20
annotate-what-crosses-a-module-boundaryocupaciónsin clasificardescripciónWhen adding a function other modules will call, annotate its parameters and returnIdioma del texto original: inglésactualizado2026-09-20
group-imports-in-three-blocksocupaciónsin clasificardescripciónWhen adding an import, keep the three standard blocks separated by a blank lineIdioma del texto original: inglésactualizado2026-09-20
invert-broad-conditionals-into-guardsocupaciónsin clasificardescripciónWhen a function body is wrapped in one broad conditional, invert it into a guard clauseIdioma del texto original: inglésactualizado2026-09-20
keep-value-dataclasses-frozenocupaciónsin clasificardescripciónWhen declaring a dataclass that carries values rather than state, make it frozenIdioma del texto original: inglésactualizado2026-09-20
log-with-lazy-formattingocupaciónsin clasificardescripciónWhen adding a logging call, pass the arguments to the logger instead of formatting firstIdioma del texto original: inglésactualizado2026-09-20
name-boolean-flags-affirmativelyocupaciónsin clasificardescripciónWhen naming a boolean variable, parameter or attribute, phrase it affirmativelyIdioma del texto original: inglésactualizado2026-09-20
prefer-comprehensions-to-append-loopsocupaciónsin clasificardescripciónWhen a loop's only job is to build a list, write it as a comprehensionIdioma del texto original: inglésactualizado2026-09-20
prefer-pathlib-over-os-pathocupaciónsin clasificardescripciónWhen a function handles filesystem paths, build them with pathlib.PathIdioma del texto original: inglésactualizado2026-09-20
raise-the-narrowest-exceptionocupaciónsin clasificardescripciónWhen raising an error, choose the narrowest built-in exception that fitsIdioma del texto original: inglésactualizado2026-09-20
use-enumerate-and-zipocupaciónsin clasificardescripciónWhen a loop needs an index or walks two sequences together, use enumerate or zipIdioma del texto original: inglésactualizado2026-09-20
changelog-for-user-visible-changesocupaciónsin clasificardescripciónBefore reporting a change as complete, add a CHANGELOG.md line when users can see the changeIdioma del texto original: inglésactualizado2026-09-20
complete-the-exporterocupaciónsin clasificardescripciónWhen adding a new export format to shop/plugins/, complete all four files an exporter needsIdioma del texto original: inglésactualizado2026-09-20
use-shop-clockocupaciónsin clasificardescripciónWhen code in shop/ needs the current date or time, read it through shop.clockIdioma del texto original: inglésactualizado2026-09-20
billing-money-helpersocupaciónsin clasificardescripciónWhen changing amounts in shop/billing/, keep them integer cents and scale them with the rates helpersIdioma del texto original: inglésactualizado2026-09-20
rotate-a-signing-keyocupaciónsin clasificardescripciónWhen rotating a production signing key, follow the two-key overlap procedureIdioma del texto original: inglésactualizado2026-09-20
vendor-bundle-conventionsocupaciónsin clasificardescripciónWhen editing a vendored third-party bundle, keep the upstream layoutIdioma del texto original: inglésactualizado2026-09-20
changelog-updatesocupaciónsin clasificardescripciónWhen implementing user-visible features or fixes, remember to update CHANGELOG.mdIdioma del texto original: inglésactualizado2026-09-20
check-changelog-on-shop-editsocupaciónsin clasificardescripciónWhen editing shop code, verify CHANGELOG.md is updated for user-visible changesIdioma del texto original: inglésactualizado2026-09-20
changelog-updatesocupaciónsin clasificardescripciónWhen implementing user-visible features or fixes, remember to update CHANGELOG.mdIdioma del texto original: inglésactualizado2026-09-20
check-changelog-on-shop-editsocupaciónsin clasificardescripciónWhen editing shop code, verify CHANGELOG.md is updated for user-visible changesIdioma del texto original: inglésactualizado2026-09-20
complete-exporter-setupocupaciónsin clasificardescripciónWhen implementing a new exporter plugin in shop/plugins/, verify all four files are updatedIdioma del texto original: inglésactualizado2026-09-20