AI i narzędzia

Agenci AI, config-as-code i Feature Flags

hostbase init/skills/mcp install dla Claude Code, Cursor i Codex, MCP z OAuth 2.1, inspect db, diff, hostbase.config.ts, Feature Flags z OpenFeature i provider Terraform.

Zestaw narzędzi, dzięki którym asystenci kodowania i zespoły DevOps pracują z HostBase bez klikania w panelu.

Agenci: init, skille, MCP

hostbase init --with-config          # AGENTS.md + CLAUDE.md (+ .cursor/rules) + hostbase.config.ts
hostbase skills install              # SKILL.md dla Claude Code, reguła Cursor, blok w AGENTS.md dla Codex
hostbase mcp install                 # .mcp.json, .cursor/mcp.json i ~/.codex/config.toml
hostbase plugins install --client claude-code --global

Pliki są scalane nieniszcząco: istniejące serwery MCP i treść poza blokiem hostbase:begin/end zostają nietknięte; ponowne uruchomienie niczego nie zmienia (--dry-run pokazuje plan).

MCP z OAuth 2.1

Serwer /api/mcp przyjmuje token hb_pat_… albo token OAuth hb_oat_…. Klienci MCP wykrywają autoryzację sami: /.well-known/oauth-protected-resource (RFC 9728), /.well-known/oauth-authorization-server (RFC 8414), dynamiczna rejestracja klienta POST /api/oauth/register (RFC 7591), kod autoryzacyjny z obowiązkowym PKCE S256, rotacja refresh tokenów, POST /api/oauth/revoke (RFC 7009). Zakresy (np. projects:read, db:write, functions:deploy, flags:write) wybierasz na ekranie zgody; narzędzia spoza zakresu nie są widoczne dla klienta.

Diagnostyka

hostbase inspect db all              # 14 kontroli tylko do odczytu
hostbase inspect db unused-indexes
hostbase diff main feature-x --sql   # różnice schematu między gałęziami
hostbase snapshots                   # backupy + PITR
hostbase api GET /projects --jq .[0].ref
hostbase profile add staging --token hb_pat_… --api-url https://…

Config-as-code

hostbase.config.ts opisuje ustawienia funkcji (verify JWT, harmonogramy cron), repliki workerów, autoskalowanie, ograniczenia sieciowe, limity API, domeny, sekrety i Feature Flags. hostbase config plan pokazuje różnice (wartości sekretów nigdy nie są wypisywane), config apply je stosuje, config pull generuje plik z bieżącego stanu. Sekcje wskazane w pliku są zarządzane; --prune usuwa także niewymienione flagi i harmonogramy.

POST /api/v1/projects/{ref}/config/plan    { "config": {…}, "prune": false }
POST /api/v1/projects/{ref}/config/apply
GET  /api/v1/projects/{ref}/config/export

Feature Flags

Panel → projekt → Feature Flags: flagi boolean, tekstowe, liczbowe i JSON z wariantami, regułami po atrybutach (eq, in, contains, gte…), wdrożeniami procentowymi (stabilny podział po targetingKey) i osobną konfiguracją środowisk production, staging i development.

POST https://host.ulewicz.space/api/public/flags/{ref}/evaluate
x-hostbase-flags-key: hbff_prod_…
{"context": {"targetingKey": "user-42", "plan": "pro"}}

import { OpenFeature } from "@openfeature/server-sdk";
import { HostbaseProvider } from "@hostbase/openfeature-provider";
await OpenFeature.setProviderAndWait(new HostbaseProvider({ projectRef, sdkKey }));

Management API: GET|POST /projects/{ref}/flags, GET|PUT|DELETE /projects/{ref}/flags/{key}. Narzędzia MCP: list_feature_flags, get_feature_flag, set_feature_flag, config_plan, config_apply.

Terraform / OpenTofu

Szkielet providera (hostbase_project, hostbase_function, hostbase_secret) znajduje się w katalogu terraform-provider-hostbase/ repozytorium.