Damat registry

Publish

Publish a module to the registry

Anyone can install your module straight from git — listing it here adds a name people can install by, an owner, and a verification status. The registry is one JSON index; publishing is a pull request.

  1. 1

    Validate and build your module

    A clean validate run means the module meets the contract and is registry-ready. See the authoring guide.

    $ damat module validate && damat module build
  2. 2

    Tag the release in your module's repo

    Each published version maps to an immutable git tag (e.g. your-module-v0.1.0) so releases can't change under consumers while latest advances.

  3. 3

    Open a pull request adding your entry

    The index for this registry lives in the damatjs/damat monorepo at apps/registry/data/registry.json. Add an entry keyed by namespace/name:

    registry.json
    "your-org/your-module": {
      "source": "https://github.com/your-org/damat-modules.git#main",
      "description": "One line on what the module does.",
      "latest": "0.1.0",
      "versions": {
        "0.1.0": "https://github.com/your-org/damat-modules.git#your-module-v0.1.0"
      },
      "owner": { "namespace": "your-org", "verified": false },
      "verification": { "status": "unverified" },
      "keywords": ["billing", "stripe"],
      "license": "MIT",
      "repository": "https://github.com/your-org/damat-modules"
    }

    New entries start unverified; the registry operators review and stamp them — an author can never self-verify.

Verification statuses

StatusMeaningInstall behavior
verifiedReviewed; source pinned by the registryinstalls cleanly
unverifiedListed, not reviewedsubject to the consumer policy
pendingReview in progresssubject to the consumer policy
rejected / revokedBlocked by the registryalways refused

Consumers gate installs with DAMAT_MODULE_VERIFY (off / warn / require). Path and git sources bypass the registry and need an explicit --allow-unverified.

Run your own registry

Nothing about the index is special to Damat Registry — host the JSON anywhere and point DAMAT_MODULE_REGISTRY at it. A private registry for your organization is a single static file:

$ export DAMAT_MODULE_REGISTRY=https://modules.internal.acme.dev/index.json

Full write-up: Publishing modules & running a registry in the docs.