Starlight documentation scaffold for any project.
One command to add a searchable, themed documentation site to your repo.
curl -fsSL https://github.com/synlace/project-docs/raw/main/init.sh | bash
To get the latest SHA, check the latest commit.
Example documentation site for Marlint, a real-time AI phishing detection browser extension.
project/
βββ project-docs/ # Starlight docs site
β βββ package.json
β βββ astro.config.mjs # edit title, sidebar, social links
β βββ src/content/docs/ # your documentation pages
β βββ index.mdx
βββ justfile-doc # just recipes (import into justfile)
βββ justfile # auto-created with import if missing
- Dark / light mode
- Full-text search
- Sidebar navigation
- Mermaid diagrams
- Mobile responsive
- Static HTML output (
npm run build
)
Once imported, run from your project root:
| Command | Description |
|---|---|
just doc |
|
| Start dev server | |
just doc init |
|
| Install npm dependencies | |
just doc build |
|
| Build static site | |
just doc preview |
|
| Preview production build | |
just doc uninstall |
|
| Remove scaffold and import |
The template is downloaded as a tarball from GitHub. No submodules, no npm publishing, no build service. Each project owns its project-docs/
directory β edits config, writes content, commits everything to its own repo.
The template is a starting point, not a dependency. To pull in config improvements later:
SHA=$(curl -fsSL https://api.github.com/repos/synlace/project-docs/commits/main | python3 -c "import sys,json; print(json.load(sys.stdin)['sha'][:7])")
diff -rq project-docs/ <(curl -fsSL "https://github.com/synlace/project-docs/archive/$SHA.tar.gz" | tar -xz --strip-components=1)
Cherry-pick what you want.