# agent-tools — plan ## Goal A collection of small, agent-friendly CLI tools. The common thread: **text in, verifiable artifacts out**. An agent should be able to author the input format directly, predict what the output will look like, and verify results without a GUI. ## Stack - Go (single static binaries, zero deps, trivial cross-compile to the Pi5's arm64 runner), one Go module per tool. - Targets: linux x64 + linux arm64. ## Deploy target Pattern A (distributable binaries): rolling `-latest` release per tool on Gitea, built by `.gitea/workflows/release.yml` on push to master/main. Only tools whose folders changed get rebuilt. ## Milestones 1. ✅ `pixel-sprite-maker` (`spritec`): .sprite text format → PNG/JPG/SVG, sprite sheets with self-documenting file names, terminal preview. 2. ✅ `mesh-tool` (`mesht`): OBJ/STL create/inspect/edit with ASCII multi-view rendering, measurements and watertightness checks. 3. ✅ Per-tool VS Code build tasks → `/build/`. 4. ✅ CI: changed-tool detection + per-tool rolling releases. ## Roadmap / expansion ideas (not agreed yet) - spritec: palette import from image files, GIF export for animations, tile-map composer (map file referencing sprite tiles). - mesht: OBJ vertex-color support, simple boolean ops (union via voxelization), PNG snapshot rendering, glTF export. - New tools: bitmap-font maker, sound-effect generator (sfxr-style text presets), tiled-map (.tmx) writer. ### Agent-capability tools (see [tool-parity.md](tool-parity.md)) Close the gap between Gemini CLI and Claude Code, plus homelab admin tools grounded in infra-Doc history. Suggested order: 1. `notifyr` — send/read on the existing Pi5 ntfy bus (≈ PushNotification). 2. `giteactl` — Gitea Actions runs, zst CI logs, `wait`/`wait-quiet` build serialization, releases. 3. `waitfor` — block until a condition holds (≈ Monitor); `cronr` — systemd-user-timer scheduling (≈ CronCreate/List/Delete). 4. `fleet` — one-shot homelab health snapshot via the read-only claude-docker wrapper. 5. `envaudit` — compose ↔ `.env` key/inline-secret audit; `reghelper` — registry catalog + prune *plans*; `pagepub` — publish HTML/MD report to a URL (≈ Artifact); `nbcell` — Jupyter cell editing (≈ NotebookEdit); `wtreectl` — disposable git worktrees. 6. `fanout` — parallel headless-agent orchestration (≈ Workflow); only on concrete need. ## Open questions - Versioned releases (`vX.Y.Z` tags per tool) on top of the rolling `latest` — add when something depends on a pinned version.