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 | bashTo 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.
