Skip to content
Esc
↑↓navigate↵open⌘Jpreview
On this page

Build and deployment

Build a static release and deploy it to your hosting provider.

Brandtree builds a static website. A host serves the HTML, CSS, JavaScript, images, fonts, and downloads from dist/; it does not need a running Brandtree or Astro server. Astro’s deployment guide explains the general static hosting model. Brandtree owns the Astro config, so use its commands rather than adding an adapter to generated files.

Prepare production settings

Set brand.meta.url in brandtree.config.ts to your production origin. Brandtree uses it for canonical URLs, alternate-language links, and absolute social-image URLs. Do not ship the example brand’s URL or a localhost address.

Use basePath only when intentionally mounting the guidelines at a route such as /guidelines. It changes generated routes; it is not an Astro deployment base option and does not rewrite every hand-authored URL. See navigation and test your actual host’s path arrangement.

Replace sample artwork and photography, confirm font/image licenses, and add the final download files to public/. Check that download URLs point to actual files; a labelled download exhibit does not create the archive for you.

Pages are indexable by default. For a page that should be omitted from search results, set frontmatter noindex: true or seo.noindex: true. This emits crawler metadata; it is not access control. Put confidential guidelines behind host-level authentication if they require private access.

Build a reviewed release

Follow Validation to run strict checking, build, and inspect the static output. Run pnpm build using the script created by init, or invoke pnpm brandtree build directly. Stop development before building because it shares the generated runtime.

Upload the contents of your project’s dist/. The .brandtree/ directory contains generated source, not the release artifact.

Use a static host

Point your host at your Brandtree project directory, where package.json and brandtree.config.ts live. For a project using pnpm and the generated scripts:

Setting Value
Install command pnpm install --frozen-lockfile
Build command pnpm build
Publish directory dist

Use Node.js 22.12 or newer. Commit package.json and your lockfile so CI installs the same Brandtree version and author dependencies. With npm or Bun, use the corresponding install and build commands for your lockfile.

The site contains real generated nested routes. Preserve them and the emitted asset directories when uploading. Configure your host to serve directory index files, and test a direct visit and refresh on a nested URL after deployment. A single-page-app fallback is unnecessary for this static output.

Publish the static output

Use your host’s deployment workflow to publish dist/. Brandtree does not have a deploy subcommand or require a particular provider. If your host supplies a CLI, install and configure it in your own project; deployment credentials and access are managed by the host.

A repeatable release routine

Keep config, content, assets, and the dependency lockfile in version control. For each release, install dependencies, run strict checking, build, inspect the output, then deploy that exact output. CI should stop when either check or build fails. After deployment, verify representative public URLs and download links. Retain your previous deployed artifact or commit so you can restore a known release.

Was this page helpful?