SourceHarbor is the builder side of the same control tower.
It already exposes six real builder-facing layers:
It now also exposes a seventh adoption layer:
The safest way to read this page is:
| Product door | Builder meaning | Current truth |
|---|---|---|
/subscriptions |
intake contract over one shared template catalog | Web, API, and MCP now all point at the same strong-supported vs generalized intake split |
/watchlists |
durable tracking-object substrate | builders can treat watchlists as saved operator intent, not a temporary browser filter |
/trends |
compounder front door | repeated runs become merged stories and evidence surfaces instead of one-off search sessions |
/briefings + /ask |
story-aware answer/change/evidence lane | the same server-owned story payload now carries selected-story context into Ask |
/mcp |
agent-facing reuse doorway | assistants reuse the same jobs, retrieval, artifacts, and operator truth instead of a second business-logic stack |
Use this before you describe SourceHarbor as a “skill” anything:
| Surface | Skill-repo criteria apply? | Honest wording |
|---|---|---|
| Whole repository | No | multi-surface product repo with Web, API, MCP, runtime, CLI, SDK, and starter surfaces |
starter-packs/** |
Yes, mostly | public starter-pack and public-skill adoption layer |
| plugin-grade bundle directories | Yes, strongly | submission-ready or template-ready distribution artifacts |
templates/public-skills/** |
Yes, partially | copyable public prompt/template assets referenced by starter packs |
internal .agents/skills/** |
No for public use | internal operating surface, not a public export |
If a newcomer only reads the builder docs, the safe takeaway should be:
.agents/skills stay internal| Surface | Best fit today | Why |
|---|---|---|
| Codex | Primary fit | SourceHarbor already exposes a real MCP server plus operator-safe HTTP contracts |
| GitHub Copilot | Primary fit | It can reuse the same MCP and HTTP truth, and the repo now ships a real source-installable plugin bundle |
| Claude Code | Primary fit | Same MCP surface, same API-backed state, same retrieval and job evidence |
| VS Code agent workflows | Primary fit | They can reuse the same MCP and HTTP truth, and the repo now ships a real source-installable plugin bundle |
| Repo-local CLI users | Primary fit | ./bin/sourceharbor help gives one discoverable facade over the real bin/* entrypoints without duplicating business logic |
| Custom MCP clients | Primary fit | ./bin/dev-mcp starts a real FastMCP server over the current pipeline |
| Direct HTTP builders | Primary fit | The repo already carries a public OpenAPI contract and typed client helpers |
| OpenHands / OpenCode | Secondary fit | They are ecosystem-adjacent if you integrate through MCP or HTTP, but they are not the main front door today |
| OpenClaw | First-cut local pack fit | the repo now ships a local OpenClaw starter pack over the generic MCP / HTTP substrate, but it still is not a primary front-door label or marketplace claim |
contracts/source/openapi.yamlapps/api/app/main.pydocs/start-here.mdRepresentative routes:
GET /api/v1/subscriptions/templatesPOST /api/v1/videos/processGET /api/v1/jobs/{job_id}POST /api/v1/retrieval/searchPOST /api/v1/retrieval/answer/pageGET /api/v1/ops/inboxGET /api/v1/watchlistsdocs/mcp-quickstart.mdapps/mcp/server.py./bin/dev-mcpRepresentative tools:
sourceharbor.jobs.getsourceharbor.jobs.comparesourceharbor.knowledge.cards.listsourceharbor.retrieval.searchsourceharbor.ingest.pollIf you want one installable command surface first:
npm install --global ./packages/sourceharbor-cli
cd /path/to/sourceharbor
sourceharbor help
sourceharbor mcp
Current truth:
packages/sourceharbor-clibin/sourceharborThese remain the direct command truth:
./bin/sourceharbor help./bin/sourceharbor bootstrap./bin/sourceharbor full-stack up./bin/sourceharbor doctor./bin/sourceharbor mcpThe packaged CLI above does not replace this substrate. It only makes it easier to discover and reuse.
If you want a public, typed HTTP client first:
npm install ./packages/sourceharbor-sdk
Package path:
Current truth:
If you want public templates instead of internal raw skills:
starter-packs/README.mdstarter-packs/compatibility.mdstarter-packs/codex/AGENTS.mdstarter-packs/claude-code/CLAUDE.mdstarter-packs/openclaw/README.mdstarter-packs/typescript-sdk/example.tsIf you need artifacts closer to public distribution than a starter README, open:
starter-packs/codex/sourceharbor-codex-plugin/README.mdstarter-packs/github-copilot/sourceharbor-github-copilot-plugin/README.mdstarter-packs/claude-code/sourceharbor-claude-plugin/README.mdstarter-packs/vscode-agent/sourceharbor-vscode-agent-plugin/README.mdstarter-packs/openclaw/clawhub.package.template.jsonstarter-packs/mcp-registry/sourceharbor-server.template.jsonconfig/public/mcp-directory-profile.jsondocs/submission/awesome-opencode.mddocs/public-distribution.mdCurrent truth:
sourceharbor-mcp install artifact, the registry template points at the PyPI identifier sourceharbor, and the repo now also tracks per-directory submission packet drafts; live registry/PyPI read-back still needs submit/publish proof.Do not treat every container surface as builder distribution:
| Surface | Purpose | Builder-facing claim |
|---|---|---|
infra/compose/core-services.compose.yml |
repo-local core runtime helpers | local boot aid only |
.devcontainer/devcontainer.json |
contributor workspace parity | development environment only |
ghcr.io/xiaojiou176-open/sourceharbor-api |
dedicated API image route | product-facing API container lane; the product package now reads back as visibility: public, but it still stays a separate API-image builder surface rather than the default install story |
ghcr.io/xiaojiou176-open/sourceharbor-ci-standard |
strict CI and devcontainer parity image | infrastructure image, not newcomer-facing product container distribution |
The actual newcomer-facing builder surfaces are MCP, HTTP API, packaged CLI, TypeScript SDK, starter packs, and plugin-grade bundles.
Keep the shipping language simple:
bundle-ready means the artifact existssubmission-ready means the repo has a real packet/templatelisted only means a public upstream page existsIf you need the full shipping ledger, read docs/public-distribution.md.
What stays no-go this wave:
If you want the bucketed decision ledger instead of the packaging sequence, read docs/reference/ecosystem-and-big-bet-decisions.md.
These are intentionally not opened in the current builder story:
If you need the public proof boundary before integrating, read
docs/proof.md.