Auto-updating user documentation for Vurvey - the AI-powered consumer insights platform.
- VitePress-powered documentation site with search
- Automated screenshots captured nightly via Puppeteer
- GitHub Actions workflow for CI/CD
- GitHub Pages deployment
π View Documentation
- Node.js 20+
- npm
# Clone the repository
git clone https://github.com/Batterii/vurvey-docs.git
cd vurvey-docs
# Install dependencies
npm install
# Start development server
npm run docs:devThe site will be available at http://localhost:5173/vurvey-docs/
| Command | Description |
|---|---|
npm run docs:dev |
Start development server |
npm run docs:build |
Build for production |
npm run docs:preview |
Preview production build |
npm run update:screenshots |
Capture fresh screenshots |
npm run test:qa |
Run QA smoke suite against staging (requires credentials) |
npm run test:docs |
Lint docs (broken links + missing screenshots) |
npm run update:all |
Update screenshots + build |
This repo runs two scheduled GitHub Actions workflows:
- Update Documentation (
.github/workflows/update-docs.yml): captures screenshots and deploys GitHub Pages (2 AM UTC) - Nightly Documentation Sync (
.github/workflows/nightly-docs-sync.yml): captures screenshots, runs QA, proposes doc updates, and opens a PR (3 AM UTC)
Configure these secrets in your repository settings:
| Secret | Description |
|---|---|
VURVEY_EMAIL |
Login email for staging.vurvey.dev |
VURVEY_PASSWORD |
Login password |
VURVEY_WORKSPACE_ID |
Workspace ID for deterministic routing (default: DEMO workspace 07e5edb5-e739-4a35-9f82-cc6cec7c0193) |
The staging app can occasionally show transient global errors like "Failed to fetch". The QA suite will retry route navigation automatically.
QA_ROUTE_RETRIES(default:3)
QA output files are written under qa-output/ (ignored by git).
You can manually trigger updates:
- Go to Actions tab
- Select "Update Documentation"
- Click "Run workflow"
vurvey-docs/
βββ docs/
β βββ .vitepress/
β β βββ config.js # VitePress configuration
β βββ public/
β β βββ screenshots/ # Auto-captured screenshots
β βββ guide/ # Documentation pages
β βββ index.md # Home page
βββ scripts/
β βββ capture-screenshots.js # Puppeteer automation
βββ .github/
β βββ workflows/
β βββ update-docs.yml # CI/CD workflow
βββ package.json
- Create a new
.mdfile indocs/guide/ - Add it to the sidebar in
docs/.vitepress/config.js - Commit and push
Screenshots update nightly. No action needed.
# Set credentials
export VURVEY_EMAIL="your-email@example.com"
export VURVEY_PASSWORD="your-password"
# Run screenshot capture
npm run update:screenshotsBy default, screenshot capture is best-effort. To fail the run if login/workspace resolution fails:
CAPTURE_STRICT=true npm run update:screenshots- Edit
scripts/capture-screenshots.js - Add new capture function following existing patterns
- Reference new screenshots in documentation
- Test locally before committing
Edit docs/.vitepress/config.js to:
- Update navigation and sidebar
- Change site title/description
- Add new pages
- Configure search
Edit scripts/capture-screenshots.js to:
- Change target URLs
- Add new pages to capture
- Adjust viewport size
- Modify capture timing
Deployment happens automatically via GitHub Actions when:
- Push to
mainbranch - Scheduled nightly update
- Manual workflow trigger
GitHub Pages serves the built site from the gh-pages environment.
- Enable GitHub Pages in repository settings
- Select "GitHub Actions" as the source
- Add required secrets
- Push to main branch
- Fork the repository
- Create a feature branch
- Make changes
- Test locally with
npm run docs:dev - Submit a pull request
MIT License - See LICENSE for details.
Built with VitePress for Vurvey Labs