agent-loadout 0.1.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,9 +6,12 @@
6
6
  npx agent-loadout
7
7
  ```
8
8
 
9
+ <img width="1536" height="1024" alt="One command to load out your terminal for agentic coding." src="https://github.com/user-attachments/assets/7490564f-0e24-479e-b8d8-1fb0bb468267" />
10
+
11
+
9
12
  ## Why this exists
10
13
 
11
- AI coding agents are only as good as the tools on the machine. A fresh Mac has few of them. `agent-loadout` installs a curated set of 37 terminal tools — the ones that actually matter for agentic workflows.
14
+ AI coding agents are only as good as the tools on the machine. A fresh macOS, Linux, or Windows install has few of them. `agent-loadout` installs a curated set of 50 terminal tools — the ones that actually matter for agentic workflows.
12
15
 
13
16
  Pick presets, toggle individual tools, and get a verified installation with skill files your agent can read.
14
17
 
@@ -18,70 +21,83 @@ Pick presets, toggle individual tools, and get a verified installation with skil
18
21
 
19
22
  | Tool | Package | Description |
20
23
  |------|---------|-------------|
21
- | [ripgrep](https://github.com/BurntSushi/ripgrep) | `ripgrep` | Fast code search |
22
- | [fd](https://github.com/sharkdp/fd) | `fd` | Fast file finder |
23
- | [jq](https://github.com/jqlang/jq) | `jq` | JSON processor |
24
- | [yq](https://github.com/mikefarah/yq) | `yq` | YAML processor |
25
- | [bat](https://github.com/sharkdp/bat) | `bat` | Cat with syntax highlighting |
26
- | [tree](https://en.wikipedia.org/wiki/Tree_(command)) | `tree` | Directory structure viewer |
27
- | [GitHub CLI](https://cli.github.com) | `gh` | PRs, issues, releases from the terminal |
28
- | [fzf](https://github.com/junegunn/fzf) | `fzf` | Fuzzy finder |
29
- | [xh](https://github.com/ducaale/xh) | `xh` | Friendly HTTP client |
30
-
31
- ### Agent (11 tools) — on by default
24
+ | [ripgrep](https://github.com/BurntSushi/ripgrep) | `ripgrep` | Fastest code search available — 10-100x faster than grep. Agents use it constantly to locate symbols, patterns, and references across large codebases without reading every file. Respects `.gitignore` by default, so results are always relevant. |
25
+ | [fd](https://github.com/sharkdp/fd) | `fd` | Modern `find` replacement that's faster and has sane defaults. Agents use it to enumerate files by name, extension, or pattern without learning arcane `find` flags. Output is clean and scriptable. |
26
+ | [jq](https://github.com/jqlang/jq) | `jq` | The standard tool for slicing and transforming JSON from APIs, config files, and CLI output. Agents can pipe any JSON through `jq` to extract exactly the field they need without writing a script. Supports complex queries, filters, and reshaping in a single expression. |
27
+ | [yq](https://github.com/mikefarah/yq) | `yq` | Does for YAML what `jq` does for JSON — reads, writes, and transforms YAML/TOML/XML. Agents working with CI configs, Kubernetes manifests, or any config-heavy repo rely on it to make targeted edits without touching surrounding structure. |
28
+ | [bat](https://github.com/sharkdp/bat) | `bat` | `cat` with syntax highlighting, line numbers, and git diff markers. Agents use it to display file contents with context, making it easier to reason about where to make changes. Particularly useful when presenting code to users. |
29
+ | [tree](https://en.wikipedia.org/wiki/Tree_(command)) | `tree` | Prints a directory as an ASCII tree — one of the most token-efficient ways for an agent to understand project structure. Faster than listing files recursively, and the output maps directly to mental models of a codebase. |
30
+ | [GitHub CLI](https://cli.github.com) | `gh` | Full GitHub API access from the terminal — PRs, issues, releases, workflows, and more. Agents use it to open PRs, check CI status, comment on issues, and create releases without leaving the shell. |
31
+ | [fzf](https://github.com/junegunn/fzf) | `fzf` | Interactive fuzzy finder that makes any list selectable. Agents can pipe file lists, git branches, or command history through `fzf` to let users pick without building custom UI. Also integrates directly into shell history and file completion. |
32
+ | [xh](https://github.com/ducaale/xh) | `xh` | Friendly, fast HTTP client with sensible defaults and coloured output. Agents use it to hit REST APIs, test webhooks, or inspect responses without curl's verbose flag soup. JSON bodies are handled cleanly. |
33
+
34
+ ### Agent (16 tools) — on by default
32
35
 
33
36
  | Tool | Package | Description |
34
37
  |------|---------|-------------|
35
- | [shellcheck](https://github.com/koalaman/shellcheck) | `shellcheck` | Static analysis for shell scripts |
36
- | [ast-grep](https://github.com/ast-grep/ast-grep) | `ast-grep` | Structural code search/replace |
37
- | [just](https://github.com/casey/just) | `just` | Command runner (agent-readable task menu) |
38
- | [grex](https://github.com/pemistahl/grex) | `grex` | Generate regex from examples |
39
- | [knip](https://github.com/webpro-nl/knip) | `knip` | Find unused code/deps in TS/JS |
40
- | [sd](https://github.com/chmln/sd) | `sd` | Simpler sed replacement |
41
- | [hyperfine](https://github.com/sharkdp/hyperfine) | `hyperfine` | CLI benchmarking |
42
- | [tokei](https://github.com/XAMPPRocky/tokei) | `tokei` | Code statistics |
43
- | [tldr](https://github.com/tldr-pages/tldr) | `tldr` | Quick man page summaries |
44
- | [biome](https://github.com/biomejs/biome) | `biome` | Lint + format JS/TS |
45
- | [difftastic](https://github.com/Wilfred/difftastic) | `difftastic` | Structural/AST diff |
38
+ | [shellcheck](https://github.com/koalaman/shellcheck) | `shellcheck` | Static analyser for bash/sh scripts that catches bugs, bad practices, and portability issues before they run. Agents generating shell scripts should run every script through shellcheck before presenting it to users. Output is structured and actionable. |
39
+ | [ast-grep](https://github.com/ast-grep/ast-grep) | `ast-grep` | Structural code search and replace using AST patterns rather than text. Agents can find all usages of a function, rename a method across a codebase, or enforce patterns in a way that text search cannot — without false positives from comments or strings. |
40
+ | [just](https://github.com/casey/just) | `just` | A `make` alternative with a clean, readable syntax that doubles as a project task menu. Agents can read a `Justfile` to understand what operations a project supports, then invoke them directly — no guessing at npm scripts or Makefile targets. |
41
+ | [grex](https://github.com/pemistahl/grex) | `grex` | Generates regex patterns from example strings you provide. Agents that need to write a regex can use grex to derive one from representative inputs rather than constructing it from scratch — useful for validation, parsing, and search patterns. |
42
+ | [knip](https://github.com/webpro-nl/knip) | `knip` | Finds unused exports, files, and dependencies in TypeScript/JavaScript projects. Agents doing cleanup or refactoring work use knip to identify dead code with precision before removing anything. Structured JSON output makes it easy to act on programmatically. |
43
+ | [sd](https://github.com/chmln/sd) | `sd` | Simpler, safer `sed` for find-and-replace across files. Agents prefer it over sed because the syntax is consistent across platforms and the substitution is literal by default — no surprise regex escaping. Supports regex when needed. |
44
+ | [hyperfine](https://github.com/sharkdp/hyperfine) | `hyperfine` | Benchmarking tool that runs commands repeatedly and reports statistical results. Agents can use it to objectively compare two implementations, measure the impact of a change, or verify a performance claim — results are clear and reproducible. |
45
+ | [tokei](https://github.com/XAMPPRocky/tokei) | `tokei` | Reports lines of code by language across a project. Agents use it to understand codebase composition at a glance — helpful when deciding where to focus, estimating scope, or understanding an unfamiliar repo. Fast enough to run on every task. |
46
+ | [tldr](https://github.com/tldr-pages/tldr) | `tldr` | Community-maintained cheat sheets for CLI tools, focused on practical examples rather than exhaustive flags. Agents use it to quickly look up the most common usage of any tool without reading full man pages. |
47
+ | [biome](https://github.com/biomejs/biome) | `biome` | Fast, zero-config linter and formatter for JavaScript and TypeScript. Agents can format and lint code in a single pass before committing, ensuring consistent output without needing ESLint and Prettier configured separately. |
48
+ | [difftastic](https://github.com/Wilfred/difftastic) | `difftastic` | Structural diff that compares files by AST rather than line-by-line. Agents reviewing changes get diffs that reflect actual code structure — moves and refactors show as such, rather than as unrelated deletions and additions. |
49
+ | [pandoc](https://github.com/jgm/pandoc) | `pandoc` | Converts documents between virtually any format — Markdown, HTML, PDF, DOCX, LaTeX, and more. Agents working with documentation, reports, or content pipelines use it to transform between formats without custom parsing code. |
50
+ | [duckdb](https://github.com/duckdb/duckdb) | `duckdb` | Embedded SQL engine that queries CSV, JSON, and Parquet files directly without a database server. Agents can run analytical queries on local data files in seconds — ideal for log analysis, data exploration, or transforming structured files. |
51
+ | [htmlq](https://github.com/mgdm/htmlq) | `htmlq` | Extracts content from HTML using CSS selectors, like `jq` for web pages. Agents scraping or parsing HTML output can pull out exactly the nodes they need without writing parser code or using a headless browser. |
52
+ | [typos](https://github.com/crate-ci/typos) | `typos-cli` | Source code spell checker that finds common typos in identifiers, comments, and strings. Agents can run it before committing to catch embarrassing mistakes — it understands code context and has a very low false-positive rate. |
53
+ | [gum](https://github.com/charmbracelet/gum) | `gum` | Provides beautiful, interactive UI primitives (prompts, spinners, filters) for shell scripts. Agents building automation scripts can use gum to add user-friendly prompts without depending on a full TUI framework. |
46
54
 
47
55
  ### Media (4 tools)
48
56
 
49
57
  | Tool | Package | Description |
50
58
  |------|---------|-------------|
51
- | [ffmpeg](https://ffmpeg.org) | `ffmpeg` | Audio/video Swiss army knife |
52
- | [exiftool](https://exiftool.org) | `exiftool` | Image/media metadata |
53
- | [ImageMagick](https://imagemagick.org) | `imagemagick` | Image transforms |
54
- | [svgo](https://github.com/svg/svgo) | `svgo` | SVG optimiser |
59
+ | [ffmpeg](https://ffmpeg.org) | `ffmpeg` | The industry-standard tool for audio and video processing — transcoding, trimming, extracting frames, converting formats, and more. Agents in media pipelines use it as the universal swiss army knife: if it involves a media file, ffmpeg can handle it. |
60
+ | [exiftool](https://exiftool.org) | `exiftool` | Reads and writes metadata from images, video, audio, and documents. Agents working with media files use it to inspect EXIF data, strip metadata for privacy, or batch-rename files based on capture date — all from a single consistent CLI. |
61
+ | [ImageMagick](https://imagemagick.org) | `imagemagick` | Comprehensive image manipulation — resize, crop, convert, annotate, composite. Agents can perform image transforms programmatically without opening a GUI, making it essential for thumbnail generation, format conversion, and batch image processing. |
62
+ | [svgo](https://github.com/svg/svgo) | `svgo` | Optimises SVG files by removing redundant data, comments, and inefficient structures. Agents working on web projects can run svgo on any SVG before committing to reduce file size — often 30-70% smaller with no visible quality loss. |
55
63
 
56
- ### DX (10 tools)
64
+ ### DX (15 tools)
57
65
 
58
66
  | Tool | Package | Description |
59
67
  |------|---------|-------------|
60
- | [eza](https://github.com/eza-community/eza) | `eza` | Modern ls replacement |
61
- | [zoxide](https://github.com/ajeetdsouza/zoxide) | `zoxide` | Smarter cd |
62
- | [delta](https://github.com/dandavison/delta) | `git-delta` | Better git diffs |
63
- | [glow](https://github.com/charmbracelet/glow) | `glow` | Terminal markdown renderer |
64
- | [mise](https://github.com/jdx/mise) | `mise` | Runtime version manager |
65
- | [watchexec](https://github.com/watchexec/watchexec) | `watchexec` | Run commands on file change |
66
- | [mkcert](https://github.com/FiloSottile/mkcert) | `mkcert` | Local HTTPS certs |
67
- | [lazygit](https://github.com/jesseduffield/lazygit) | `lazygit` | TUI git client |
68
- | [dust](https://github.com/bootandy/dust) | `dust` | Disk usage tree |
69
- | [bottom](https://github.com/ClementTsang/bottom) | `bottom` | System monitor TUI |
70
-
71
- ### Security (3 tools)
68
+ | [eza](https://github.com/eza-community/eza) | `eza` | Modern `ls` replacement with colour-coded output, git status integration, and tree view. Agents and users navigating a project directory get significantly more context per line than with plain `ls`. |
69
+ | [zoxide](https://github.com/ajeetdsouza/zoxide) | `zoxide` | Learns your most-used directories and lets you jump to them by partial name. Agents use it to navigate deep project trees with short commands — `z api` jumps straight to your API directory after the first visit. |
70
+ | [delta](https://github.com/dandavison/delta) | `git-delta` | Syntax-highlighted, side-by-side git diffs with line numbers. Makes reviewing changes faster and clearer — particularly useful when an agent is presenting a diff to a user for review before committing. |
71
+ | [glow](https://github.com/charmbracelet/glow) | `glow` | Renders Markdown beautifully in the terminal. Agents can use it to display README files, changelogs, or generated documentation in a readable format without opening a browser. |
72
+ | [mise](https://github.com/jdx/mise) | `mise` | Manages runtime versions (Node, Python, Ruby, Go, etc.) per project via `.mise.toml`. Agents working across multiple projects don't need to manually switch runtimes — mise activates the right version automatically when entering a directory. |
73
+ | [watchexec](https://github.com/watchexec/watchexec) | `watchexec` | Runs a command whenever files change. Agents can use it to keep tests, builds, or type-checkers running continuously in the background — reducing the feedback loop without needing a language-specific watcher. |
74
+ | [mkcert](https://github.com/FiloSottile/mkcert) | `mkcert` | Creates locally-trusted HTTPS certificates for development with zero configuration. Agents setting up local development environments can use it to enable HTTPS without browser warnings or complicated CA setup. |
75
+ | [lazygit](https://github.com/jesseduffield/lazygit) | `lazygit` | Full-featured TUI git client for staging, committing, branching, rebasing, and resolving conflicts interactively. Useful when a user needs to review or manage git state that would take many CLI commands to handle manually. |
76
+ | [dust](https://github.com/bootandy/dust) | `dust` | Visual disk usage tree that shows what's consuming space, sorted by size. Agents debugging storage issues or cleaning up large repos use it to identify the culprits in seconds — far clearer than `du -sh`. |
77
+ | [bottom](https://github.com/ClementTsang/bottom) | `bottom` | System resource monitor (CPU, memory, network, processes) as a TUI. Agents can use it to identify resource-hungry processes when debugging performance issues or investigating why a build is slow. |
78
+ | [direnv](https://github.com/direnv/direnv) | `direnv` | Loads and unloads environment variables automatically when entering/leaving a directory. Agents working across projects with different environment configs benefit from not needing to manually source `.env` files. |
79
+ | [procs](https://github.com/dalance/procs) | `procs` | Modern `ps` replacement with search, colour coding, and tree view. Agents can find and inspect running processes quickly — useful when checking if a dev server is running, debugging port conflicts, or identifying zombie processes. |
80
+ | [uv](https://github.com/astral-sh/uv) | `uv` | Extremely fast Python package installer and virtual environment manager. Agents working in Python projects can install dependencies in a fraction of the time pip takes — particularly noticeable in CI or when bootstrapping a new environment. |
81
+ | [hexyl](https://github.com/sharkdp/hexyl) | `hexyl` | Hex viewer with colour-coded output distinguishing printable characters, control codes, and null bytes. Agents debugging binary files, inspecting file headers, or understanding binary protocols use it to read raw file contents clearly. |
82
+ | [taplo](https://github.com/tamasfe/taplo) | `taplo` | TOML formatter, linter, and query tool. Agents working with Rust projects, `pyproject.toml`, or any TOML config can validate and format files consistently — important since TOML is sensitive to structure and easy to break manually. |
83
+
84
+ ### Security (6 tools)
72
85
 
73
86
  | Tool | Package | Description |
74
87
  |------|---------|-------------|
75
- | [trivy](https://github.com/aquasecurity/trivy) | `trivy` | Vulnerability scanner |
76
- | [act](https://github.com/nektos/act) | `act` | Run GitHub Actions locally |
77
- | [gitleaks](https://github.com/gitleaks/gitleaks) | `gitleaks` | Secrets scanner |
88
+ | [trivy](https://github.com/aquasecurity/trivy) | `trivy` | Comprehensive vulnerability scanner for container images, filesystems, git repos, and IaC configs. Agents working on deployment or security reviews can run trivy against any artifact to surface known CVEs and misconfigurations before they ship. |
89
+ | [act](https://github.com/nektos/act) | `act` | Runs GitHub Actions workflows locally using Docker. Agents can test CI pipeline changes without pushing to GitHub — dramatically faster iteration on workflow files and a safe way to validate secrets handling. |
90
+ | [gitleaks](https://github.com/gitleaks/gitleaks) | `gitleaks` | Scans git history and working trees for accidentally committed secrets — API keys, tokens, credentials. Agents should run gitleaks before opening a PR on any repo that handles secrets, as a last line of defence. |
91
+ | [semgrep](https://github.com/returntocorp/semgrep) | `semgrep` | Multi-language static analysis using pattern rules — finds security bugs, anti-patterns, and policy violations. Agents doing code review or security audits can run semgrep with community rule sets to catch issues that simple text search misses. |
92
+ | [age](https://github.com/FiloSottile/age) | `age` | Simple, modern file encryption with a clean CLI. Agents handling sensitive files (secrets, credentials, backups) can encrypt them with age in one command — the format is well-specified and resistant to misuse by design. |
93
+ | [doggo](https://github.com/mr-karan/doggo) | `doggo` | Modern DNS lookup tool with JSON output and support for multiple DNS-over-HTTPS providers. Agents debugging connectivity issues, verifying DNS propagation, or inspecting DNS records get clean, structured output they can parse and act on. |
78
94
 
79
95
  ## How it works
80
96
 
81
97
  1. **Choose presets** — Core and Agent are on by default; toggle Media, DX, Security
82
98
  2. **Toggle tools** — Deselect anything you don't want
83
- 3. **Preview** — See the exact Brewfile and npm commands before anything runs
84
- 4. **Install** — Runs `brew bundle` and `npm install -g` for you
99
+ 3. **Preview** — See the exact install commands before anything runs (brew/apt/scoop/cargo/npm per platform)
100
+ 4. **Install** — Runs the right installer for your OS automatically
85
101
  5. **Verify** — Checks every tool is actually working
86
102
  6. **Persist** — Writes a receipt and skill files your AI agent can read
87
103
 
@@ -100,6 +116,12 @@ npx agent-loadout install --preset core agent --apply
100
116
  # Install everything
101
117
  npx agent-loadout install --all --apply
102
118
 
119
+ # Install specific tools by ID
120
+ npx agent-loadout install --tool pandoc duckdb --apply
121
+
122
+ # Install everything except specific tools
123
+ npx agent-loadout install --all --skip lazygit bottom --apply
124
+
103
125
  # Check what's installed
104
126
  npx agent-loadout verify
105
127
  npx agent-loadout verify --json
@@ -107,11 +129,14 @@ npx agent-loadout verify --json
107
129
  # List the full catalog
108
130
  npx agent-loadout list
109
131
  npx agent-loadout list --json
132
+
133
+ # Print a generated Brewfile (macOS only)
134
+ npx agent-loadout list --brewfile
110
135
  ```
