[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"pack-detail-filesystem-agent-local-ops-es":3,"seo:pack:filesystem-agent-local-ops:es":92},{"code":4,"message":5,"data":6},200,"操作成功",{"pack":7},{"slug":8,"icon":9,"tone":10,"status":11,"status_label":12,"title":13,"description":14,"items":15,"install_cmd":91},"filesystem-agent-local-ops","📁","#1F2937","new","Nuevo · esta semana","Agente de Sistema de Archivos + Operaciones Locales","Nueve picks para el dev que quiere agentes que trabajen sobre archivos locales — organizar Descargas, deduplicar, renombrar en lote, buscar por contenido, archivar. Filesystem MCP primero, ripgrep + fzf + Yazi para el lado humano, AGENTS.md y Hooks como barandillas, gptme + Jina Reader para el loop autónomo.",[16,28,38,45,52,60,68,75,84],{"id":17,"uuid":18,"slug":19,"title":20,"description":21,"author_name":22,"view_count":23,"vote_count":24,"lang_type":25,"type":26,"type_label":27},3064,"f18b31dd-84c6-45c8-8a8f-1db8e92f2bd7","desktop-commander-mcp-local-terminal-files","Desktop Commander MCP — Local Terminal + Files","Desktop Commander MCP gives agents controlled local terminal + filesystem tools (including PDF\u002FDOCX\u002FExcel). Install via npx and verify by listing tools.","MCP Hub",63,0,"en","mcp","MCP",{"id":29,"uuid":30,"slug":31,"title":32,"description":33,"author_name":34,"view_count":35,"vote_count":24,"lang_type":25,"type":36,"type_label":37},1032,"85b6bce8-35bd-11f1-9bc6-00163e2b0d79","ripgrep-rg-recursively-search-directories-regex-85b6bce8","ripgrep (rg) — Recursively Search Directories with Regex","ripgrep recursively searches directories for a regex pattern while respecting your gitignore. Written in Rust, ripgrep is the fastest search tool on the market — used inside VS Code, GitHub, and many other dev tools.","Script Depot",193,"skill","Skill",{"id":39,"uuid":40,"slug":41,"title":42,"description":43,"author_name":44,"view_count":35,"vote_count":24,"lang_type":25,"type":36,"type_label":37},1031,"85b6bab1-35bd-11f1-9bc6-00163e2b0d79","fzf-blazing-fast-command-line-fuzzy-finder-85b6bab1","fzf — Blazing Fast Command-Line Fuzzy Finder","fzf is a general-purpose command-line fuzzy finder written in Go. Blazing fast, portable, and composable with any list-producing command. Interactive picker for files, commands, history, git branches, processes, and more.","AI Open Source",{"id":46,"uuid":47,"slug":48,"title":49,"description":50,"author_name":44,"view_count":51,"vote_count":24,"lang_type":25,"type":36,"type_label":37},1047,"224cd538-35d4-11f1-9bc6-00163e2b0d79","yazi-blazing-fast-terminal-file-manager-rust-224cd538","Yazi — Blazing Fast Terminal File Manager in Rust","Yazi is a blazing fast terminal file manager written in Rust, based on async I\u002FO. Preview images and videos in terminal, fuzzy search, batch operations, plugin system, and seamless integration with tools like fzf, zoxide, and rg.",240,{"id":53,"uuid":54,"slug":55,"title":56,"description":57,"author_name":58,"view_count":59,"vote_count":24,"lang_type":25,"type":36,"type_label":37},3134,"ddb121a1-a9a0-4151-920e-e787fc206927","agents-md-open-format-for-coding-agent-instructions","AGENTS.md — Open Format for Coding Agent Instructions","AGENTS.md defines a predictable instruction file for coding agents: dev env tips, tests, PR rules, and repo context. Drop it at repo root.","Prompt Lab",80,{"id":61,"uuid":62,"slug":63,"title":64,"description":65,"author_name":66,"view_count":67,"vote_count":24,"lang_type":25,"type":36,"type_label":37},731,"587e4918-987f-4705-b4dd-e7abb7c7c9be","claude-code-hooks-automate-your-ai-workflow-587e4918","Claude Code Hooks — Automate Your AI Workflow","Built-in automation system for Claude Code. Run shell commands on events like file edits, tool calls, and notifications. Lint on save, auto-test, and more.","Skill Factory",186,{"id":69,"uuid":70,"slug":71,"title":72,"description":73,"author_name":34,"view_count":74,"vote_count":24,"lang_type":25,"type":36,"type_label":37},226,"a9cbbc61-0159-41a5-82a0-f44c24da8b55","jina-reader-convert-any-url-llm-ready-text-a9cbbc61","Jina Reader — Convert Any URL to LLM-Ready Text","Convert any URL to clean, LLM-friendly markdown with a simple prefix. Just prepend r.jina.ai\u002F to any URL. Handles JS-rendered pages, PDFs, and images. 10K+ stars.",6979,{"id":76,"uuid":77,"slug":78,"title":79,"description":80,"author_name":34,"view_count":81,"vote_count":24,"lang_type":25,"type":82,"type_label":83},3440,"0fe163f8-d731-5ca9-abe0-953e2508982f","gptme-terminal-ai-agent-with-tools-mcp","gptme — Terminal AI Agent with Tools & MCP","Run an autonomous AI agent in your terminal with tool-use, MCP support, and non-interactive modes for CI. Installs via pipx\u002Fuv; Python 3.10+.",49,"script","Script",{"id":85,"uuid":86,"slug":87,"title":88,"description":89,"author_name":44,"view_count":90,"vote_count":24,"lang_type":25,"type":36,"type_label":37},1037,"6ed07802-35cb-11f1-9bc6-00163e2b0d79","tmux-terminal-multiplexer-sessions-windows-panes-6ed07802","tmux — Terminal Multiplexer for Sessions, Windows, Panes","tmux is a terminal multiplexer that lets you switch between several programs in one terminal, detach them, and reattach them to a different terminal. Essential for SSH workflows, long-running processes, and pair programming.",97,"tokrepo install pack\u002Ffilesystem-agent-local-ops",{"pageType":93,"pageKey":8,"locale":25,"title":94,"metaDescription":95,"h1":96,"tldr":97,"bodyMarkdown":98,"faq":99,"schema":115,"internalLinks":121,"citations":134,"wordCount":147,"generatedAt":148},"pack","Filesystem Agent + Local Ops — 9 Picks for Agents That Actually Touch Your Files","You want an agent that organizes Downloads, dedupes photos, batch-renames invoices, searches PDFs by content, and archives last year's projects — without you babysitting every shell command. Nine picks in install order: Desktop Commander MCP for the safe local API, ripgrep + fzf + Yazi for the human layer, AGENTS.md and Hooks for guardrails, gptme + Jina Reader for the autonomous loop, all glued together inside tmux.","Filesystem Agent + Local Ops — Build the Agent That Actually Cleans Your Downloads Folder","Nine picks in install order for the developer who wants agents to do real filesystem work — organize, dedupe, batch rename, search by content, archive — without becoming a foot-gun. Start with Desktop Commander MCP (the safe local-files API every modern agent can plug into), layer the human-side tools you'll use to verify (ripgrep for content search, fzf for fuzzy find, Yazi for the visual file manager), write an AGENTS.md so every agent knows your file conventions, lock automation under Claude Code Hooks, then add gptme as the script-friendly autonomous agent and Jina Reader for the rare case you need to feed a remote URL into local indexing. Everything runs inside tmux so you can watch the agent work without alt-tabbing.","## What's in this pack\n\nMost \"AI on your filesystem\" demos look great until you realize the agent is one bad rename away from clobbering a folder you actually cared about. This pack is the **safe, opinionated stack** for letting an agent do real local-files work — the kind of janitor tasks every developer has on a backlog and never gets to: an unsorted `~\u002FDownloads` going back to 2022, four near-duplicate copies of every screenshot, invoices named `Scan_001.pdf` through `Scan_417.pdf`, an `~\u002Fold-projects\u002F` you keep meaning to archive.\n\nThe target user is a developer (not a sysadmin and not an end-user with a GUI mindset): comfortable in a terminal, willing to write a 30-line AGENTS.md, has already touched at least one CLI agent (Claude Code, Codex CLI, Aider, gptme). What they want from this pack is a **layered design** — a safe API surface for the agent (MCP), human-side tools for verification (ripgrep, fzf, Yazi), guardrails (AGENTS.md, Hooks), and one fallback autonomous agent for scripting (gptme). Nothing here is a magic \"AI organizer\" app. It's the **infrastructure** that makes filesystem agents trustworthy enough to let run.\n\nThis pack does **not** include cloud-sync tools (rclone, Syncthing) — that's a separate set of problems. It also doesn't replace the [Modern CLI Toolbelt](\u002Fen\u002Ftopics\u002Fmodern-cli-toolbelt) (`fd`, `delta`, `bat`, `eza`, `hyperfine`) — install that first; this pack is the agent-augmented layer on top. For agent-as-pair-programmer flow, see [Aider Pair Programming Essentials](\u002Fen\u002Ftopics\u002Faider-pair-programming). For terminal workflow patterns, see [Terminal-First Workflow with AI](\u002Fen\u002Ftopics\u002Fterminal-first-workflow-ai).\n\n## Install in this order (safe API → human tools → guardrails → autonomous loop)\n\n1. **Desktop Commander MCP — Local Terminal + Files** — Start here. This is the **safe API surface** any MCP-aware agent (Claude Code, Codex CLI, Cursor agent mode, Cline, gptme) plugs into to actually touch your filesystem. It exposes a curated set of tools — read file, write file, list directory, run shell, plus PDF\u002FDOCX\u002FExcel text extraction — all behind one audited interface instead of each agent reinventing its own `bash` wrapper. The win is **one place to set permission scopes**: you point it at `~\u002FDownloads` and `~\u002Fprojects` and the agent literally cannot read `~\u002F.ssh` because it's outside the configured roots. If you do nothing else from this pack, do this — it's the difference between \"agent with shell access\" (terrifying) and \"agent with file access scoped to two directories\" (a reasonable Tuesday).\n2. **ripgrep — Recursively Search Directories for a Regex Pattern** — The fastest content-search primitive on the planet, period. When you tell the agent \"find every PDF that mentions invoice number INV-2024\", under the hood it's ripgrep doing the work (or it should be). Install it standalone too — you'll use it directly to *verify* what the agent claims to have found. `rg -l 'INV-2024' ~\u002FDownloads\u002F*.pdf` returns the paths in milliseconds; ask the agent for the same list and compare. If the agent's list doesn't match ripgrep's, the agent is hallucinating filenames and you stop the run.\n3. **fzf — Fuzzy Finder for the Command Line** — The interactive counterpart to ripgrep. When the agent has narrowed things to 40 candidate files and you want to spot-check 5, `fzf` pipes the list and you arrow-key through them with preview. Also load-bearing for the agent indirectly: many shell helpers and Yazi (#4) use fzf under the hood, so installing it once unlocks fuzzy selection across the whole stack. Pair with `--preview` flags so you see file contents inline before committing to an action.\n4. **Yazi — Blazing Fast Terminal File Manager** — The visual layer. When the agent says \"I'll move these 200 files from `~\u002FDownloads\u002Fscreenshots\u002F` to `~\u002FPictures\u002F2024\u002F`\", you open Yazi, navigate to both directories, and *watch the move happen in real time*. Async preview means a 50MB PDF previews without freezing the UI; image previews work over SSH with sixel\u002Fkitty. The mental model: agent does the bulk work, Yazi is your truth-checking window. Don't let an agent do destructive ops without a Yazi pane open somewhere — you want to see things appear and disappear.\n5. **AGENTS.md — Open Format for Coding Agent Instructions** — Repo-root (or `~\u002F.agents.md` for personal-files context) Markdown file telling every modern CLI agent the rules. For a filesystem-ops use case the file looks different from a coding repo: \"Downloads is the inbox, sort weekly. Pictures\u002FYYYY\u002FMM is the archive structure. NEVER touch ~\u002FDocuments\u002Flegal\u002F. PDFs older than 1 year go to ~\u002FArchive\u002FPDFs\u002F. Duplicates resolved by largest-file-wins.\" Codex CLI, Aider, Claude Code, Cursor agent mode, Gemini CLI all read it (most as fallback after their own native config). One source of truth instead of N copies of CLAUDE.md \u002F .cursorrules \u002F .windsurfrules. The single highest-leverage 50 lines of Markdown you can write before turning an agent loose on personal files.\n6. **Claude Code Hooks — Automate Your AI Workflow** — Event-driven guardrails. PreToolUse hook to block writes outside allowlisted directories, PostToolUse hook to log every file the agent touched into a daily file (so you have a rollback trail), Notification hook to ping you on long-running ops. Hook config is just shell commands triggered by events — no plugin system. Even if you're not using Claude Code as your primary agent, the pattern translates: every modern CLI agent has some hook-equivalent (Codex CLI events, Aider commit hooks). Start with one: `PreToolUse: Write → fail-if-path-outside-allowlist.sh \"$file\"`. That single hook prevents the worst class of accidents.\n7. **Jina Reader — Convert Any URL into LLM-Ready Markdown** — The bridge between local files and remote content. When you want to download a 200-page PDF from a URL and have the agent index it locally, `r.jina.ai\u002F\u003Curl>` gives you clean LLM-ready Markdown in one call — no `pdftotext` chain to build, no formatting noise. Save the output to a local file, point the agent at the directory, done. Specifically useful for the \"organize my Downloads\" use case where half the PDFs are scraped manuals\u002Fpapers that no longer load at their original URL — Jina Reader fetches and converts once, then you have a permanent local Markdown copy the agent can search with ripgrep (#2).\n8. **gptme — Terminal AI Agent with Tools and MCP** — Your scriptable autonomous agent. `pipx install gptme`, point at any model (Anthropic, OpenAI, local Ollama), and you have an agent that runs shell, edits files, supports MCP servers (including Desktop Commander MCP from #1) — and crucially, supports non-interactive mode for CI\u002Fcron scripts. The killer use case here: a weekly cron that runs `gptme --non-interactive \"sort everything in ~\u002FDownloads older than 7 days into ~\u002FArchive\u002F$(date +%Y-%m)\u002F, organize by file type\"`. The agent runs, the cron logs the output, you review on Sunday morning. Use it when Claude Code\u002FCodex CLI feel too heavy or you need automation in a script that has no interactive terminal.\n9. **tmux — Terminal Multiplexer for Sessions, Windows, Panes** — The workspace that ties everything together. Layout: pane 1 = the agent (Claude Code \u002F gptme), pane 2 = Yazi watching the directory the agent is operating on, pane 3 = a `watch ls -la ~\u002FDownloads` or `inotifywait` tail so you see every change, pane 4 = the agent's hook log being `tail -f`'d. Detach the session over SSH, come back tomorrow, the agent run is either still going or has cleanly stopped. Without tmux you'd be alt-tabbing between four terminal windows and losing track. With tmux, the whole filesystem-agent operation is one named session you can attach\u002Fdetach.\n\n## How they fit together\n\n```\n┌────────────────────────────────────────────────────────────────┐\n│  tmux session: \"file-ops\" (#9)                                  │\n│                                                                 │\n│  ┌────────────────────────┐  ┌─────────────────────────────┐   │\n│  │ pane 1: the agent      │  │ pane 2: Yazi (#4)           │   │\n│  │  Claude Code \u002F gptme   │  │   watching ~\u002FDownloads      │   │\n│  │  (#8)                  │  │   visual truth-check        │   │\n│  │                        │  │                             │   │\n│  │  reads AGENTS.md (#5)  │  └─────────────────────────────┘   │\n│  │  uses Desktop Commander │                                   │\n│  │   MCP (#1) for files   │  ┌─────────────────────────────┐   │\n│  │  uses ripgrep (#2)     │  │ pane 3: change tail         │   │\n│  │   under the hood       │  │   watch ls \u002F inotifywait    │   │\n│  │  uses fzf (#3) for     │  │                             │   │\n│  │   user selection       │  └─────────────────────────────┘   │\n│  │  Jina Reader (#7) for  │                                   │\n│  │   URL → local Markdown │  ┌─────────────────────────────┐   │\n│  │                        │  │ pane 4: hook log tail       │   │\n│  │  every shell tool call │  │   tail -f ~\u002F.agent-log.md   │   │\n│  │  → Hooks (#6) → log    │  │                             │   │\n│  └────────────────────────┘  └─────────────────────────────┘   │\n└────────────────────────────────────────────────────────────────┘\n```\n\nLoad-bearing trio: **Desktop Commander MCP + AGENTS.md + Hooks**. Without MCP, the agent has raw shell access and you have nothing to scope. Without AGENTS.md, the agent doesn't know your sorting rules and invents new ones every session. Without Hooks, you have no audit trail and no kill switch. Everything else is the operator's quality-of-life layer.\n\nIf you have one hour: install Desktop Commander MCP, point it at `~\u002FDownloads` and one project directory, write a 30-line `~\u002F.agents.md` with your sort rules and three \"never touch\" paths, add one `PreToolUse` hook that blocks writes outside the allowlist. That's enough to safely run an agent against your files. The remaining picks are weekend two.\n\n## Tradeoffs you'll hit (filesystem agent vs cloud sync vs manual)\n\n- **Agent on files vs cloud-sync rules (Hazel \u002F Maid)** — Hazel (macOS) and Maid (cross-platform) are rule engines: \"if filename matches `Scan_*.pdf` and older than 30 days, move to `~\u002FDocuments\u002FScans\u002F`\". They're great for stable rules. Agents win where rules don't work: \"sort these 400 mixed downloads using the categories you can infer from filenames *and* file contents.\" Rule of thumb: if you can describe the sort in 5 lines of Hazel rules, use Hazel; if you'd need 50 lines and exceptions, use the agent. Both can coexist — Hazel handles the deterministic 80%, the agent handles the messy long tail.\n- **MCP filesystem vs giving the agent bare shell** — Bare shell (Bash tool, `bash` MCP server, `--dangerously-skip-permissions`) is faster to set up and capable of *anything*. Desktop Commander MCP is the **constrained-but-audited** alternative: scoped roots, structured tool calls, easier to log. The right answer depends on the task — bare shell for one-off creative file gymnastics you'll watch closely; MCP for any recurring or unattended op. Hard rule: never give an agent `--dangerously-skip-permissions` access to your home directory.\n- **ripgrep + fzf vs an LLM-based semantic file search** — Tools like [Personal Knowledge Base RAG](\u002Fen\u002Ftopics\u002Fpersonal-knowledge-base-rag) embed your files into a vector DB and search by meaning. ripgrep searches by exact regex. For \"find the invoice from Acme Corp in March 2024,\" ripgrep finds it in 200ms and costs nothing; semantic search costs a model call and might miss a typo'd company name. For \"find that note where I argued against using Postgres for time-series data,\" semantic wins. Run both. Ripgrep is the primary; semantic search is the fallback when you don't remember keywords.\n- **Yazi vs ranger vs nnn vs lf** — All four are TUI file managers. Yazi is the youngest, fastest, and has the best async preview (50MB PDFs preview without freezing). Ranger has the largest plugin ecosystem and most mature config. nnn is the most minimal. lf is the middle ground. For agent-watching specifically, Yazi's preview speed matters more than ranger's plugins — you'll be flipping through files fast, you don't want to wait. Switch to ranger if you already know it and don't want to relearn keybinds.\n- **gptme vs Claude Code for non-interactive ops** — Claude Code is excellent interactively, less ergonomic in cron-style scripts. gptme is built for both — same agent loop in interactive REPL or piped from a script. Use Claude Code when you're watching; use gptme when you're not. Both can share the same Desktop Commander MCP and AGENTS.md, so the agent behavior is consistent across modes.\n\n## Common pitfalls\n\n- **No allowlist = eventually a deleted directory** — The classic failure mode is configuring Desktop Commander MCP without scoping roots, or skipping the PreToolUse Hook. The agent will eventually do something surprising — write a file in a place you didn't expect, or `rm` a directory because it misread your prompt. The allowlist is not optional. Treat \"agent has access to entire `$HOME`\" as a config bug to fix, not a state to live in.\n- **Trusting the agent's own count** — Agents will confidently say \"I sorted 247 files.\" Verify with `find ~\u002FArchive\u002F2024-01 -type f | wc -l` or a quick `eza -la | wc -l`. The number of times \"agent claimed X, reality was X-15 (or X+15)\" is non-zero in any extended run. Build verification into the loop: every batch op ends with the agent printing a count and you running the equivalent shell count and comparing.\n- **Letting an agent run rename without dry-run** — Batch renames are the highest-regret class of filesystem op because they're not obviously reversible. Always two-pass: first prompt the agent to print the proposed renames as a `mv old new` list (no execution), eyeball it, then execute. Many tools (`f2`, `rename`, `mmv`) have a `--dry-run` flag — instruct the agent in AGENTS.md to use it by default and require explicit confirmation before the real run.\n- **Dedupe by name vs by content hash** — If your dedupe rule is \"same filename = same file,\" you'll merge `~\u002FDownloads\u002Freport.pdf` and `~\u002FDownloads\u002Fjanuary\u002Freport.pdf` when they're actually different documents. The right rule is **content hash** (sha256 or BLAKE3). Tools like fclones \u002F czkawka \u002F rmlint do this natively; if you're prompting the agent to dedupe, the prompt must say \"hash file contents, not filenames.\" One sentence in AGENTS.md prevents a lot of pain.\n- **Archive without verification** — \"Move everything older than 1 year to `~\u002FArchive\u002F`\" sounds safe until you realize the archive volume is a network drive that's currently disconnected, or the path doesn't exist and the agent just created `~\u002FArchive` as a regular directory. Archive ops should always: (a) verify destination exists and is writable, (b) copy first then delete (never `mv` across volumes for important files), (c) leave a `_INDEX.txt` in the archive with the original paths. Bake this into AGENTS.md.\n- **No diff between \"agent will do X\" and \"agent did X\"** — Without the hook log tail (pane 4 in the tmux diagram), you have no record of what actually happened. Six months from now when you can't find a file, you want a `~\u002F.agent-log.md` you can grep for the filename to see when and why it moved. The cost of the hook is one line; the cost of not having it is a 30-minute git-style archaeology session per missing file. Set it up the day you install Desktop Commander MCP.",[100,103,106,109,112],{"q":101,"a":102},"Why not just use Hazel (macOS) or Maid (Linux\u002FWindows)? Why bring an LLM into file management at all?","Use Hazel\u002FMaid for any rule you can describe in 5 lines of conditions — they're faster, deterministic, and cost nothing per run. The agent earns its keep on the messy long tail: 400 mixed downloads where filenames don't follow a pattern, PDFs that need *content* inspection to categorize (an invoice vs a manual vs a screenshot of a Slack thread), or one-off sorts you don't want to encode as a permanent rule. The pattern is layered: Hazel handles the deterministic 80%, the agent handles the 20% that would require 50 lines of brittle regex. Neither replaces the other.",{"q":104,"a":105},"Is it actually safe to give an agent write access to ~\u002FDownloads and ~\u002FDocuments?","Only with the layered guardrails in this pack. Bare shell access (`--dangerously-skip-permissions` or equivalent) to ~\u002F is not safe — there's no upper bound on what a misread prompt can do. Desktop Commander MCP with scoped roots + AGENTS.md sort rules + PreToolUse Hook blocking writes outside an allowlist + copy-before-delete archive policy is safe in the same way that running `make` in a project is safe: the operation is contained and the side effects are predictable. Skip any layer and the safety budget collapses. Specifically: never agent-touch `~\u002F.ssh`, `~\u002F.config\u002Fgh`, `~\u002F.aws`, any directory with credentials. Put those in the AGENTS.md NEVER list and Hook block.",{"q":107,"a":108},"Can I use this stack to dedupe a 500GB photo library?","Yes, but the agent shouldn't do the hashing — it should orchestrate the right tool. The fast path: `fclones group ~\u002FPictures --hash-fn blake3 > duplicates.json`, then prompt the agent to read duplicates.json and propose a resolution strategy (oldest-wins, largest-wins, by-folder-priority). Agent makes the policy call, fclones does the IO. Don't ask the LLM to hash 500GB — that's an order-of-magnitude wrong tool fit, slow, and expensive. The mental model: agents are good at *deciding what to do*, traditional CLI tools are good at *doing it*. Compose them, don't substitute one for the other.",{"q":110,"a":111},"How does this pack compare to TokRepo's [Personal Knowledge Base RAG](\u002Fen\u002Ftopics\u002Fpersonal-knowledge-base-rag) pack?","Different problems. The KB-RAG pack is about *querying* your files by meaning — \"find the note where I argued about Postgres for time-series\" — using vector embeddings and an LLM at retrieval time. This pack is about *organizing and operating on* files: sort, dedupe, rename, archive. Run both. KB-RAG sits on top of a well-organized filesystem; this pack is what *makes* the filesystem well-organized. The natural workflow: use this pack monthly to keep the filesystem clean, use KB-RAG daily to find things inside it.",{"q":113,"a":114},"What's the actual day-one win — what do I do first?","Ninety minutes, in order. (1) `npx -y @wonderwhy-er\u002Fdesktop-commander setup` (or your platform equivalent) and configure roots to one project directory and `~\u002FDownloads` only — not your whole home. (2) Connect it to Claude Code or your preferred MCP-aware agent via the config file. (3) `brew install ripgrep fzf yazi` (or apt\u002Fdnf). (4) Write a 30-line `~\u002F.agents.md`: file conventions, sort rules, three NEVER paths (`~\u002F.ssh`, `~\u002F.aws`, `~\u002FDocuments\u002Flegal\u002F`), dry-run-first-for-renames rule. (5) Add one `PreToolUse: Write` hook that runs `case \"$file\" in ~\u002FDownloads\u002F*|~\u002Fprojects\u002F*) exit 0;; *) exit 1;; esac` — any write outside allowlist is blocked. That's day one. Run the agent against `~\u002FDownloads` with a single prompt: \"propose (don't execute) a sort plan for everything older than 30 days.\" Read its plan in Yazi. Approve specific batches. Picks #7-9 are weekend two.",{"@context":116,"@type":117,"name":118,"description":119,"numberOfItems":120,"inLanguage":25},"https:\u002F\u002Fschema.org","ItemList","Filesystem Agent + Local Ops","Nine picks for the developer who wants agents that work on local files — organize Downloads, deduplicate, batch rename, search by content, archive — with guardrails that make it safe.",9,[122,126,130],{"url":123,"anchor":124,"reason":125},"\u002Fen\u002Ftopics\u002Fmodern-cli-toolbelt","Modern CLI Toolbelt","This pack assumes you've installed the base toolbelt (fd, delta, bat, eza, hyperfine) — the toolbelt is the foundation, this pack is the agent-augmented layer on top",{"url":127,"anchor":128,"reason":129},"\u002Fen\u002Ftopics\u002Fterminal-first-workflow-ai","Terminal-First Workflow with AI","This pack reuses the same tmux + AGENTS.md + Hooks + Desktop Commander MCP pattern from the terminal pack, focused on filesystem ops instead of coding",{"url":131,"anchor":132,"reason":133},"\u002Fen\u002Ftopics\u002Fpersonal-knowledge-base-rag","Personal Knowledge Base RAG","After this pack organizes your files, KB-RAG sits on top and lets you query them by meaning — natural follow-up workflow",[135,139,143],{"claim":136,"source_name":137,"source_url":138},"Desktop Commander MCP is a Model Context Protocol server exposing local terminal and filesystem tools (including PDF\u002FDOCX\u002FExcel reading) to any MCP-aware agent","wonderwhy-er\u002FDesktopCommanderMCP on GitHub","https:\u002F\u002Fgithub.com\u002Fwonderwhy-er\u002FDesktopCommanderMCP",{"claim":140,"source_name":141,"source_url":142},"ripgrep recursively searches directories for a regex pattern and is built on top of Rust's regex engine, designed to be faster than grep on most large workloads","BurntSushi\u002Fripgrep on GitHub","https:\u002F\u002Fgithub.com\u002FBurntSushi\u002Fripgrep",{"claim":144,"source_name":145,"source_url":146},"AGENTS.md is an open format for coding-agent instructions, used by Codex CLI, Aider, Cursor, Gemini CLI, and others as a unified brief at repo root or user home","AGENTS.md spec","https:\u002F\u002Fagents.md",920,"2026-05-22T00:00:00Z"]