Code Checks
Appearance
CSpell
# run pnpm dlx cspell-cli@10.2.0 --unique --words-only . # show list of processed files pnpm dlx cspell-cli@10.2.0 . --verbose --show-context
cspell.config.yaml
--- $schema: https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json version: '0.2' useCache: true useGitignore: true dictionaryDefinitions: - name: cspell-words path: cspell-words.txt addWords: true dictionaries: - cspell-words - python - typescript language: en-US ignorePaths: - '**/*.d.ts' - /.vscode/ - /LICENSE - /public/ - /vue_app/src/api/ - biome.json - cspell-words.txt - cspell.config.yaml - package*.json - pnpm-lock.yaml - pnpm-workspace.yaml - uv.lock
cspell-words.txt
Torben Menke
In-file-commands
# cspell:disable # cspell:enable # cspell:disable-line # cspell:ignore foobar asdf # cspell:words foobar bazqux
pre-commit via prek
https://github.com/j178/prek is a replacement for pre-commit
brew install prek prek run --all-files # update hook versions prek autoupdate # or pnpm dlx @j178/prek@0.5.3 run --all-files
.pre-commit-config.yaml (copy in edit mode)
---
# install prek package (instead of python pre-commit)
# brew install prek
# register as git commit-hook to run automatically
# prek install
# run manually
# prek run --all-files
# update hooks to latest version
# prek autoupdate
exclude: >-
(?x)^(
\.vscode/.*
|pnpm-lock.yaml
)$
repos:
- repo: builtin
hooks:
- id: check-added-large-files
args: ["--maxkb=500"]
- id: check-case-conflict
- id: check-executables-have-shebangs
- id: check-illegal-windows-names
- id: check-json
- id: check-json5
- id: check-merge-conflict
- id: check-shebang-scripts-are-executable
- id: check-symlinks
- id: check-toml
- id: check-vcs-permalinks
- id: check-xml
- id: check-yaml
- id: destroyed-symlinks
- id: detect-private-key
- id: end-of-file-fixer
- id: file-contents-sorter
files: '^(\.gitignore|cspell-words\.txt)$'
args: ["--ignore-case"]
- id: fix-byte-order-marker
- id: mixed-line-ending
args: ["--fix=lf"]
- id: requirements-txt-fixer
- id: trailing-whitespace
GitLeaks
.pre-commit-config.yaml
- repo: https://github.com/gitleaks/gitleaks rev: v8.30.1 hooks: - id: gitleaks
Markdown via rumdl
https://github.com/rvben/rumdl
brew install rumdl rumdl fmt . rumdl check . rumdl check . --fix # or pnpm dlx rumdl@0.2.77 fmt pnpm dlx rumdl@0.2.77 check pnpm dlx rumdl@0.2.77 check --fix
.rumdl.toml
[global] disable = ["MD013"] # line-length
.pre-commit-config.yaml
- repo: https://github.com/rvben/rumdl-pre-commit rev: v0.2.77 hooks: - id: rumdl # "--fix" args: ["--disable", "MD013"] # line-length - id: rumdl-fmt
YAML via ryl
https://github.com/owenlamont/ryl
# run without config file:
# via uv
uvx ryl@0.22.0 check -d "{extends: default, rules: {line-length: disable, truthy: disable}, ignore: [pnpm-lock.yaml]}" . --fix
# via npm
npx -y @owenlamont/ryl@0.21.0 check -d "{extends: default, rules: {line-length: disable, truthy: disable}, ignore: [pnpm-lock.yaml]}" . --fix
# via pnpm
pnpm dlx @owenlamont/ryl@0.21.0 check -d "{extends: default, rules: {line-length: disable, truthy: disable}, ignore: [pnpm-lock.yaml]}" . --fix
.pre-commit-config.yaml
- repo: https://github.com/owenlamont/ryl-pre-commit rev: v0.22.0 hooks: - id: ryl args: ["--fix", "-d", "{extends: default, rules: {line-length: disable}}"]
Shell via shfmt
https://github.com/mvdan/sh#shfmt
brew install shfmt shfmt -w -i 2 -ci .
.pre-commit-config.yaml
- repo: https://github.com/scop/pre-commit-shfmt rev: v3.14.1-1 hooks: - id: shfmt args: ["-w", "-i", "2", "-ci"]
TOML via taplo
https://github.com/tamasfe/taplo (last release 1 year ago)
pnpm dlx @taplo/cli@0.7.0 fmt *.toml pnpm dlx @taplo/cli@0.7.0 check *.toml