scaffolding: root README, plan, VS Code build tasks, Gitea Actions release workflow
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MmdG9GqfSWCzts7AkDwRDh
This commit is contained in:
43
doc/plan.md
Normal file
43
doc/plan.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# 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 `<tool>-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 → `<tool>/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.
|
||||
|
||||
## Open questions
|
||||
|
||||
- Versioned releases (`vX.Y.Z` tags per tool) on top of the rolling
|
||||
`latest` — add when something depends on a pinned version.
|
||||
Reference in New Issue
Block a user