Share a Vite build
vite build, dist/, and then the question that has no good answer: how does
a designer who does not run your repo click on this?
vite preview is localhost. A deploy is a deploy. So most teams send a
screenshot and review a picture of an app.
Build
npm run build
# → dist/
If you want the folder to also work when opened directly from disk, build with relative asset paths:
// vite.config.js
export default { base: "./" };
Absolute /assets/… paths are fine once the folder is published over HTTP —
the relative base only matters for file://.
Publish dist/
Drag it into the app, or zip and POST:
cd dist && zip -qr ../dist.zip . && cd ..
curl -fsS -X POST https://commareports.com/api/v1/reports \
-H "Authorization: Bearer $COMMA_API_TOKEN" \
-F "title=Preview — $(git rev-parse --short HEAD)" \
-F "visibility=team" \
-F "bundle=@dist.zip"
Zip from inside dist so index.html is at the archive root — a wrapper
folder is the usual cause of a 404 on the entry point. See
sharing a folder of HTML files.
What you get over a screenshot
- Anchored threads — feedback lands on the element. See commenting on HTML.
- Revisions at one URL — one report id per branch, one revision per push.
- Access per report — private, team-only, domain-gated, or unlisted for a client. See the sharing model.
- Nothing to keep running — no staging environment, no preview quota.
Limits
- Assets: 25 MB per file, 250 MB and 500 files per report. Drop
**/*.mapbefore zipping if you are near the file cap. - Entry HTML: 5 MB.
- 60 requests/minute per token.
Try it
Comma is free — unlimited reports, unlimited commenters, unlimited revision history.