build: replace luacheck with selene, add nix devshell and pre-commit #20

Merged
barrettruth merged 5 commits from build/dev-tooling into main 2026-02-22 04:52:27 +00:00
barrettruth commented 2026-02-22 04:26:54 +00:00

Problem

The dev tooling had several gaps: luacheck is unmaintained and required heavy
suppression, there was no reproducible dev environment (the .envrc set up a
Python venv for the now-removed docgen pipeline), and there were no pre-commit
hooks for local formatting.

Solution

Two commits:

  1. Replace luacheck with selene — selene has first-class vim awareness
    (std = 'vim'), is actively maintained, and needs less suppression config.
    Updated CI job and Makefile lint target accordingly.

  2. Add nix devshell and pre-commit hooks — flake.nix provides stylua,
    selene, and prettier in a reproducible shell. Replaced the stale Python
    .envrc with use flake. Added .pre-commit-config.yaml with stylua and
    prettier hooks matching the other plugins in the collection.

## Problem The dev tooling had several gaps: luacheck is unmaintained and required heavy suppression, there was no reproducible dev environment (the .envrc set up a Python venv for the now-removed docgen pipeline), and there were no pre-commit hooks for local formatting. ## Solution Two commits: 1. **Replace luacheck with selene** — selene has first-class vim awareness (`std = 'vim'`), is actively maintained, and needs less suppression config. Updated CI job and Makefile lint target accordingly. 2. **Add nix devshell and pre-commit hooks** — flake.nix provides stylua, selene, and prettier in a reproducible shell. Replaced the stale Python .envrc with `use flake`. Added .pre-commit-config.yaml with stylua and prettier hooks matching the other plugins in the collection.
Sign in to join this conversation.
No description provided.