[PR #8] [MERGED] SoulHub registry + auto-seed #207

Closed
opened 2026-02-15 17:16:17 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/openclaw/clawhub/pull/8
Author: @joshp123
Created: 1/9/2026
Status: Merged
Merged: 1/10/2026
Merged by: @steipete

Base: mainHead: soulhub-registry


📝 Commits (10+)

  • de3fec6 feat: add soul registry backend
  • a0bf60c feat: add soulhub ui and docs
  • 75eb01e soulhub: polish nav and seed content
  • 16e6122 fix: await seed inserts
  • 9d04731 fix: handle empty convex site url
  • d3406a5 fix(og): prevent OG title clipping
  • dd1164f test(og): update OG layout version
  • ef668b9 feat: add soulhub ui and docs
  • 7516d85 fix: 🤖 codex: address SoulHub review comments (pr-8)
  • 1dd6174 fix: 🤖 codex: clean up merge markers (pr-8)

📊 Changes

53 files changed (+4841 additions, -340 deletions)

View changed files

📝 .env.local.example (+3 -0)
📝 CHANGELOG.md (+1 -0)
📝 README.md (+17 -2)
📝 convex/_generated/api.d.ts (+20 -0)
convex/githubSoulBackups.ts (+170 -0)
convex/githubSoulBackupsNode.ts (+186 -0)
📝 convex/http.ts (+35 -0)
📝 convex/httpApi.ts (+1 -0)
📝 convex/httpApiV1.ts (+355 -0)
📝 convex/lib/embeddings.ts (+8 -1)
convex/lib/githubSoulBackup.ts (+443 -0)
📝 convex/lib/skillPublish.ts (+4 -1)
convex/lib/soulChangelog.ts (+273 -0)
convex/lib/soulPublish.ts (+234 -0)
📝 convex/schema.ts (+101 -0)
📝 convex/search.ts (+58 -0)
convex/seed.ts (+224 -0)
convex/seedSouls.ts (+111 -0)
convex/soulComments.ts (+87 -0)
convex/soulDownloads.ts (+14 -0)

...and 33 more files

📄 Description

Intent

Introduce SoulHub as a first-class SOUL.md registry (host-based entry at onlycrabs.ai) with the same core affordances as skills—versioned publishing, search, OG, comments/stars—plus automatic first-run seeding of the two Clawdinator souls using their exact SOUL.md text.

screenshot-1767975654301 screenshot-1767975731207

Why this approach

  • Mirror the existing skills architecture (Convex tables, search embeddings, HTTP v1 API, UI routes/components) so maintainers can reason about souls as a parallel content type.
  • Keep the entry-point split host-based for SSR/SEO and allow /souls/* under ClawdHub.
  • Seed only on first run and only for the two Clawdinator documents to bootstrap SoulHub without adding ongoing special cases.

What changed (high level)

  • Added soul data model, embeddings, API routes, search, comments, stars, downloads, and GitHub backup flow in Convex.
  • Added SoulHub UI: home/search, list, detail, upload mode, site/brand switching, and soul-specific OG metadata.
  • Added auto-seed action that publishes the two Clawdinator SOUL.md documents verbatim on first SoulHub visit.
  • Added documentation updates + env example for onlycrabs.ai host.

Process notes

  • I attempted to pull session history from cm, but no sessions were found for this workspace; prompt history below is from agent logs.
  • Auto-seed runs once: it checks for any existing souls and a seed flag, then publishes the two Clawdinator souls if empty.

Tests

  • ./node_modules/.bin/convex dev --once --typecheck=disable
  • ./node_modules/.bin/biome check convex src packages server docs README.md .env.local.example
  • ./node_modules/.bin/oxlint --type-aware --tsconfig ./tsconfig.oxlint.json ./src ./convex ./packages/clawdhub/src ./packages/schema/src

Prompt history (agent logs)

  • 2026-01-09T14:51:53.169704Z — ok never mind. lets check out latest main for now. we wanna add a "SOULHUB" feature where users can share their SOUL.mds. thoughts on this? investigate, and figure out most idiomatic way to do it.
  • 2026-01-09T14:51:54.169704Z — we probably want a separate entry point btw like soulhub.com. (not final name, use placeholder. i think peter bought onlycrabs.xxx). 1. if its easy, yes. 2. sure 3. only soul.md for now. 4. idk what do we do now? pick something idiomatic. 5. yes. 6. yes, same as skills i guess? pick something idiomatic. btw we can pre-seed with the souls in clawdinator and TRUMP_SOUL repos under ~/code.
  • 2026-01-09T14:51:55.169704Z — 1. ok go. use onlycrabs.xxx for now. 2. yes 3. sensible defaults?
  • 2026-01-09T14:51:56.169704Z — go
  • 2026-01-09T14:51:57.169704Z — souls domain is now onlycrabs.ai btw. its registered.
  • 2026-01-09T14:51:58.169704Z — just search under ~/code for everything with trump in, you'll find it
  • 2026-01-09T14:51:59.169704Z — did you find clawdinator soul? they should be pre-seeded in the repo idiomatically, not included as a script. thats stupid. see: ... then do a brutal self-review.
  • 2026-01-09T14:52:00.169704Z — no i want the exact text of those documents. verbatim. put them in. just put them in the repo. do NOT sanitize anything. then go fix the self-review issues
  • 2026-01-09T14:52:01.169704Z — - The verbatim Clawdinator docs are large... -> we fix this later. we can remove once seeded. self-review - we still want an auto-seed on first run for JUST these two skills. other than that nothing else. then do another self-review
  • 2026-01-09T14:52:02.169704Z — overkill for race window imo. will only happen once. lets ignore seed tracking thing. how are we looking now? good to open a PR?
  • 2026-01-09T14:52:03.169704Z — go

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/openclaw/clawhub/pull/8 **Author:** [@joshp123](https://github.com/joshp123) **Created:** 1/9/2026 **Status:** ✅ Merged **Merged:** 1/10/2026 **Merged by:** [@steipete](https://github.com/steipete) **Base:** `main` ← **Head:** `soulhub-registry` --- ### 📝 Commits (10+) - [`de3fec6`](https://github.com/openclaw/clawhub/commit/de3fec62b4951ca40518d5b08224164601976a36) feat: add soul registry backend - [`a0bf60c`](https://github.com/openclaw/clawhub/commit/a0bf60cddb8a685bb317c007ad508286f7170d18) feat: add soulhub ui and docs - [`75eb01e`](https://github.com/openclaw/clawhub/commit/75eb01ec475798f7aacb6752441fad3e0af0545a) soulhub: polish nav and seed content - [`16e6122`](https://github.com/openclaw/clawhub/commit/16e612286de645e1b99b0da19e4dc774d10c3567) fix: await seed inserts - [`9d04731`](https://github.com/openclaw/clawhub/commit/9d0473152a08bb6c65040e5a58be7b8fcc252f20) fix: handle empty convex site url - [`d3406a5`](https://github.com/openclaw/clawhub/commit/d3406a51f5d8edc1492bf5e422cba0ff394f67b5) fix(og): prevent OG title clipping - [`dd1164f`](https://github.com/openclaw/clawhub/commit/dd1164f4b4ce690541dd28312619ac7fa43dd329) test(og): update OG layout version - [`ef668b9`](https://github.com/openclaw/clawhub/commit/ef668b9c57cc05a2e006ebafac17262e62dc2549) feat: add soulhub ui and docs - [`7516d85`](https://github.com/openclaw/clawhub/commit/7516d85da020af75465a0485a2e270b3c66fd6ee) fix: 🤖 codex: address SoulHub review comments (pr-8) - [`1dd6174`](https://github.com/openclaw/clawhub/commit/1dd617426e29bb3cf2a1f042ccabec76fdddbebf) fix: 🤖 codex: clean up merge markers (pr-8) ### 📊 Changes **53 files changed** (+4841 additions, -340 deletions) <details> <summary>View changed files</summary> 📝 `.env.local.example` (+3 -0) 📝 `CHANGELOG.md` (+1 -0) 📝 `README.md` (+17 -2) 📝 `convex/_generated/api.d.ts` (+20 -0) ➕ `convex/githubSoulBackups.ts` (+170 -0) ➕ `convex/githubSoulBackupsNode.ts` (+186 -0) 📝 `convex/http.ts` (+35 -0) 📝 `convex/httpApi.ts` (+1 -0) 📝 `convex/httpApiV1.ts` (+355 -0) 📝 `convex/lib/embeddings.ts` (+8 -1) ➕ `convex/lib/githubSoulBackup.ts` (+443 -0) 📝 `convex/lib/skillPublish.ts` (+4 -1) ➕ `convex/lib/soulChangelog.ts` (+273 -0) ➕ `convex/lib/soulPublish.ts` (+234 -0) 📝 `convex/schema.ts` (+101 -0) 📝 `convex/search.ts` (+58 -0) ➕ `convex/seed.ts` (+224 -0) ➕ `convex/seedSouls.ts` (+111 -0) ➕ `convex/soulComments.ts` (+87 -0) ➕ `convex/soulDownloads.ts` (+14 -0) _...and 33 more files_ </details> ### 📄 Description ## Intent Introduce SoulHub as a first-class SOUL.md registry (host-based entry at onlycrabs.ai) with the same core affordances as skills—versioned publishing, search, OG, comments/stars—plus automatic first-run seeding of the two Clawdinator souls using their exact SOUL.md text. <img width="2502" height="1907" alt="screenshot-1767975654301" src="https://github.com/user-attachments/assets/ecddfa18-f58c-403b-ba68-0f652c57804e" /> <img width="2487" height="2880" alt="screenshot-1767975731207" src="https://github.com/user-attachments/assets/3a335e46-613b-431b-9ed7-9d0a7fc17180" /> ## Why this approach - Mirror the existing skills architecture (Convex tables, search embeddings, HTTP v1 API, UI routes/components) so maintainers can reason about souls as a parallel content type. - Keep the entry-point split host-based for SSR/SEO and allow `/souls/*` under ClawdHub. - Seed only on first run and only for the two Clawdinator documents to bootstrap SoulHub without adding ongoing special cases. ## What changed (high level) - Added soul data model, embeddings, API routes, search, comments, stars, downloads, and GitHub backup flow in Convex. - Added SoulHub UI: home/search, list, detail, upload mode, site/brand switching, and soul-specific OG metadata. - Added auto-seed action that publishes the two Clawdinator SOUL.md documents verbatim on first SoulHub visit. - Added documentation updates + env example for onlycrabs.ai host. ## Process notes - I attempted to pull session history from `cm`, but no sessions were found for this workspace; prompt history below is from agent logs. - Auto-seed runs once: it checks for any existing souls and a seed flag, then publishes the two Clawdinator souls if empty. ## Tests - `./node_modules/.bin/convex dev --once --typecheck=disable` - `./node_modules/.bin/biome check convex src packages server docs README.md .env.local.example` - `./node_modules/.bin/oxlint --type-aware --tsconfig ./tsconfig.oxlint.json ./src ./convex ./packages/clawdhub/src ./packages/schema/src` ## Prompt history (agent logs) - 2026-01-09T14:51:53.169704Z — ok never mind. lets check out latest main for now. we wanna add a "SOULHUB" feature where users can share their SOUL.mds. thoughts on this? investigate, and figure out most idiomatic way to do it. - 2026-01-09T14:51:54.169704Z — we probably want a separate entry point btw like soulhub.com. (not final name, use placeholder. i think peter bought onlycrabs.xxx). 1. if its easy, yes. 2. sure 3. only soul.md for now. 4. idk what do we do now? pick something idiomatic. 5. yes. 6. yes, same as skills i guess? pick something idiomatic. btw we can pre-seed with the souls in clawdinator and TRUMP_SOUL repos under ~/code. - 2026-01-09T14:51:55.169704Z — 1. ok go. use onlycrabs.xxx for now. 2. yes 3. sensible defaults? - 2026-01-09T14:51:56.169704Z — go - 2026-01-09T14:51:57.169704Z — souls domain is now onlycrabs.ai btw. its registered. - 2026-01-09T14:51:58.169704Z — just search under ~/code for everything with trump in, you'll find it - 2026-01-09T14:51:59.169704Z — did you find clawdinator soul? they should be pre-seeded in the repo idiomatically, not included as a script. thats stupid. see: ... then do a brutal self-review. - 2026-01-09T14:52:00.169704Z — no i want the exact text of those documents. verbatim. put them in. just put them in the repo. do NOT sanitize anything. then go fix the self-review issues - 2026-01-09T14:52:01.169704Z — - The verbatim Clawdinator docs are large... -> we fix this later. we can remove once seeded. self-review - we still want an auto-seed on first run for JUST these two skills. other than that nothing else. then do another self-review - 2026-01-09T14:52:02.169704Z — overkill for race window imo. will only happen once. lets ignore seed tracking thing. how are we looking now? good to open a PR? - 2026-01-09T14:52:03.169704Z — go --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-15 17:16:17 -05:00
yindo closed this issue 2026-02-15 17:16:17 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: openclaw/clawhub#207