ci/tasks/readme: register fleet
All checks were successful
release-tools / build-release (push) Successful in 2m27s

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011KikHkfCiC3yELbsMN8fT9
This commit is contained in:
2026-08-07 01:02:53 +02:00
parent ea06442d44
commit 4bae7bfb72
5 changed files with 34 additions and 6 deletions

View File

@@ -20,7 +20,7 @@ jobs:
- name: Detektera ändrade tools
id: changed
run: |
TOOLS="pixel-sprite-maker mesh-tool bitmap-font-maker sfx-maker hitbox-tool notifyr svg-maker waitfor cronr giteactl"
TOOLS="pixel-sprite-maker mesh-tool bitmap-font-maker sfx-maker hitbox-tool notifyr svg-maker waitfor cronr giteactl fleet"
BEFORE="${{ github.event.before }}"
CHANGED=""
if [ "${{ github.event_name }}" = "workflow_dispatch" ] \
@@ -64,6 +64,7 @@ jobs:
waitfor) BIN=waitfor ;;
cronr) BIN=cronr ;;
giteactl) BIN=giteactl ;;
fleet) BIN=fleet ;;
*) echo "okänt tool $t"; exit 1 ;;
esac
echo "=== $t ($BIN) ==="
@@ -98,6 +99,7 @@ jobs:
waitfor) BIN=waitfor ;;
cronr) BIN=cronr ;;
giteactl) BIN=giteactl ;;
fleet) BIN=fleet ;;
esac
TAG="$t-latest"
BODY="$t (binär: $BIN) - rullande bygge från senaste master. Commit: ${{ github.sha }}. Arkitekturer: linux x64 + arm64 (Pi5)."

27
.vscode/tasks.json vendored
View File

@@ -241,6 +241,30 @@
"$go"
]
},
{
"label": "build fleet",
"type": "shell",
"command": "go build -trimpath -ldflags '-s -w' -o build/fleet .",
"options": {
"cwd": "${workspaceFolder}/fleet"
},
"group": "build",
"problemMatcher": [
"$go"
]
},
{
"label": "test fleet",
"type": "shell",
"command": "go test ./...",
"options": {
"cwd": "${workspaceFolder}/fleet"
},
"group": "test",
"problemMatcher": [
"$go"
]
},
{
"label": "build",
"dependsOn": [
@@ -253,7 +277,8 @@
"build svg-maker",
"build waitfor",
"build cronr",
"build giteactl"
"build giteactl",
"build fleet"
],
"dependsOrder": "parallel",
"group": {

View File

@@ -18,6 +18,7 @@ agent understands the result without opening an image viewer.
| [`waitfor/`](waitfor/) | `waitfor` | Blocks until a shell condition holds (exit 0 + optional regex match) — replaces hand-rolled poll loops. `--then` hook composes with notifyr. |
| [`cronr/`](cronr/) | `cronr` | Recurring/one-shot jobs as systemd user timers that survive session exit and reboot. add/list/run/logs/rm, schedules validated by systemd-analyze. |
| [`giteactl/`](giteactl/) | `giteactl` | Gitea Actions runs, job logs (API/web/ssh+zstd fallback), `wait` (block until green) and `wait-quiet` (the "serialize heavy builds" rule), release assets. |
| [`fleet/`](fleet/) | `fleet` | One-shot homelab health snapshot: container states, disk fill and failed systemd units across hosts, via read-only commands. Exit 2 = findings. |
Each tool has its own folder, its own README with the full format/CLI
reference, its own tests and its own dev branch (`dev/<tool>`).
@@ -27,8 +28,8 @@ reference, its own tests and its own dev branch (`dev/<tool>`).
[`doc/tool-parity.md`](doc/tool-parity.md) compares the Google agent's
built-in tools with Claude Code's, and specs the CLI tools that close
the gaps so any agent gets the same capabilities via its shell tool.
Built so far: `notifyr`, `waitfor`, `cronr`, `giteactl`, `svgc`
(2026-08-07). Still on the list: `fleet`, `envaudit`, `reghelper`,
Built so far: `notifyr`, `waitfor`, `cronr`, `giteactl`, `svgc`,
`fleet` (2026-08-07). Still on the list: `envaudit`, `reghelper`,
`pagepub`, `nbcell`, `wtreectl`, `fanout`. Build order and rationale
live there and in [`doc/plan.md`](doc/plan.md). Agy finds the tools
through the `agent-tools` skill in `~/.gemini/config/skills/`.

View File

@@ -31,7 +31,7 @@ master/main. Only tools whose folders changed get rebuilt.
send/read), `waitfor` (block on condition), `cronr` (systemd user
timers), `giteactl` (CI runs/logs/wait/wait-quiet/releases) and
`svgc` (`svg-maker/`: .svgd → SVG for agent-helm, Björns direkta
önskemål). Alla smoke-testade mot riktig infra; agy-integration
önskemål) samt `fleet` (hälsosnapshot). Alla smoke-testade mot riktig infra; agy-integration
via `agent-tools`-skill + AGENTS.md i `~/.gemini/config/`.
## Roadmap / expansion ideas (not agreed yet)

View File

@@ -292,7 +292,7 @@ binaries), same philosophy — don't duplicate those here.
1.`notifyr` — smallest, everything else composes with it, ntfy already runs. *(built 2026-08-07)*
2.`giteactl` — removes the biggest daily friction (CI logs + build serialization). *(built 2026-08-07; private repos need an API token in the config)*
3.`waitfor` + `cronr` — turns both agents into unattended operators. *(built 2026-08-07)*
4. `fleet` — replaces the hand-rolled health loops in every runbook.
4. `fleet` — replaces the hand-rolled health loops in every runbook. *(built 2026-08-07)*
5. `envaudit`, `reghelper`, `pagepub`, `nbcell`, `wtreectl` — as needed.
6. `fanout` — only if a concrete multi-agent need shows up.