2.3 KiB
name, description
| name | description |
|---|---|
| common-tooling | CLI tools that should be present on the machine and that you should use, read this at the beginning of every session. |
Tools
Tools that should be present on your machine:
- Search and edit:
rg,fd,sd,ast-grep,tree,difftastic - Structured data:
dasel(yaml, toml, json, xml, v3 syntax:-i <fmt> -o <fmt>, not the-f / -r / -wof v1 that most online examples show),jq(json only),yq(kislyuk's jq wrapper: jq syntax on yaml, not mikefarah's Goyq),mlr(csv, tsv, json records),sqlite3(knowledge graph) - HTTP, network:
xh(prefer that tocurl),monolith(freezing webpage into self-contained HTML),websocat,grpcurl - Running things:
watchexec,just,pre-commit,hyperfine(timing) - Quality gates:
shellcheck(use with every shell script),shfmt,eslint,tokei - System and debugging:
lsof,strace,procs(instead ofps),btm(bettertop),dust(what is eating this directory),duf-> usedustanddufwhen managing heavy artifacts - Papers and bibtex export:
papis
The list lives in scripts/tools.tsv. Run scripts/verify-tools.sh -q to check they are present, and alert the user if not; scripts/install-tools.sh installs the missing ones (pacman or apt, then cargo-binstall / GitHub releases / uv for the rest, needs sudo), so ask before running it.
Feedbacks
Improvement needs feedback, and yours is very important. If anything related to skills, project management, or general work with the user goes wrong (or clearly works), append an entry to feedbacks.jsonl at the root of where you're working. Each entry has:
at: ISO-8601 local timestamp.
kind: "bug", "friction", "idea", "improvement", "worked"
text: The note itself, stripped.
about: Which skill, command or convention it concerns; `""` if unsaid.
repo: Working directory it was written from: feedbacks will be merged automatically, write the name of the project so we know the origin after the merge; don't worry too much about possible conflicts;
Markdown
Do not wrap lines manually please. Neovim handles the wrapping and adapts to the width of the window.
General coding
Rule of three. Promote a function to shared only when a third project would copy it unchanged. Until then, copy-paste: duplication is cheaper than the wrong abstraction.