Skip to content

refactor: split packs out of engine repo (one repo per pack)#14

Merged
anthroos merged 1 commit intomainfrom
refactor/split-pack-into-own-repo
May 2, 2026
Merged

refactor: split packs out of engine repo (one repo per pack)#14
anthroos merged 1 commit intomainfrom
refactor/split-pack-into-own-repo

Conversation

@anthroos
Copy link
Copy Markdown
Owner

@anthroos anthroos commented May 2, 2026

Summary

The seed pack at experiences/d49e0997/ moved to its own public repo: anthroos/exp-inbound-acquisition-with-free-pilot. The engine repo no longer bundles packs.

Why

Before After
Engine repo bundled the seed pack at experiences/<uuid>/ Each pack is its own GitHub repo named exp-<slug>
Catalog == this repo's experiences/ directory Catalog == set of exp-* repos, listed at openexp.ai/use
Author wanting to publish: PR against anthroos/openexp Author publishes to their own repo, opens an issue here to be added to catalog

Three reasons:

  • Authors own their pack lifecycle. Issues, license, versioning, attribution — all on the author's repo, not negotiated through the engine.
  • Engine stays focused. This repo is the runtime. Pack content is content.
  • Future automated registry is trivial. Scan exp-* repos under known orgs, aggregate meta.yaml summaries. Naming convention enables this.

What changed in this repo

  • Removed experiences/d49e0997/ entirely (4 files, 478 lines). History preserved in git log; canonical artifact lives in the new pack repo.
  • README.md — "Publishing an Experience" section rewritten for the new repo shape; install command updated to git clone <pack-repo> + symlink. Status section now references the new pack repo.
  • docs/roadmap.md — Section 4 (Marketplace browse + install) reflects the new model. Adds a "Automated catalog index" row marked ❌ as the explicit next gap. Demo-path install commands updated.
  • docs/skill-architecture.md — "Storage vs install" table: storage is now github.com/<owner>/exp-<slug>, not experiences/<uuid>/. Install flow rewritten with clone + symlink.
  • docs/publishing-a-pack.md (new) — author guide. Schema, anonymization rules, why per-pack repo, how to announce.

Backward compat

Existing user installs continue to work — install path (~/.claude/skills/openexp:<author>:<slug>/) is unchanged. Only the source-of-clone moves from this repo to the pack repo.

Test plan

  • Fresh install path works:
    git clone https://github.com/anthroos/exp-inbound-acquisition-with-free-pilot.git
    ln -s "$PWD/exp-inbound-acquisition-with-free-pilot" \
      ~/.claude/skills/openexp:ivan-pasichnyk:inbound-acquisition-with-free-pilot
    
  • openexp-use skill discovers the pack on next Claude Code session
  • No broken links in README / docs (grep for experiences/d49e0997, experiences/<uuid>)

The seed pack at experiences/d49e0997/ moved to its own public repo:
https://github.com/anthroos/exp-inbound-acquisition-with-free-pilot

Why one-repo-per-pack:

- Authors own their pack lifecycle — issues, license, versioning,
  attribution — without coordinating with the engine repo.
- Engine repo stays focused on the runtime; ships zero packs.
- Future authors put their packs under their own GitHub handles;
  no PR-to-anthroos/openexp dance.
- Pack-naming convention `exp-<slug>` makes a future automated
  registry index trivial: scan known orgs for repos prefixed `exp-`,
  aggregate `meta.yaml` summaries.

What changed in this repo:

- Removed `experiences/d49e0997/` entirely (4 files, 478 lines).
  History preserved in git log; canonical artifact lives in the new
  pack repo.
- README.md "Publishing an Experience": new layout describes
  `exp-<slug>/` repo shape; install command now `git clone <pack>` +
  symlink instead of `cp -r openexp/experiences/<uuid>`.
- README.md "Status": seed-published reference now points to the
  new pack repo.
- docs/roadmap.md Section 4 (Marketplace browse + install):
  - "Public catalog" row reframed — catalog is the set of `exp-*`
    repos, listed at openexp.ai/use, with the seed as reference.
  - New row "Automated catalog index" (❌ today) — explicit gap.
  - "Install one pack" command updated to git-clone + symlink form.
- docs/roadmap.md "What's shipped end-to-end today": demo path
  updated to clone the pack repo instead of copying from engine repo.
- docs/skill-architecture.md "Storage vs install" table: storage is
  now `github.com/<owner>/exp-<slug>`, not `experiences/<uuid>/`.
  Install flow rewritten with the clone+symlink steps.
- docs/publishing-a-pack.md (new) — author guide. Schema, anonymization
  rules, why the per-pack repo split, how to announce a new pack
  (issue on anthroos/openexp).

Existing user installs continue to work — install paths
(`~/.claude/skills/openexp:<author>:<slug>/`) are unchanged. Only the
source-of-clone moves from the engine repo to the pack repo.
@anthroos anthroos merged commit cf803c5 into main May 2, 2026
@anthroos anthroos deleted the refactor/split-pack-into-own-repo branch May 2, 2026 04:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant