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
npx vage deploy:github --remote https://github.com/you/site.gitvagejs 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
npx vage deployThis 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
npx vage deploy --target cloudflare-pages --project my-siteBranches 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
npx vage indexnow --changed-since HEAD~1This needs an IndexNow key in vage.config.ts. It's a hint to search engines, not a guarantee they'll crawl.