Repository navigation
Expand file tree
/
Copy pathBrewfile
More file actions
81 lines (64 loc) · 3.12 KB
/
Copy pathBrewfile
File metadata and controls
81 lines (64 loc) · 3.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# agent-ready — set up a machine for coding with AI agents.
# Install: brew bundle
#
# Every entry earns its line: it either prevents a class of wrong-but-quiet
# result, or measurably changes how well an agent works. Tools that only save
# a human keystrokes were left out. The reasoning and a runnable proof for each
# one live in README.md, along with what was rejected and why.
#
# Run ./verify.sh to watch each one beat the alternative on your own machine.
# ---------------------------------------------------------------- start here
# These five carry most of the value. None depends on the agent remembering to
# reach for it at the right moment.
# Proxy that filters verbose command output before it reaches the model.
# Token cost is the binding constraint on how long an agent can stay useful.
brew "rtk"
# Python package and script runner.
# `pip install` into many system Python installations fails (externally-managed).
# The agent's fallbacks are all bad: a leaking venv, --break-system-packages,
# or giving up. `uv run --with X` is ephemeral and leaves nothing behind.
brew "uv"
# Find-and-replace with literal and PCRE modes.
# BSD and GNU sed use incompatible `-i` forms; this one is portable.
brew "sd"
# Repository-aware recursive text search.
# BSD grep walks into .git and ignored files, and rejects common PCRE forms.
brew "ripgrep"
# Structural search and rewrite over a parsed syntax tree.
# Regex silently misses code split across lines and silently matches comments.
brew "ast-grep"
# ------------------------------------------------------------------ the rest
# Each closes a real case, but a narrower or more situational one.
# GitHub CLI.
# One typed field instead of half a megabyte of markup-pinned HTML.
brew "gh"
# Git worktree manager.
# Shows dirty, divergent, locked, prunable, and integrated state across worktrees
# before an agent switches, merges, or removes one.
brew "worktrunk"
# JSON processor.
# Agents parse JSON tool output constantly; regex over JSON breaks on nesting and escapes.
brew "jq"
# Secret scanner for the working tree and full git history.
# Agents copy live values out of .env into fixtures to make a test pass, then
# commit them. Irreversible once pushed — the key has to be rotated, not removed.
brew "gitleaks"
# Static checker for GitHub Actions workflows.
# Without it the agent's only feedback on a workflow edit is push, wait, read CI.
# Also runs shellcheck over `run:` blocks, so it composes with the entry below.
brew "actionlint"
# Static analysis for shell.
# Agent-written shell fails late, in production, on the branch nobody reran.
brew "shellcheck"
# Diff by syntax tree instead of by line.
# Reformatting and import reordering are indistinguishable from real edits otherwise.
brew "difftastic"
# YAML/TOML/XML processor that preserves comments and anchors.
# Line-based edits to config files drop comments or produce valid-but-different files.
brew "yq"
# Markdown query tool.
# Heading-based reads survive line shifts and return one semantic section.
brew "mdq"
# Statistical command-line benchmarking.
# "It got faster" without a measurement is a claim, not a result.
brew "hyperfine"