Publishing your site

Every deploy runs vage check and vage build first, shows you the plan, and asks before it changes anything. Use --dry-run to see the plan, or --yes once you've reviewed it.

Push to GitHub

terminal
npx vage deploy:github --remote https://github.com/you/site.git

vagejs refuses to commit secret-looking files, dist/ or node_modules/. It never force-pushes, and it reports success only after GitHub has your commit.

GitHub Pages

terminal
npx vage deploy

This adds a GitHub Actions workflow that checks, builds and deploys, then waits for GitHub to confirm. GitHub Pages needs a custom domain or a <user>.github.io repository.

Cloudflare Pages

terminal
npx vage deploy --target cloudflare-pages --project my-site

Branches other than production get their own preview URL. Redirects become real 301s, and the site gets security headers. Authenticate with CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID, or npx wrangler login.

Tell search engines what changed

terminal
npx vage indexnow --changed-since HEAD~1

This needs an IndexNow key in vage.config.ts. It's a hint to search engines, not a guarantee they'll crawl.

Start with one command.
You'll have a site running in a minute.

npm create vagejs@latest my-site

Read the docsUse it with your AI assistant