Alcora registry

Add a package

The registry takes no uploads. It lists packages in registry.json, next to the registry's code, and reads each one from its GitHub repository.
  1. Put the package in a folder of a public repository, with a alcora.json at its root. It is a workflow, a skill or a step (its manifest’s type is block); a workflow lists the skills and steps it uses, with the versions it works with.
    {
      "schemaVersion": 2,
      "type": "workflow",
      "name": "acme/release-notes",
      "title": "Release notes",
      "version": "1.0.0",
      "description": "Drafts release notes for each tag.",
      "readme": "README.md",
      "workflow": {
        "category": "Maintenance",
        "icon": "tag",
        "nodes": [ … ],
        "edges": [ … ],
        "dependencies": { "acme/notes-writer": "^1.0.0" }
      }
    }
  2. Open a pull request adding it to registry.json. The first package of a scope adds the scope too, with the repositories its packages may come from: nobody else can publish under it.
    "scopes": {
      "acme": { "description": "Acme's packages.", "repos": ["acme/alcora-packages"] }
    }
    "packages": [
      {
        "name": "acme/release-notes",
        "type": "workflow",
        "repo": "acme/alcora-packages",
        "path": "release-notes",
        "ref": "main"
      }
    ]
  3. Release a version by raising it. The registry reads the folder every 15 minutes. A new version in alcora.json becomes a release, which never changes: the same version with other files is flagged as unreleased changes, and a lower version is refused.

Packages that are not for everyone don’t need the registry: upload them to a project from its Registry page in Alcora.