Skip to main content

Code integration

How Cuitty Code integrates with the standalone Cuitty Registry service.

Cuitty Code integrates with Cuitty Registry without owning registry protocol behavior or registry storage. Code should call Registry through @cuitty/registry, service clients, or compatibility proxy routes during migration.

Integration points

  • Repository releases can publish build artifacts to Registry.
  • CI pipelines can create scoped tokens and publish packages after protected checks pass.
  • Repository pages can show package provenance, versions, images, and SBOM links from Registry.
  • Code Apps can target Registry namespaces and packages when their manifests request package permissions.
  • Shared Cuitty Auth and SpiceDB relationships let teams express one policy across repositories, apps, packages, and organizations.

Endpoint discovery

Expose Registry separately from Code:

[products.code]
url = "https://code.example.com"

[products.registry]
url = "https://registry.example.com"

Client code should discover and instantiate Registry directly:

import { createRegistryClient } from "@cuitty/registry/client";

const registry = createRegistryClient({
  baseUrl: "https://registry.example.com",
  token: process.env.CUITTY_TOKEN,
});

const packages = await registry.packages.list({
  namespace: "acme",
  kind: "oci",
});

Compatibility

Older Code registry URLs should redirect or proxy for a compatibility release. New Code features should not create Registry metadata directly, write Registry blobs under the Code data directory, or duplicate Registry management UI inside the Code frontend.

Use /product/registry and /docs/registry for product and operator documentation.