@kb-labs/marketplace
v0.1.4
Published
Unified marketplace service for KB Labs platform — install, discover and manage all entity types via a single lock-based registry.
Readme
KB Labs Marketplace
Unified marketplace service for KB Labs. This repo owns plugin and package lifecycle operations such as install, uninstall, enable, disable, link, unlink, sync, doctor, and list.
Overview
Marketplace is split into a small set of focused packages:
@kb-labs/marketplace-app: Fastify entrypoint that runs the HTTP service@kb-labs/marketplace-api: routes, OpenAPI, observability surfaces@kb-labs/marketplace-core: domain logic for package lifecycle operations@kb-labs/marketplace-contracts: shared types and contracts@kb-labs/marketplace-npm: npm/pnpm-backed source integration@kb-labs/marketplace-cli: CLI-facing integration package
The service runs on port 5070 in local development.
Development
From repo root:
pnpm install
pnpm build
pnpm test
pnpm type-checkRun the marketplace service directly:
cd /Users/kirillbaranov/Desktop/kb-labs-workspace/platform/kb-labs-marketplace
pnpm --filter @kb-labs/marketplace-app devRun it through the workspace dev manager:
cd /Users/kirillbaranov/Desktop/kb-labs-workspace
./scripts/kb-dev start marketplace
./scripts/kb-dev ready marketplace --timeout 30s
./scripts/kb-dev status --json | jq '.services.marketplace'HTTP Service
Default local base URL:
http://localhost:5070Primary runtime endpoints:
GET /healthGET /readyGET /metricsGET /observability/describeGET /observability/health
Marketplace API routes are registered from packages/marketplace-api/src/routes under the /api/v1/marketplace prefix. Health and observability surfaces stay at the service root.
Representative operations:
POST /api/v1/marketplace/installPOST /api/v1/marketplace/uninstallPOST /api/v1/marketplace/enablePOST /api/v1/marketplace/disablePOST /api/v1/marketplace/linkPOST /api/v1/marketplace/unlinkPOST /api/v1/marketplace/syncPOST /api/v1/marketplace/updateGET /api/v1/marketplace/listGET /api/v1/marketplace/doctor
Observability
Marketplace is already migrated to the platform observability contract.
Canonical surfaces:
GET /health— cheap public livenessGET /ready— readiness gateGET /metrics— Prometheus-compatible metricsGET /observability/describe— versioned service descriptorGET /observability/health— structured runtime diagnostics
The service emits bounded marketplace domain operations such as:
marketplace.bootstrapmarketplace.listmarketplace.installmarketplace.uninstallmarketplace.enablemarketplace.disablemarketplace.linkmarketplace.unlinkmarketplace.syncmarketplace.updatemarketplace.doctor
Implementation entrypoint:
Verification:
curl http://localhost:5070/health
curl http://localhost:5070/ready
curl http://localhost:5070/observability/describe
curl http://localhost:5070/observability/health
curl http://localhost:5070/metricsQuality Checks
Useful local commands:
cd /Users/kirillbaranov/Desktop/kb-labs-workspace/platform/kb-labs-marketplace
pnpm build
pnpm test
pnpm type-checkFocused package checks:
pnpm --filter @kb-labs/marketplace-api build
pnpm --filter @kb-labs/marketplace-api test
pnpm --filter @kb-labs/marketplace-core build
pnpm --filter @kb-labs/marketplace-contracts buildNotes
- Marketplace is part of the platform backend and should stay aligned with the shared observability and service bootstrap patterns.
- For cross-workspace service orchestration, prefer
kb-devover ad hoc background processes. - If marketplace behavior changes, update this README together with route or observability changes.
