Stu Mason
Stu Mason

Activity

Pull Request Merged

PR #129 merged: feat: v2.7.0 — teams, cloud tokens, docs search, version caching

Summary

Three new tools (35 → 38) plus version caching.

  • teams — list, get, get_members, get_current, get_current_members. Wraps existing client methods.
  • cloud_tokens — Hetzner/DigitalOcean: list, get, create, update, delete, validate. Wraps existing client methods.
  • search_docs — Full-text search across Coolify documentation. Fetches coolify.io/docs/llms-full.txt on first call (943ms), indexes 1,545 chunks via MiniSearch (BM25), serves subsequent searches in ~1ms. Returns ~849 tokens for 5 results.
  • Version cachinggetVersion() caches result after first call, getCachedVersion() getter for diagnostics.

New dependency

  • minisearch — 826KB, zero transitive deps, BM25 full-text search. The LLM handles semantic understanding; we just need good ranking.

Context budget

search_docs returns 5 results at ~849 tokens total. Each result: title, URL, description, 300-char snippet, score. No full pages dumped into context.

Test plan

  • 262 unit tests passing (17 new: 15 docs-search, 2 version caching, method existence checks)
  • Full smoke test against live Coolify server (beta.463) — all existing endpoints still work
  • Teams: list, getCurrentTeam, getCurrentTeamMembers, getTeam(0), getTeamMembers(0) verified live
  • Cloud tokens: full CRUD lifecycle tested live (create, get, validate, update, delete)
  • search_docs: tested against real coolify.io docs — correct results for "docker compose env vars", "502 bad gateway", "health check configuration"
  • Version caching: verified cache hit, getCachedVersion(), error-then-retry path
  • Survived unplanned Coolify version bump (462 → 463) mid-session with zero issues
  • Code review: fixed critical issue (loadAndIndex error recovery), added fetch timeout, defensive index check
+640
additions
-6
deletions
11
files changed