OpenParable
Skip to content
← Back to skills

Olares Publish

DevOps & Security
olares-publish

Olares Publish is an Agent Skill for devops & security published in the beclab/Olares repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Publish an Olares app that already runs on your own Olares to the public Olares Market — the release-target requirements matrix, the market-ready metadata/image/arch checklist, the PR to beclab/apps (GitBot rules + lifecycle), and pay-to-download (paid) listings. Use when the user wants to submit / list / distribute / 上架 an app to the public Market, open a beclab/apps PR, or sell a paid app. Authoring and deploying the chart itself lives in olares-chart; this skill is the public-distribution step that comes after the app already installs and runs locally.

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/beclab/Olares/blob/HEAD/cli/skills/olares-publish/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/olares-publish, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

Publish an Olares app to the public Market

This skill is the public-distribution step, not the authoring step. Turning a repo / compose / Helm chart into an Olares app, refining it, and proving it installs and reaches running on your own Olares all live in ../olares-chart/SKILL.md. Come here after the app already runs locally and you want it in the public Olares Market.

Source of truth for chart fields is olares-cli chart lint + the manifest authoring guidance in the olares-chart skill (its Manifest refinement areas). This skill carries only what distribution adds on top of a working local chart: market-ready depth, the beclab/apps PR contract, and paid-app extras.

When to use

  • Publish / list / submit / distribute / 上架 an app to the public Olares Market
  • Open or fix a PR to beclab/apps
  • Sell an app (pay-to-download / paid listing)
  • Keywords: publish to Market, submit to beclab/apps, app store listing, featuredImage / promoteImage, spec.supportArch, multi-arch, GitBot, owners file, price.yaml, paid app

Prerequisite — the app must already run on your Olares. Public submission without a working local install wastes GitBot cycles and reviewer time. Do the deploy loop in the olares-chart skill (its Deploy step) first.

Anything outside this scope -> see the Skill suite map in ../olares-shared/SKILL.md.

Mental model

Publishing is a one-way diff against beclab/apps, not a CLI lifecycle. There is no olares-cli publish verb: the only command you run is olares-cli chart lint (flags owned by ../olares-chart/SKILL.md); everything else is git/GitHub plus a metadata/image/PR checklist that lint does not enforce. So the work is: take a chart that already installs and runs locally, layer on market-ready metadata + multi-arch images, then open a PR that GitBot will gate and a human will merge. You own the chart edits and PR authoring; you never run on-chain or wallet writes for the developer.

What publishing adds on top of a working local chart

A chart that installs and runs locally is functionally done (storage / middleware / entrances / a pullable image are all settled in olares-chart). Public distribution adds three layers, none of which chart lint enforces:

LayerWhat it addsReference
Market-ready metadata & assetsfull metadata.* + spec.{developer,website,sourceCode,submitter,fullDescription}, custom icon, dual-version categories, listing images, spec.localeolares-publish-targets.md
Multi-arch imagesbuild --platform linux/amd64,linux/arm64 and declare matching spec.supportArch (local deploy only needs this node's arch)olares-publish-targets.md
The beclab/apps PRowners file, strict PR title, GitBot rules, lifecycle (NEW/UPDATE/SUSPEND/REMOVE)olares-publish-submit.md

Paid (pay-to-download) is a public-Market app plus price.yaml + a VERIFIABLE_CREDENTIAL license check — see olares-publish-paid-apps.md.

The flow

flowchart TD
  runs["app runs locally (olares-chart deploy)"] --> polish["market-ready polish: metadata, assets, multi-arch + supportArch"]
  polish --> relint["chart lint after edits"]
  relint --> owners["add owners file, verify folder name"]
  owners --> pr["fork beclab/apps, draft PR [NEW][app][ver]"]
  pr --> gitbot{"GitBot checks"}
  gitbot -->|waiting to submit| fix["push fixes"]
  fix --> gitbot
  gitbot -->|waiting to merge| merged["merged -> indexed in public Market"]
  1. Polish to market-ready — work the requirements matrix + checklist in olares-publish-targets.md.
  2. Re-lint — olares-cli chart lint ./<app> after every metadata/image edit.
  3. Submit the PR — fork, add the OAC + owners file, open a [NEW][<app>][<ver>] PR to beclab/apps:main, then track GitBot labels — olares-publish-submit.md.
  4. Paid? — add price.yaml + license enforcement on top — olares-publish-paid-apps.md.

Agent boundaries

  • Do NOT fork, push, or open PRs on the developer's behalf without explicit consent — these write to their GitHub account.
  • The fork here is legitimate and required. Submitting to the public Market is the standard open-source contribution flow: fork beclab/apps, push a branch, open a PR. This is the public app catalog, a different repo from the beclab dev repos the workspace "no-fork, push to origin" rule covers — that rule does not apply to beclab/apps submissions.
  • Do NOT run did-cli rsa set (an on-chain, gas-costing write), touch the wallet mnemonic, or handle rsa-private.pem for paid apps — guide the user to run those themselves.
  • Do verify the chart against the market-ready checklist, author price.yaml, wire the manifest, and interpret GitBot labels.
  • Login / token / auth-error recovery: ../olares-shared/SKILL.md. Upload / install verbs (for the local-validation prerequisite): ../olares-market/SKILL.md.