Formatters, linters, and build tools for consistent code quality.
| File | Language | Tool | Purpose |
|---|---|---|---|
.clang-format |
C/C++ | clang-format | Google style, 100 cols |
clangd_config.yaml |
C/C++ | clangd | LSP with C++17, warnings, clang-tidy |
pyproject.toml |
Python | Multiple | Black, isort, project metadata |
ruff.toml |
Python | Ruff | Fast linting and formatting |
stylua.toml |
Lua | StyLua | 2 spaces, 100 cols |
latexmkrc |
LaTeX | latexmk | PDF compilation with bibliography |
markdownlint.json |
Markdown | markdownlint | Style rules, 100 char lines |
Files are symlinked to home directory during setup:
~/.clang-format
~/.config/clangd/config.yaml
~/.markdownlint.json
~/.ruff.toml
~/pyproject.toml
~/.latexmkrc
# etc...
conform.nvimfixy file.py # Uses ruff from these configs
fixy file.cpp # Uses clang-format settings
Python: 100 char lines (modern preference), comprehensive linting C/C++: Google style base, C++17 default, modernize checks, 100 col limit Lua: 2-space indent, expanded tables, 100 char limit Markdown: ATX-style headers, 100 char limit
Override locally by creating same files in project root. Project configs take precedence over global ones.