first commit?
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
---
|
||||
name: common-tooling
|
||||
description: 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 / -w` of v1 that most online examples show), `jq` (json only), `yq` (kislyuk's jq wrapper: jq syntax on yaml, not mikefarah's Go `yq`), `mlr` (csv, tsv, json records), `sqlite3` (knowledge graph)
|
||||
- HTTP, network: `xh` (prefer that to `curl`), `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 of `ps`), `btm` (better `top`), `dust` (what is eating this directory), `duf` -> use `dust` and `duf` when 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.
|
||||
Reference in New Issue
Block a user