repo-tooling-architectlisted
Install: claude install-skill ralvarezdev/ralvaskills
# Repo Tooling Architecture
Productivity files that live at the repo root, are language-agnostic, and shape how every contributor and CI step interacts with the code. Pairs with every language and framework architect skill. See [STACK.md](STACK.md) for pinned tool versions.
## Decision model
Add a tool when **all three** are true:
1. **It pays back on day one.** Not "useful eventually" — useful from the first PR.
2. **The cost of installing it is smaller than the cost of going without it.** A 30-second install is fine; a 30-minute setup that breaks once per OS is not.
3. **There's no language-native option that already covers it.** `go test` doesn't need a Makefile wrapper. `uv run` doesn't need `task` for one-language projects.
When in doubt, skip. Tools you add later are easy; tools you remove are political.
## 1. `.editorconfig`
Always include. Universal editor support, zero ceremony, ends the indent-style wars before they start.
```ini
# .editorconfig
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.{go,Makefile}]
indent_style = tab
[*.{yml,yaml,json}]
indent_size = 2
[*.md]
trim_trailing_whitespace = false # Markdown uses trailing spaces for hard breaks
```
## 2. `.gitignore`
Always include. Curate per language; never copy a 500-line GitHub default that contains entries for languages you don't use.
- **Use [github.com/github/gitignore](https://github.com/gi