lettercamp.site address.
To edit an existing cloud site and review changes before making them live, use
connect, pull, and push. push builds a cloud preview;
deploy publishes directly.
Run
npx lettercamp check before publishing, especially after
changing custom components. It checks imports and builds a deployment copy
without signing in or uploading. Agents can use --json to read the issues and
suggested fixes.lettercamp.site addresses or enter a different one.
Addresses are checked when the site is created; if a name or address is rejected,
the CLI lets you edit it and try again.
In selection menus, use the up and down arrow keys or type a number, then press
Enter. Press Escape or Ctrl+C to cancel. Terminals without cursor controls use
numbered choices.
Terminal output uses highlighted selections and colored progress, success, and
error messages. Set NO_COLOR=1 to turn colors off. Redirected output stays plain.
The CLI saves a deployment destination for this folder locally. Later deployments need only
npx lettercamp deploy: it uploads your local source, builds on Lettercamp, waits for
the result, and prints your live URL. You do not need Git or a GitHub account.
Your existing site stays live if the build fails.
If that destination is unavailable to your account, deployment stops instead of
choosing another site. Check your login before creating a replacement. A copied
or moved folder without a saved deployment destination starts with a new site.
Choosing a destination for upload does not connect the folder
for deployment or change where deploy publishes.
If the site’s source has changed in Cloud since your last deployment, the CLI
stops before uploading. Review those edits in Cloud. The CLI does not merge or
offer to overwrite them; you can publish your local folder as a separate site
with --new.
Deploy as a new site
To create another site from this folder, run:deploy commands. Complete an unfinished
deployment with npx lettercamp deploy before using --new.
If site creation was interrupted, rerun npx lettercamp deploy to resume the
saved creation request. It reuses the request instead of creating a duplicate.
If creation is rejected, the previous deployment destination is retained.
Local images and Cloud assets
deploy uploads files in public/ with their paths intact, subject to your
plan’s limits. For example, public/images/cover.jpg is available at
/images/cover.jpg. This includes local images, fonts, and downloads; supported
images are optimized during the Cloud build. The default starter’s local assets
can stay in place.
Referenced JPEG, PNG, WebP, AVIF, and GIF images outside public/ use the media
library. This includes branding and frontmatter images, Markdown images, image
component properties, and supported literal references in React components and CSS.
Relative image paths resolve from the source file that references them.
These images must stay inside the publication’s pages/, assets/,
components/, lib/, or styles/ folders. The CLI replaces image references with
hosted URLs in the deployment copy and leaves your local files unchanged.
Unchanged images are reused for the same destination site. Uploads follow your
site’s image-size limit.
For hosted assets instead, use the optional
--remote-assets setup, or
upload images and fonts and use their returned URLs. Keep SVG and
ICO files in public/ or use hosted URLs. Browser-only expressions are not
rewritten; dynamically constructed paths must point to a deployed public file
or a hosted URL.
Standalone static builds continue to support local assets.
Files included in a deployment
Deployments includesettings.json and files inside pages/, components/,
lib/, styles/, and assets/. Keep imported source files within these folders.
Your package.json, tsconfig.json, and local dependencies are not included.
Custom components must follow the supported import rules:
relative local imports, CSS or Sass, and React instead of external npm packages.
Local deletions within this set also remove the corresponding hosted source files.
Files outside this set, such as the remote README, stay untouched.
Hidden files and folders, node_modules, dist, build, coverage, and private
key files (.pem, .key, .p12, .pfx) are excluded. Symlinks are rejected.
Source uploads support up to 2,000 files, 5 MB per file, and 10 MB total.
Images outside public/ are excluded from the source upload and its size budget;
referenced supported images are uploaded separately. Unreferenced images outside
public/ are not uploaded. The assets/ source folder is not a public file server.
Public files are uploaded separately and checked against your plan’s limits.
Resume a deployment
If your connection drops or you stop the CLI, runnpx lettercamp deploy again.
It resumes the saved upload or checks the existing deployment. Local edits made
after that upload are included the next time you deploy. If a build fails, your
source may already be saved remotely; fix the local files and deploy again.
Publish through GitHub
Sites connected to an external GitHub repository publish through that repository. Push your changes there instead of uploading source withnpx lettercamp deploy.
Cloud does not install your repository’s npm dependencies. Follow the same
custom component guidance, and commit
the component files and stylesheets along with your pages. Automatic media
library uploads happen only with lettercamp deploy; GitHub builds use the
files and asset URLs already committed to the repository.
See GitHub publishing to connect a repository.
Next, connect a custom hostname or a subfolder.