Skip to main content

stacks-docs

Use when building or configuring documentation for a Stacks project - BunPress setup, doc generation, navigation, sidebar structure, or documentation meta/SEO. Covers @stacksjs/docs and config/docs.ts.

Source facts

Repository
stacksjs/stacks
Last source activity
September 6, 2026 at 16:59
Detected SKILL.md language
English
Stars
631
Forks
20

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
stacks-docs
description
Use when building or configuring documentation for a Stacks project - BunPress setup, doc generation, navigation, sidebar structure, or documentation meta/SEO. Covers @stacksjs/docs and config/docs.ts.
license
MIT
compatibility
Bun >= 1.3.0, TypeScript
allowed-tools
Read Edit Write Bash Grep Glob
# Stacks Documentation ## Key Paths - Core package: `storage/framework/core/docs/src/` - Doc content: `docs/` - Config: `config/docs.ts` - Output: `storage/framework/docs/dist/` - Package: `@stacksjs/docs` ## Source Files ``` docs/src/ ├── index.ts # frameworkDefaults + merged docsConfig └── meta.ts # CDN URLs, social links, PWA patterns ``` ## API ```typescript import { frameworkDefaults, docsConfig } from '@stacksjs/docs' // Framework defaults const frameworkDefaults: BunPressOptions = { docsDir: path.projectPath('docs'), outDir: path.frameworkPath('docs/dist'), } // Merged config (framework defaults + user config from config/docs.ts) const docsConfig: BunPressOptions = { ...frameworkDefaults, ...userConfig } ``` ## Meta Exports ```typescript import { googleapis, gstatic, font, ogUrl, ogImage, github, releases, contributing, discord, twitter, pwaFontsRegex, pwaFontStylesRegex } from '@stacksjs/docs' ``` Social and CDN constants used in documentation templates and PWA configuration. ## Configuration (config/docs.ts) ```typescript import type { BunPressOptions } from '@stacksjs/docs' export default { // Navigation nav: [ { text: 'Changelog', link: 'https://github.com/stacksjs/stacks/blob/main/CHANGELOG.md' }, { text: 'Blog', link: 'https://updates.stacksjs.com' }, ], // Markdown settings markdown: { title: 'Stacks.js', syntaxHighlighting: { theme: 'material-theme-palenight' }, toc: { depth: 2 }, }, // Sidebar structure sidebar: { '/prologue/': [/* ... */], '/get-started/': [/* ... */], '/basics/': [/* ... */], '/digging-deeper/': [/* ... */], '/cloud/': [/* ... */], '/cli/': [/* ... */], '/packages/': [/* ... */], '/testing/': [/* ... */], '/project/': [/* ... */], }, // Theme theme: { logo: '/images/logos/logo-transparent.svg', footer: { message: 'Released under the MIT License.', copyright: 'Copyright © 2025' }, socialLinks: [ { icon: 'twitter', link: 'https://twitter.com/stacksjs' }, { icon: 'github', link: 'https://github.com/stacksjs/stacks' }, { icon: 'discord', link: 'https://stacksjs.com/discord' }, ], }, // SEO sitemap: { hostname: 'https://stacksjs.com/docs' }, robotsTxt: { enabled: true }, } satisfies BunPressOptions ``` ## CLI Commands ```bash buddy dev:docs # Start docs dev server buddy build:docs # Build documentation site ``` ## Gotchas - **BunPress, not VitePress** — the docs engine is BunPress (Stacks' own documentation tool) - **Config merging** — `docsConfig` merges framework defaults with user config from `config/docs.ts` - **Sidebar is section-based** — organized by URL prefix (prologue, get-started, basics, etc.) - **SEO built-in** — sitemap and robots.txt generation enabled by default - **Output goes to `storage/framework/docs/dist/`** — not the `docs/` source directory
View on GitHub