Kassie Documentation
This directory contains the VitePress documentation for Kassie.
Development
Install dependencies:
bash
cd docs
npm installRun development server:
bash
npm run devBuild for production:
bash
npm run buildPreview production build:
bash
npm run previewStructure
docs/
├── .vitepress/ # VitePress configuration
│ ├── config.ts # Main config
│ ├── components/ # Vue components
│ │ └── VersionInfo.vue # Dynamic version display
│ └── theme/ # Custom theme
├── scripts/ # Build scripts
│ └── generate-version.js # Version info generator
├── public/ # Static assets
├── guide/ # User guides
├── reference/ # API reference
├── architecture/ # Architecture docs
├── development/ # Developer docs
├── examples/ # Examples
├── version.json # Generated version info (gitignored)
└── index.md # Landing pageDynamic Versioning
The documentation uses dynamic versioning that automatically pulls version information from git:
How it works:
scripts/generate-version.jsreads git tags and commit info- Generates
version.jsonwith current version, commit hash, and build date - VitePress config imports and uses this data
<VersionInfo />component displays version dynamically in docs
Usage in markdown:
markdown
<VersionInfo />This displays:
Kassie v0.1.1
Commit: 00c76c0
Built: February 9, 2026Version generation runs automatically:
- Before
npm run dev(viapredevscript) - Before
npm run build(viaprebuildscript)
Manual regeneration:
bash
node scripts/generate-version.jsDeployment
Documentation is automatically deployed to GitHub Pages when changes are pushed to the main branch in the docs/ directory.
See .github/workflows/deploy-docs.yml for deployment configuration.
Contributing
When adding new pages:
- Create the markdown file in the appropriate section
- Add it to the sidebar in
.vitepress/config.ts - Follow the existing structure and style
- Test locally with
npm run dev
Style Guide
- Use clear, concise language
- Include code examples where applicable
- Add navigation links at the end of pages
- Use appropriate markdown formatting
- Include screenshots when helpful (place in
public/screenshots/)