feat(docs): public site#202
Conversation
Add apps/docs (guides, recipes, concepts, reference + curated roadmap), TypeDoc API pipeline, CI/deploy workflows, and docs-voice agent skills.
🦋 Changeset detectedLatest commit: 6738e9f The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Warning Review limit reached
Next review available in: 45 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe PR adds a Blume-powered public Codemap documentation site with guides, concepts, recipes, API references, homepage components, validation and API-generation tooling, CI/deployment workflows, documentation governance, and related repository configuration. ChangesPublic documentation site
Estimated code review effort: 4 (Complex) | ~60 minutes Sequence Diagram(s)sequenceDiagram
participant GitHubActions
participant DocsWorkspace
participant Blume
participant StaticHost
GitHubActions->>DocsWorkspace: run docs API, validation, typecheck, build, and audit scripts
DocsWorkspace->>Blume: generate and validate site output
GitHubActions->>StaticHost: upload apps/docs/dist via FTPS
Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Delete + lift content boundary into docs/README; drop shipped Next item; update lsp-diagnostic-push and Blume audit lesson cross-refs.
Pin typescript@6.0.3 for typedoc@0.28; filter changelog→maintainer-docs broken links in validate.ts; fix hero --params; consumer-surface prose.
Restore docs:api --clean; SHA-pin FTP deploy action; hide TypeDoc sources; narrow changelog validate to maintainer docs/ links.
Ship a category-based Comparison concept (SQL index vs knowledge graph vs quality gate vs fixed-tool explorers), wire nav/footer, and point Why / When to skip at it.
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (2)
.agents/skills/update-docs/SKILL.md (1)
8-8: 🔒 Security & Privacy | 🔵 Trivial | 💤 Low valueConsider pinning the version in the
npxcommand.Running
npx skillswithout a version suffix dynamically downloads the latest version, which poses a supply chain or rug-pull risk if the package is compromised. Consider pinning the version (e.g.,npx skills@<version>) for safer execution, especially in agent-automated environments.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.agents/skills/update-docs/SKILL.md at line 8, Pin the npx skills dependency in the documented “Upstream workflow” command by adding an explicit trusted version to skills, while preserving the existing blume-update-docs skill argument and workflow.Source: Linters/SAST tools
apps/docs/scripts/validate.ts (1)
29-32: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win
spawnSynchas no timeout and swallows spawn errors.Two small robustness gaps:
- No
timeoutis set, so a hungblume validateprocess blocks the CI job indefinitely instead of failing fast.- If the spawn itself fails (e.g.
blumenot resolvable onPATH),result.erroris never inspected/printed — the script exits1(safe) but with no diagnostic message explaining why.🔧 Suggested fix
const result = spawnSync("blume", ["validate", ...args], { encoding: "utf8", maxBuffer: 32 * 1024 * 1024, + timeout: 120_000, }); const stdout = result.stdout ?? ""; const stderr = result.stderr ?? ""; if (stderr) process.stderr.write(stderr); +if (result.error) process.stderr.write(`${result.error}\n`);🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@apps/docs/scripts/validate.ts` around lines 29 - 32, Update the spawnSync invocation in the validation script to enforce a finite timeout so hung blume validate processes fail promptly, and inspect result.error after spawning to print a clear diagnostic when process creation fails (including when blume cannot be resolved). Preserve the existing result-status handling for successfully spawned processes.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@apps/docs/content/guides/config.mdx`:
- Around line 35-45: Update the “Common knobs” configuration table in the guide
to document the root and databasePath options defined by
codemapUserConfigSchema, including each option’s role and behavior consistent
with the src/config.ts contract. Preserve the existing entries and table
formatting.
In `@apps/docs/scripts/rewrite-api-links.ts`:
- Around line 16-19: Add "modules.mdx" to the TYPEDOC_SCAFFOLD set so the
scaffold filter excludes the TypeDoc single-entry file configured by
typedoc.json and recognized by the API metadata.
---
Nitpick comments:
In @.agents/skills/update-docs/SKILL.md:
- Line 8: Pin the npx skills dependency in the documented “Upstream workflow”
command by adding an explicit trusted version to skills, while preserving the
existing blume-update-docs skill argument and workflow.
In `@apps/docs/scripts/validate.ts`:
- Around line 29-32: Update the spawnSync invocation in the validation script to
enforce a finite timeout so hung blume validate processes fail promptly, and
inspect result.error after spawning to print a clear diagnostic when process
creation fails (including when blume cannot be resolved). Preserve the existing
result-status handling for successfully spawned processes.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: b23eb456-9707-4ad4-ab36-02e7a586841d
⛔ Files ignored due to path filters (9)
apps/docs/public/apple-touch-icon.pngis excluded by!**/*.pngapps/docs/public/favicon-96x96.pngis excluded by!**/*.pngapps/docs/public/favicon.icois excluded by!**/*.icoapps/docs/public/favicon.svgis excluded by!**/*.svgapps/docs/public/icon.svgis excluded by!**/*.svgapps/docs/public/logo.svgis excluded by!**/*.svgapps/docs/public/web-app-manifest-192x192.pngis excluded by!**/*.pngapps/docs/public/web-app-manifest-512x512.pngis excluded by!**/*.pngbun.lockis excluded by!**/*.lock
📒 Files selected for processing (81)
.agents/lessons.md.agents/rules/docs-voice-priming.md.agents/skills/docs-governance/LIFECYCLE.md.agents/skills/docs-voice/SKILL.md.agents/skills/harden-pr/LEDGER.md.agents/skills/product-tenets/SKILL.md.agents/skills/update-docs/SKILL.md.changeset/config.json.changeset/docs-site.md.cursor/rules/docs-voice-priming.mdc.cursor/skills/docs-voice.cursor/skills/product-tenets.cursor/skills/update-docs.github/workflows/ci.yml.github/workflows/deploy-docs.ymlAGENTS.mdREADME.mdapps/docs/.gitignoreapps/docs/.oxfmtrc.jsonapps/docs/blume.config.tsapps/docs/components.tsapps/docs/components/blume/Footer.astroapps/docs/components/blume/Pagination.astroapps/docs/components/curated-popular.tsapps/docs/content/concepts/comparison.mdxapps/docs/content/concepts/index-lifecycle.mdxapps/docs/content/concepts/index.mdxapps/docs/content/concepts/meta.tsapps/docs/content/concepts/schema-overview.mdxapps/docs/content/concepts/when-to-skip.mdxapps/docs/content/concepts/why-codemap.mdxapps/docs/content/guides/agents-mcp.mdxapps/docs/content/guides/apply.mdxapps/docs/content/guides/audit-baselines.mdxapps/docs/content/guides/cli-overview.mdxapps/docs/content/guides/config.mdxapps/docs/content/guides/coverage-churn.mdxapps/docs/content/guides/getting-started.mdxapps/docs/content/guides/github-action.mdxapps/docs/content/guides/index.mdxapps/docs/content/guides/meta.tsapps/docs/content/guides/programmatic.mdxapps/docs/content/recipes/affected-tests.mdxapps/docs/content/recipes/fan-in.mdxapps/docs/content/recipes/find-symbol-definitions.mdxapps/docs/content/recipes/index.mdxapps/docs/content/recipes/meta.tsapps/docs/content/reference/api/index.mdxapps/docs/content/reference/api/meta.tsapps/docs/content/reference/cli.mdxapps/docs/content/reference/env.mdxapps/docs/content/reference/formats.mdxapps/docs/content/reference/index.mdxapps/docs/content/reference/mcp.mdxapps/docs/content/reference/meta.tsapps/docs/content/reference/roadmap.mdxapps/docs/package.jsonapps/docs/pages/404.astroapps/docs/pages/_home/Batteries.astroapps/docs/pages/_home/FinalCta.astroapps/docs/pages/_home/Hero.astroapps/docs/pages/_home/HowItWorks.astroapps/docs/pages/_home/InstallBox.astroapps/docs/pages/_home/UseCases.astroapps/docs/pages/_home/source-snippets.tsapps/docs/pages/index.astroapps/docs/public/.htaccessapps/docs/public/site.webmanifestapps/docs/scripts/rewrite-api-links.tsapps/docs/scripts/validate.tsapps/docs/theme.cssapps/docs/tsconfig.jsondocs/README.mddocs/plans/lsp-diagnostic-push.mddocs/roadmap.mdlint-staged.config.jspackage.jsonsrc/adapters/types.tssrc/api.tssrc/config.tstypedoc.json
Document root/databasePath knobs; fail fast on spawn errors and 120s timeout for blume validate.
CodeRabbit nit triage (no inline threads)
Inline: config knobs ✅ resolved; |
Summary
apps/docsathttps://stainless-code.com/codemap(homepage, guides, recipes, concepts, reference + curated roadmap)docsjob, FTP deploy (docslabel), workspacedocs:*scripts, docs-voice / product-tenets skillsTest plan
bun run docs:dev— homepage install chip, hero CLI, navbun run docs:api && bun run docs:validate && bun run docs:check && bun run docs:build && bun run docs:auditdocsjob green/guides/getting-startedpackage-install tabs/concepts/comparison— matrix + pick table + name collisions; peer GitHub links only in pick table/reference/roadmapcurated (no maintainer plan stubs)/codemapafter merge withdocslabel (or release / dispatch)