0. Save Your Shell
Before publishing, export an encrypted .postsnail Shell and keep it private. This is your editable source; do not upload it to Surge.
1. Export Website ZIP
In the admin Generate tab, unlock your key and click Export Website ZIP. Use the Verify tab before uploading.
2. Start Bridge
Start the local Surge bridge with npm run surge:bridge. Leave it running on the creator machine so PostSnail can hand off the publish request.
3. Upload
Click Publish to Surge from the admin. The local bridge receives the public ZIP, stages the files, and publishes the public site.
4. Check Proof Files
Open the deployed .well-known/postsnail.json and postsnail.manifest.json URLs in the browser. They must be public HTTPS URLs for Forest to verify them.
5. Register In Forest
Go to PostSnail Forest, paste your public homepage URL, and wait for the status to move from queued to indexed. Forest indexes summaries only, not full post bodies.
6. Surge CORS
Surge needs a CORS file at the published root so the PostSnail admin verifier can fetch public proof files cross-origin.
7. Surge Ignore
The Website ZIP includes a root .surgeignore. Keep it when deploying a folder directly so Surge skips .postsnail Shell files, passphrase text files, .env files, and similar secrets while still publishing .well-known proof files.