The official PaperMC website — built with Astro 5, powered by Bun, and styled using Tailwind CSS v4. Content in this repository is published to papermc.io for viewing.
How to get the project running on your local machine for development.
-
Clone the repository. If you plan to make changes, create a fork first!
git clone --branch feat/astro https://github.com/PaperMC/website.git cd website
-
Install all required dependencies.
bun install
-
Start the development server.
bun run dev
The site will be available at: 👉 http://localhost:4321
bun run build
This command builds a production-ready deployment into the dist
directory. These files are ready to be deployed on Cloudflare Pages.
bun run preview
website/
├─ src/
│ ├─ pages/ # Astro route files
│ ├─ components/ # Astro & Svelte components (islands)
│ ├─ layouts/ # Shared layout templates
│ ├─ styles/ # Tailwind v4 theme tokens
│ └─ content/ # Markdown or MDX content
├─ public/ # Static assets (favicon, icons, etc.)
├─ astro.config.mjs # Astro configuration
├─ tailwind.config.ts
├─ bun.lockb
└─ package.json
This project uses Astro 5, which introduces faster rebuilds, partial hydration improvements, and first-class hybrid rendering.
Svelte is used for dynamic islands and component interactivity.
Tailwind v4 leverages the new @theme token system for consistent color and typography design.
Bun handles dependency management and script execution, replacing Node for faster dev cycles.
Pages are statically generated by default, with selective SSR where necessary.
⚡ Bun Docs
Fork the repository and create a new branch:
git checkout -b feat/my-change
Make your edits and run locally:
bun run dev
Ensure the build passes:
bun run build
Submit a pull request targeting the main branch.
The supporting code is MIT licensed.
The PaperMC logomark is subject to its own terms and does not inherit a license from any of the projects it represents.