Docs Source And Sync
Capell docs are assembled from the docs shell in capell-app/capell-docs and public Markdown from the source repositories checked out under _sources/ during sync.
The Capell Extensions explorer and extension pages are generated from package manifests and public docs in capell-4/packages, published from the capell-app/packages repository.
Source repositories
Section titled “Source repositories”| Source | Local sync path | Public docs copied |
|---|---|---|
capell-app/capell | _sources/core | docs/; packages/**/README.md and packages/**/docs/** |
capell-app/packages | _sources/packages | docs/; packages/**/README.md and packages/**/docs/** |
Local package docs workflow
Section titled “Local package docs workflow”Use local sync when working against sibling checkouts of capell-4 and capell-4/packages:
npm run sync:localpnpm run sync:localyarn run sync:localUse source-specific syncs when you only need one side refreshed:
npm run sync:local:corepnpm run sync:local:coreyarn run sync:local:corenpm run sync:local:packagespnpm run sync:local:packagesyarn run sync:local:packagesThe sync intentionally excludes internal, specs, and superpowers directories at every docs level before content reaches the public site.
Search index workflow
Section titled “Search index workflow”Published docs search is powered by Typesense through starlight-docsearch-typesense. The deploy workflow builds the static site, rsyncs the built files to the public docs directory, then runs the DocSearch scraper against the live docs URL into the capell_docs collection.
The browser client uses only PUBLIC_TYPESENSE_URL and PUBLIC_TYPESENSE_SEARCH_KEY. The scraper uses TYPESENSE_ADMIN_KEY plus either TYPESENSE_URL or the explicit TYPESENSE_HOST, TYPESENSE_PORT, and TYPESENSE_PROTOCOL connection values.
The scraper stores DocSearch facets for package, version, audience, docs area, runtime context, product group, and tier. High-level pages set those values in docsearch frontmatter, generated package pages get package values from manifests, and src/config/docsearch-metadata.ts fills safe defaults for ordinary docs pages.
Run a local config check without requiring credentials:
npm run search:index:dry-runpnpm run search:index:dry-runyarn run search:index:dry-runSkip indexing for a manual deploy if Docker or Typesense credentials are not available:
scripts/deploy-local.sh --yes --skip-search-index