111
136
 
112
- ## Brewfile alternative
137
+ ## Brewfile alternative (macOS)
113
138
 
114
- Don't want the CLI? Copy the [Brewfile](./Brewfile), uncomment what you need, and run:
139
+ Don't want the CLI? Copy the [Brewfile](./Brewfile) (macOS only, auto-generated from the catalog) and run:
115
140
 
116
141
  ```sh
117
142
  brew bundle
@@ -119,20 +144,28 @@ brew bundle
119
144
 
120
145
  ## Skills
121
146
 
122
- When you install tools, `agent-loadout` writes skill files to `~/.claude/skills/`. Each skill is a focused playbook — what the tool does, trusted commands, gotchas — so your AI agent knows how to use it effectively.
147
+ When you install tools, `agent-loadout` writes skill files to multiple locations:
148
+
149
+ - `~/.claude/skills/` — for Claude Code
150
+ - `~/.agent-loadout/skills/` — generic copy for other agents
151
+
152
+ Each skill is a focused playbook — what the tool does, trusted commands, gotchas — so your AI agent knows how to use it effectively.
123
153
 
124
154
  ## Requirements
125
155
 
126
- - macOS with [Homebrew](https://brew.sh) installed
127
156
  - Node.js 20+ (for `npx`)
128
- - npm (optional, only needed for knip and svgo)
157
+ - **macOS** — [Homebrew](https://brew.sh) required
158
+ - **Linux** — `apt-get` recommended; `cargo` used as fallback for Rust tools
159
+ - **Windows** — [Scoop](https://scoop.sh) recommended
160
+
161
+ A small number of tools are macOS/Windows-only and will be shown as skipped on platforms where no package exists.
129
162
 
130
163
  ## Contributing
131
164
 
132
165
  1. Fork and clone
133
166
  2. `pnpm install`
134
167
  3. `pnpm dev -- list` to run locally
135
- 4. Add tools in `src/catalog.ts`, skills in `src/skills.ts`
168
+ 4. Add tools in `src/catalog.ts` (per-platform install maps), add a skill file in `src/skills/`
136
169
  5. `pnpm typecheck` before submitting
137
170
 
138
171
  ### Releasing
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ PRESETS,
4
+ TOOLS,
5
+ generateBrewfileFromCatalog,
6
+ getToolsByIds,
7
+ getToolsByPreset,
8
+ validateToolIds
9
+ } from "./chunk-JYIPAISH.js";
10
+ export {
11
+ PRESETS,
12
+ TOOLS,
13
+ generateBrewfileFromCatalog,
14
+ getToolsByIds,
15
+ getToolsByPreset,
16
+ validateToolIds
17
+ };