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 plus dated go-live review evidence 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