Skip to content
Public template

Latest commit

 

History

213 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

✨ StarryBio v3

A beautiful, customizable link-in-bio site built with Astro.

Build your profile once. Deploy it anywhere.

Live Demo Documentation


Astro TypeScript GitHub License GitHub Release GitHub Stars


StarryBio is a static, customizable link-in-bio site built with Astro. It combines grouped links, featured cards, availability schedules, generated downloads, optional analytics, and an animated starfield.

The normal build produces a portable dist/ directory that can be served by GitHub Pages, Cloudflare Workers, Vercel, Netlify, or another static host.

🚀 Deploy your own

Deploy to Cloudflare   Deploy to Netlify   Deploy with Vercel

GitHub Pages uses the included workflow after you fork or copy the repository: Deploy to GitHub Pages


✨ Highlights

  • 🎨 Highly customizable — themes, layouts, motion, profile content, grouped links, featured cards, metadata, and more from one strict TypeScript configuration.
  • 🌌 Animated presentation — responsive layouts, built-in theme presets, configurable motion, and StarryBio's animated starfield.
  • 🔗 More than simple links — copy-to-clipboard actions, visitor-local availability schedules, announcements, QR codes, and vCard downloads.
  • 🖼️ Generated assets — build-time Simple Icons and generated Open Graph images.
  • 📊 Optional analytics — Google Analytics 4, Cloudflare Web Analytics, Plausible, Umami, or custom HTTPS analytics scripts.
  • ⚡ Static and portable — produces a standard dist/ directory with no required backend or database.
  • ☁️ Deploy anywhere — first-class support for GitHub Pages, Cloudflare Workers, Vercel, and Netlify.
  • 🔐 Production-minded — custom 404 behavior, security headers, cache rules, configuration validation, and automated tests.

📖 Documentation

The StarryBio Wiki is the primary documentation for installing, configuring, deploying, operating, and extending StarryBio.

Guide Description
🚀 Getting started Install StarryBio and create your first profile.
⚙️ Configuration reference Explore available configuration options.
☁️ Deploy to Cloudflare Deploy with Cloudflare Workers.
📄 Deploy to GitHub Pages Deploy through the included GitHub Actions workflow.
▲ Deploy to Vercel Deploy as a static Vercel project.
◆ Deploy to Netlify Deploy through Netlify.
🌐 Custom domains and DNS Connect your own domain.
🔐 Security and privacy Understand security and analytics considerations.
🛠️ Troubleshooting Diagnose common setup and deployment problems.
🧑‍💻 Development and contribution Set up the repository for development.

⚡ Quick start

Requirements

  • Node.js 24.15.0+ or 26.0.0+
  • pnpm 12.3.4
  • A hosting account only when deploying

Clone the repository and start the development server:

pnpm install
pnpm dev

Edit:

config/starrybio.config.ts

Save your changes and the development server will reload the open page automatically.

Put your own images under public/assets/images/ and reference them as assets/images/your-file.png. The public/assets/images/default/ directory contains StarryBio's release-managed defaults; do not place custom files or edits there because updates may replace or remove everything in that directory.

Before publishing

pnpm validate
pnpm build
pnpm preview

pnpm build produces portable static output in:

dist/

No hosting credentials are required to build StarryBio.

Deploy to Cloudflare

pnpm deploy

For complete setup instructions, see the deployment guides for:

🧰 Common commands

Command Purpose
pnpm dev Validate, generate assets/icons, and start Astro.
pnpm validate Validate configuration, assets, and generated security headers.
pnpm headers Regenerate CSP and other deployment security headers.
pnpm build Build portable static output in dist/.
pnpm preview Build and serve dist/ with Astro.
pnpm preview:cloudflare Build and serve dist/ through Wrangler.
pnpm deploy Backwards-compatible Cloudflare deployment.
pnpm deploy:cloudflare Build and deploy static assets with Wrangler.
pnpm test:unit Run Vitest unit tests.
pnpm test:e2e Build and run Playwright browser tests.
pnpm check Run formatting, lint, type, and unit-test checks.
pnpm commitlint Validate the latest commit message.
pnpm starrybio:update Updates StarryBio while preserving your configuration.
pnpm release:check Run the complete local release gate.

Run pnpm headers after changing analytics in config/starrybio.config.ts. The build fails closed when the generated Cloudflare/Netlify and Vercel policies are stale. Generated pages also embed the compatible CSP directives for static hosts that cannot set custom response headers.

🤝 Contributing

Contributions are welcome.

See CONTRIBUTING.md for the project contribution process and the wiki development guide for the code map, testing commands, and change-specific expectations.

🔐 Security

Report vulnerabilities privately through GitHub Security Advisories.

See SECURITY.md for the full reporting policy.

Please do not post credentials, real API tokens, or private analytics data in public issues.

📜 License

StarryBio is licensed under the GNU General Public License v3.0.


Releases

Sponsor this project

Used by

Contributors

Languages