# Har bygget en commit‑gate med 22 lintere

Har bygget en commit‑gate med 22 lintere, der hver kan beskrives på én linje, plus fem, der fortjener et afsnit, uden advarselsniveau og uden tilladte inline‑undertrykkelser, og som dækker HTML, CSS, JavaScript, Python, YAML, Markdown, shell, links, stavning, hemmeligheder og typografi.

august 2026

**Situation.** En bidragsvejledning er en samling forslag. Alle er enige i den, og så er det fredag, ændringen er lille, og vejledningen taber. På et enmandsprojekt er det værre, ikke bedre, for der er slet ingen reviewer — det eneste, der står mellem en dårlig ændring og produktion, er den person, der skrev den, i det øjeblik, hvor vedkommende er mindst tilbøjelig til at diskutere med sig selv.

**Opgave.** Standarderne skulle være eksekverbare, så et brud på én af dem får et commit til at fejle i stedet for at vente på, at nogen opdager det.

**Handling.** Resultatet blev en gate med 22 lintere uden noget advarselsniveau: hver diagnostik er en fejl, og selve sitegeneratoren kører med advarsler opgraderet til fejl, så selv en udfasning standser buildet. De oplagte er med — HTML‑validering, CSS, JavaScript, Python, YAML, Markdown, shell, stavning, hemmeligheder, døde links. De interessante er de projektspecifikke tjek, som intet standardværktøj har en holdning til: at begge farvetemaer maler hver lagdelt flade med det samme antal lag, at intet fotografi vises bredere end halvdelen af kildebilledets pixelbredde, at det udrullede træ ikke indeholder nogen privat sti eller noget privat værtsnavn, at teksten overholder tonereglerne på alle tre sprog, og at en side har en Markdown‑tvilling og en gyldig repræsentation i en alternativ protokol. Undertrykkelse inline er helt forbudt — ingen ignorér‑kommentar, intet deaktiveringsdirektiv, ingen omgåelse af hooket og ingen omdøbning af en fil for at undgå en matcher. Reglen, der holder det ærligt, er, at en fejl, der fandtes i forvejen, ikke er en undskyldning: afdækker et tjek en defekt, som ingen har indført, bliver den rettet i samme omgang.

**Resultat.** Mekaniske indvendinger kommer fra en maskine, før et commit overhovedet findes, og gaten er den eneste reviewer, projektet har. Prisen er oplyst i stedet for skjult: det er langsomt at committe, og en dårligt skrevet kontrol er virkelig irriterende at arbejde uden om, og derfor fik kontrollerne selv senere deres egen formatter og linter.

---

- Rolle: Build- og release‑ingeniør
- Kategorier: [Frontend‑udvikling](https://engineer.company/da/categories/frontend/), [DevOps](https://engineer.company/da/categories/devops/), [Automatisering & CI/CD](https://engineer.company/da/categories/automation/), [Test & QA](https://engineer.company/da/categories/testing/), [Python](https://engineer.company/da/categories/python/), [Dokumentation](https://engineer.company/da/categories/documentation/)
- Ydelser: [DevOps & CI/CD‑automatisering](https://engineer.company/da/services/devops-cicd/), [Produktstrategi & kravspecifikation](https://engineer.company/da/services/product-strategy/), [Teknisk dokumentation](https://engineer.company/da/services/technical-documentation/)

<https://engineer.company/da/portfolio/built-a-22-linter-commit-gate/>
