Better discovery
A REST API makes it easier to search, filter, paginate, and inspect plugin versions.
The SemRels Plugin Registry is live at registry.semrel.io. The Go web service provides the public plugin catalog, REST API, and authenticated admin workflows. The static plugins.json index remains available as a machine-readable compatibility endpoint.
Better discovery
A REST API makes it easier to search, filter, paginate, and inspect plugin versions.
Operational workflows
Admin endpoints unlock managed plugin and version updates instead of editing generated files by hand.
Registry UI and dashboard
The browser-based registry UI is live, with an authenticated admin dashboard for registry maintainers.
plugins.json for clients that consume the machine-readable index directly| Endpoint | Purpose |
|---|---|
GET /health | Health check for load balancers and deployment verification |
GET /api/v1/plugins | List plugins with pagination and optional category, search, and sort filters |
GET /api/v1/plugins/:id | Fetch a single plugin by numeric ID or plugin name |
GET /api/v1/plugins/:id/versions | List versions for a plugin with limit and offset |
POST /api/v1/plugins | Create a plugin record (authentication required) |
PUT /api/v1/plugins/:id | Update plugin metadata (owner or admin) |
DELETE /api/v1/plugins/:id | Soft-delete a plugin (owner or admin) |
POST /api/v1/plugins/:id/versions | Create a plugin version record (owner or admin) |
GET /api/v1/admin/status | Return current admin and service status (admin access required) |
The production backend uses:
golang-migrate to run SQL migrations automatically at startupImportant runtime settings:
| Variable | Purpose |
|---|---|
PORT | HTTP listen address |
DATABASE_URL | PostgreSQL connection string |
MIGRATE_DIR | Migration directory loaded on startup |
ENVIRONMENT | Runtime mode such as dev or prod |
ADMIN_TOKEN | Optional static admin credential for local development; production uses authenticated admin sessions |
Local development starts PostgreSQL through docker compose and runs the API with go run main.go.
docker compose up -dcp .env.example .envgo run main.gocurl http://localhost:8080/healthThe authenticated admin dashboard is available for registry maintainers. It provides workflows to:
The public registry UI remains available without authentication for browsing plugins and versions.