Skip to content

Submit your experience to the registry ​

What oe submit does ​

  • Validates your experience.yaml. The same checks as oe validate run first. The submit will abort before opening any issue if the YAML is malformed or missing required fields.
  • Auto-detects GitHub metadata. It reads git remote get-url origin to extract owner and repo, and scans for an annotated tag at HEAD to use as ref. You can override any of these with flags.
  • Generates the canonical registry entry. The JSON object that would be appended to the community registry.json is assembled locally before any network call.
  • Opens a pre-filled GitHub issue. A browser tab opens with the entry JSON and the submission checklist pre-populated. A maintainer reviews and merges from there — no PR required from you.

Quick start ​

bash
# In your experience directory
git tag v0.1.0 && git push --tags        # MUST be a tag — installs need to be reproducible
oe submit --tags <comma,separated>

The ref must resolve to a tag. A bare branch name is rejected because oe install needs a reproducible ref that will not drift. If you don't have a tag at HEAD, create one first.

What gets generated ​

oe submit prints the entry it would open before opening the browser:

json
{
  "name": "your-experience",
  "owner": "your-gh-username",
  "repo": "your-repo",
  "ref": "v0.1.0",
  "description": "What it does in one sentence",
  "tags": ["incident-response", "oncall"]
}

This is the exact shape appended to registry.json when the issue is approved and merged by a maintainer.

Required vs optional ​

FieldSourceRequired?
nameexperience.yaml name: field, or --name✓
owner / repogit remote get-url origin✓ (auto)
refTag at HEAD, or --ref✓
descriptionexperience.yaml description:recommended
tags--tagsrecommended
subpathAuto-detected if not at repo rootoptional

If owner/repo detection fails (e.g., SSH remote with a non-standard format), pass --owner and --repo explicitly.

Pre-submit checklist ​

The GitHub issue template includes this checklist. Verify all items before submitting to speed up review:

  • Working experience.yaml at the root (or at the subpath if it's a mono-repo).
  • README.md with prerequisites and at least one example oe run command that a new user can copy-paste.
  • A mocked-LLM or smoke test in e2e/ or tests/ — reviewers will run it.
  • Pinned ref — a git tag is strongly preferred over a commit SHA.
  • OSI-approved license file in the repo root.
  • The experience works against @openexpertise/cli@^0.1.0 (the current stable range).
  • You're committing to maintain the experience as OE evolves — experiences that break across minor versions will be flagged in the registry.

Dry-run before submitting ​

Run with --dry-run to preview the generated JSON without opening a browser or creating any issue:

bash
oe submit --tags x,y --dry-run                # print entry, do NOT open issue
oe submit --tags x,y --output entry.json      # write JSON to file (for manual PR)

--output is useful if you want to open a pull request against the registry repo directly instead of using the issue template.

Variations ​

  • Overriding auto-detected fields. Use --name my-experience, --ref v0.2.0, or --description "One-sentence description" to override any field that oe submit would normally infer from the repo or YAML.
  • Submitting from a subpath. In a mono-repo with multiple experiences under experiences/triage/ and experiences/review/, run oe submit from inside the subdirectory. The subpath field is auto-detected and included in the registry entry so that oe install checks out the right path.
  • CI-assisted submission. Use --dry-run --output entry.json in CI to produce the registry entry automatically on every tagged release, then file the issue via gh issue create in the same workflow.

See also ​

Released under the MIT License.