onelearningcommunity/laravel-model-explorer
As the package approaches public release, a hosted documentation site is needed to:
The package already uses Vue 3 and Vite 6 for its embedded SPA. A documentation tool that shares this toolchain avoids introducing a second, unrelated build system and lets the same developer maintain both.
Options considered:
| Option | Notes |
|---|---|
| VitePress | Vue/Vite-native static site generator; official Vue ecosystem tool; minimal config; GitHub Pages deployment via one Actions workflow |
| Docusaurus | React-based; good for large projects; heavier than needed here |
| GitHub Wiki | No versioning, no custom theme, not deployable as a standalone site |
Plain Markdown in docs/ |
No navigation, search, or structured layout |
Adopt VitePress for the documentation site, hosted on GitHub Pages via a GitHub Actions workflow.
docs-site/ directory at the package root (separate from docs/adr/ which holds ADRs and is not part of the public site).main via .github/workflows/docs.yml.npm ci && npm run docs:build and deploys the docs-site/.vitepress/dist output to the gh-pages branch using the official peaceiris/actions-gh-pages action (or the native actions/deploy-pages equivalent).devDependency in package.json; it does not affect the package's runtime or its consumers.https://{org}.github.io/{repo}/) unless a custom domain is configured later.Positive:
npm ci.main keep docs in sync with the codebase.Negative:
docs-site/ adds a second Markdown + build artefact concern to the repo; contributors must keep docs updated alongside code changes.gh-pages branch, not the main branch — reviewers cannot preview doc changes in a PR without running the build locally or waiting for the deploy preview (if configured).npm ci time in CI.How can I help you explore Laravel packages today?