Artifact Review Docs

ZIP Packaging Guide

How to structure ZIP bundles for multi-file artifact uploads.

ZIP bundles let you upload multi-file projects — web apps with separate HTML, CSS, JavaScript, and image files. The ZIP is extracted and served as a static site.

Basic Structure

Your ZIP must contain an entry-point HTML file. The system looks for files in this order:

  1. index.html at the root of the ZIP
  2. The first .html file found at the root level
my-project.zip
├── index.html        ← entry point (loaded automatically)
├── styles.css
├── app.js
└── images/
    └── logo.png

Nested Directories

Subdirectories are supported. Relative paths between files work as expected:

dashboard.zip
├── index.html
├── css/
│   └── main.css       ← referenced as "./css/main.css"
├── js/
│   └── chart.js       ← referenced as "./js/chart.js"
└── assets/
    └── data.json      ← referenced as "./assets/data.json"

Forbidden File Types

For security, certain file extensions are rejected during extraction:

Executables: .exe, .dll, .bat, .cmd, .sh, .ps1

Video files: .mov, .mp4, .avi, .mkv, .wmv

Office documents: .doc, .docx, .xls, .xlsx, .ppt

ZIPs containing any forbidden file will be rejected with an error listing the offending files.

Limits

ConstraintLimit
Maximum ZIP size50 MB
Maximum files in ZIP500
Maximum size per extracted file5 MB

See Size Limits for a complete reference.

Tips

  • Keep it flat — simpler directory structures are easier to debug
  • Use relative paths — absolute paths (/styles.css) won't resolve correctly; use relative (./styles.css)
  • Test locally first — open index.html in a browser to verify all paths resolve before uploading
  • Minimize assets — stay well under the 50 MB limit for faster uploads and reviews

On this page