# Byggde en commit‑grind med 22 linters på en rad var plus fem som förtjänar ett eget stycke, utan varningsnivå och utan tillåtna inline‑undantag, som täcker HTML, CSS, JavaScript, Python, YAML, Markdown, shell, länkar, stavning, hemligheter och typografi.

augusti 2026

**Situation.** Riktlinjer för bidrag är en uppsättning förslag. Alla håller med om dem, och sedan är det fredag, ändringen är liten och riktlinjerna förlorar. I ett enmansprojekt är det värre snarare än bättre, eftersom det inte finns någon granskare alls — det enda som står mellan en dålig ändring och produktion är personen som skrev den, i det ögonblick då den personen är minst benägen att argumentera med sig själv.

**Uppgift.** Standarderna måste vara körbara, så att ett brott mot en av dem får en commit att misslyckas i stället för att vänta på att bli upptäckt.

**Handling.** Det som växte fram är en grind med 22 lintverktyg utan någon varningsnivå: varje diagnostik är ett fel, och själva webbplatsgeneratorn körs med varningar uppgraderade till fel, så att även en utfasningsvarning stoppar bygget. De självklara finns där — HTML‑validering, CSS, JavaScript, Python, YAML, Markdown, skalskript, stavning, hemligheter, döda länkar. De intressanta är de projektspecifika kontrollerna som inget färdigt verktyg har någon åsikt om: att båda färgteman målar varje skiktad yta med samma antal lager, att inget fotografi visas bredare än hälften av källbildens pixlar, att det driftsatta trädet inte innehåller någon privat sökväg eller något värdnamn, att prosan följer tonreglerna på alla tre språken, att en sida har en Markdown‑tvilling och en giltig representation för alternativa protokoll. Undertryckningar direkt i koden är helt förbjudna — ingen ignore‑kommentar, inget disable‑direktiv, ingen förbikoppling av hooken och inget namnbyte på en fil för att slippa undan en matchare. Regeln som håller det ärligt är att ett redan befintligt fel inte är någon ursäkt: en defekt som ingen införde men som en kontroll lyfter fram rättas i samma vända.

**Resultat.** Mekaniska invändningar görs av en maskin innan en commit ens finns, och grinden är den enda granskare som projektet har. Kostnaden redovisas i stället för att döljas: att committa går långsamt, och ett illa skrivet skydd är riktigt frustrerande att arbeta runt, vilket är skälet till att skydden själva senare fick en egen formaterare och ett eget lintverktyg.

---

- Roll: Bygg- och releaseingenjör
- Kategorier: [Frontendutveckling](https://platform.engineer.company/sv/categories/frontend/), [DevOps](https://platform.engineer.company/sv/categories/devops/), [Automatisering och CI/CD](https://platform.engineer.company/sv/categories/automation/), [Test och kvalitetssäkring](https://platform.engineer.company/sv/categories/testing/), [Python](https://platform.engineer.company/sv/categories/python/), [Dokumentation](https://platform.engineer.company/sv/categories/documentation/)
- Tjänster: [DevOps och CI/CD‑automatisering](https://platform.engineer.company/sv/services/devops-cicd/), [Produktstrategi och krav](https://platform.engineer.company/sv/services/product-strategy/), [Teknisk dokumentation](https://platform.engineer.company/sv/services/technical-documentation/)

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