# Documentation is insurance for the future

> Source: <https://github.com/synlace/project-docs>
> Published: 2026-07-23 15:45:32+00:00

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](https://github.com/synlace/project-docs/commits/main).

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