Publish an extension
Pointman’s marketplace lists the extensions on GitHub that are ready to install, at pointman.ai/extensions and in the apps. Nobody submits anything: the marketplace finds your repo by its topic and lists its newest release.
Get it listed
Section titled “Get it listed”gh repo edit acme/pointman-greeter --add-topic pointman-extensiongit tag v0.1.1 && git push origin v0.1.1Once the release is published, greeter is listed if:
- The repo is public and has the topic
pointman-extension. It’s namedpointman-<id>, with theidin itsextension.toml. - It has a release tagged
v<version>, with theversionin itsextension.toml, that isn’t a draft or a prerelease. The marketplace lists the newest one. - Its
extension.tomlis at the top of the repo and passes core’s checks, the same ones core runs when it adds an extension to your catalogue. Every rule is in theextension.tomlreference. It needs something a node runs: a[run],[behavior]or[client]table. - It’s small enough: at the tag, GitHub’s download of the repo is at most 20 MB, and 2,000 files or 50 MB unpacked, with no symbolic links.
- A compiled one has a build for every platform in
platforms, as release assets named<id>-<version>-<platform>.tar.gz, each at most 50 MB. The template’s release workflow attaches them: see Write an extension. - Its id is its own. The first publisher to list an id keeps it, and the ids of Pointman’s own extensions are reserved.
Your publisher is the GitHub account that owns the repo, a person or an organisation. Every extension it lists shows on its publisher page.
When it shows up
Section titled “When it shows up”The marketplace looks at GitHub every 30 minutes, so a new release is listed within half an hour. Pages and search can take another five minutes to catch up.
Each new release replaces the listed version. Earlier ones stay in its list of versions, with their release notes.
Why it isn’t listed
Section titled “Why it isn’t listed”| It isn’t listed when | What to do |
|---|---|
The repo is private or hasn’t got the pointman-extension topic |
Make it public, and add the topic |
The repo’s name isn’t pointman- and the manifest’s id |
Rename the repo, or change the id |
| It has no release, or only drafts and prereleases | Publish the release |
The tag isn’t v and the version in extension.toml |
Bump version, then tag v<version> |
extension.toml isn’t at the top of the repo, or breaks a rule, such as an unknown field or a summary over 200 characters |
Fix it against the reference and release again |
It has none of [run], [behavior] or [client], so there’s nothing for a node to run |
Add the one it needs |
| The repo is too big at the tag, or has a symbolic link | Move big files out of the repo, and replace links with the files |
| A compiled one is missing a platform’s build, or a build is over 50 MB | Attach every platform in platforms, or take the platform out |
| Another publisher listed the id first, or it’s one of Pointman’s | Pick another id, and rename the repo to match |
| Pointman has blocked the repo or its publisher | Blocks are rare, and each is kept with its reason |
Its page
Section titled “Its page”Each listed extension gets a page of its own, on the web and in the apps. It’s made from your repo at the release’s tag:
| On the page | From |
|---|---|
| Name, summary, version and platforms | extension.toml |
| What it adds and asks for: commands, panes, settings, accounts and permissions | extension.toml |
| The README | The repo’s README, with relative links and images made absolute |
| Versions | Each release, with its notes |
| The icon | icon.png at the repo’s root |
| Keywords | The repo’s topics, without pointman-extension |
| Licence and homepage | The repo’s licence and its website, as GitHub has them |
| Stars | The repo’s stars |
Set the topics and the homepage on GitHub:
gh repo edit acme/pointman-greeter --add-topic greetings --homepage https://acme.example.com/greeterPeople install it from its page: Install in the apps, or the pointman add acme/pointman-greeter
line and Open in Pointman on the web.
A community extension needs an owner of the workspace. In the apps, Install shows an
“unverified publisher” warning for them to confirm. With pointman add, the command asks the owner
for approval on their device first. Official and verified ones are added in one step.
The icon
Section titled “The icon”Put a PNG named icon.png at the root of the repo, beside extension.toml:
pointman-greeter/ extension.toml icon.png # square, 256×256, at most 256 KiB README.mdThe marketplace takes it from the release’s tag. It must be a PNG of at most 256 KiB, and it’s shown at 256×256, so make it square. Without one, the page shows a monogram of the extension’s name.
Tiers and badges
Section titled “Tiers and badges”| Tier | Whose extensions | Badge |
|---|---|---|
| Official | Repos of the pointman-ai organisation | Official, with Pointman’s mark |
| Verified | Publishers Pointman has checked: who they are, and a review of their extensions | ✓ Verified |
| Community | Everyone else whose release is listed | none |
Verified goes with the publisher, not the extension: once acme is verified, every extension it
lists shows ✓ Verified, including the ones it lists later.
Get verified
Section titled “Get verified”Pointman keeps the list of verified publishers itself, with the reason each one is on it: who the publisher is, how that was checked, and which of its extensions were reviewed.