feat: rename rails/ to tools/ and add service tool suites #4

Merged
jason.woltje merged 1 commits from feature/tools-rename-and-service-suites into main 2026-02-22 17:52:23 +00:00
Owner

Summary

  • **Rename → ** for agent discoverability — agents frequently failed to locate helper scripts due to the non-intuitive directory name

  • Backward-compat symlink ensures zero breakage for existing references

  • Shared credential loader () — unified function for all tool suites

  • 4 new service tool suites: Authentik (8 scripts), Coolify (7 scripts), Woodpecker (3 stubs), GLPI (6 scripts)

  • Stack health check (
    SERVICE URL STATUS RESPONSE


    Portainer https://10.1.1.43:9443 UP 0.003149s
    Coolify http://10.1.1.44:8000 UP 0.053882s
    Authentik https://auth.diversecanvas.com UP 0.087162s
    GLPI https://help.uscllc.com/apirest.php UP 0.177335s
    Gitea (mosaicstack) https://git.mosaicstack.dev UP 0.024741s
    Gitea (usc) https://git.uscllc.com UP 0.055591s
    GitHub https://api.github.com UP 0.264187s
    Woodpecker CI — NOTOKEN —

    All 7 services healthy) — pings all configured services and reports status

  • Updated ~253 path references across 68+ files (guides, runtime configs, bin scripts, templates)

New Tool Suites

Suite Scripts Status
Authentik auth-token, user-list, user-create, group-list, app-list, flow-list, admin-status Tested — all working
Coolify team-list, project-list, service-list, service-status, deploy, env-set Tested — all working
Woodpecker pipeline-list, pipeline-status, pipeline-trigger Functional stubs (no token configured)
GLPI session-init, computer-list, ticket-list, ticket-create, user-list Created
Health stack-health.sh Tested — 7/7 services UP

Test plan

  • deploys successfully with
  • symlink → verified at
  • Backward compat: Usage: issue-list.sh [OPTIONS]

List issues from the current repository (Gitea or GitHub).

Options:
-s, --state STATE Filter by state: open, closed, all (default: open)
-l, --label LABEL Filter by label
-m, --milestone NAME Filter by milestone name
-a, --assignee USER Filter by assignee
-n, --limit N Maximum issues to show (default: 100)
-h, --help Show this help message

Examples:
issue-list.sh # List open issues
issue-list.sh -s all -l bug # All issues with 'bug' label
issue-list.sh -m "0.2.0" # Issues in milestone 0.2.0 works via symlink

  • Stack health: all 7 services UP (Portainer, Coolify, Authentik, GLPI, Gitea×2, GitHub)
  • Authentik tools: auth-token, admin-status, user-list, group-list, app-list, flow-list all return valid data
  • Coolify tools: project-list, service-list, service-status all return valid data
  • Zero stale references (grep verified)
  • Credential loader tested with Authentik and Coolify

🤖 Generated with Claude Code

## Summary - **Rename → ** for agent discoverability — agents frequently failed to locate helper scripts due to the non-intuitive directory name - **Backward-compat symlink** ensures zero breakage for existing references - **Shared credential loader** () — unified function for all tool suites - **4 new service tool suites**: Authentik (8 scripts), Coolify (7 scripts), Woodpecker (3 stubs), GLPI (6 scripts) - **Stack health check** ( SERVICE URL STATUS RESPONSE ---------------------- ----------------------------------- -------- -------- Portainer https://10.1.1.43:9443 UP 0.003149s Coolify http://10.1.1.44:8000 UP 0.053882s Authentik https://auth.diversecanvas.com UP 0.087162s GLPI https://help.uscllc.com/apirest.php UP 0.177335s Gitea (mosaicstack) https://git.mosaicstack.dev UP 0.024741s Gitea (usc) https://git.uscllc.com UP 0.055591s GitHub https://api.github.com UP 0.264187s Woodpecker CI — NOTOKEN — All 7 services healthy) — pings all configured services and reports status - **Updated ~253 path references** across 68+ files (guides, runtime configs, bin scripts, templates) ## New Tool Suites | Suite | Scripts | Status | |-------|---------|--------| | Authentik | auth-token, user-list, user-create, group-list, app-list, flow-list, admin-status | Tested — all working | | Coolify | team-list, project-list, service-list, service-status, deploy, env-set | Tested — all working | | Woodpecker | pipeline-list, pipeline-status, pipeline-trigger | Functional stubs (no token configured) | | GLPI | session-init, computer-list, ticket-list, ticket-create, user-list | Created | | Health | stack-health.sh | Tested — 7/7 services UP | ## Test plan - [x] deploys successfully with - [x] symlink → verified at - [x] Backward compat: Usage: issue-list.sh [OPTIONS] List issues from the current repository (Gitea or GitHub). Options: -s, --state STATE Filter by state: open, closed, all (default: open) -l, --label LABEL Filter by label -m, --milestone NAME Filter by milestone name -a, --assignee USER Filter by assignee -n, --limit N Maximum issues to show (default: 100) -h, --help Show this help message Examples: issue-list.sh # List open issues issue-list.sh -s all -l bug # All issues with 'bug' label issue-list.sh -m "0.2.0" # Issues in milestone 0.2.0 works via symlink - [x] Stack health: all 7 services UP (Portainer, Coolify, Authentik, GLPI, Gitea×2, GitHub) - [x] Authentik tools: auth-token, admin-status, user-list, group-list, app-list, flow-list all return valid data - [x] Coolify tools: project-list, service-list, service-status all return valid data - [x] Zero stale references (grep verified) - [x] Credential loader tested with Authentik and Coolify 🤖 Generated with [Claude Code](https://claude.com/claude-code)
jason.woltje added 1 commit 2026-02-22 17:52:03 +00:00
Rename the `rails/` directory to `tools/` for agent discoverability —
agents frequently failed to locate helper scripts due to the non-intuitive
directory name. Add backward-compat symlink `rails/ → tools/`.

New tool suites:
- Authentik: auth-token, user-list, user-create, group-list, app-list,
  flow-list, admin-status (8 scripts)
- Coolify: team-list, project-list, service-list, service-status, deploy,
  env-set (7 scripts)
- Woodpecker: pipeline-list, pipeline-status, pipeline-trigger (3 stubs)
- GLPI: session-init, computer-list, ticket-list, ticket-create, user-list
  (6 scripts)
- Health: stack-health.sh — stack-wide connectivity check

Infrastructure:
- Shared credential loader at tools/_lib/credentials.sh
- install.sh creates symlink + chmod on tool scripts
- All ~253 rails/ path references updated across 68+ files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
jason.woltje merged commit a8e580e1a3 into main 2026-02-22 17:52:23 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaic/bootstrap#4