My personal website built with Astro and deployed on Cloudflare pages.
- Astro - Web framework
- TypeScript - Type safety
- Tailwind CSS - Styling
- Cloudflare - Hosting
- Vitest - Testing
- Biome - Linting and formatting
- AT Protocol API - Bluesky integration
This project uses pnpm as the package manager. Make sure you have it installed before proceeding.
- Node.js 23
- pnpm 10
-
Clone the repository
git clone [email protected]:Johannes-Andersen/Johannes.git # Using SSH git clone https://github.com/Johannes-Andersen/Johannes.git # Using HTTPS gh repo clone Johannes-Andersen/Johannes # Using GitHub CLI
-
Cd into the repo and install dependencies
cd Johannes pnpm install
-
Create a
dev.vars
file in the root directory and add your environment variables. You can usedev.vars.example
as a reference.cp dev.vars.example dev.vars
-
Start the development server
pnpm dev
pnpm dev
- Start development serverpnpm build
- Build for productionpnpm deploy
- Build and deploy to Cloudflarepnpm preview
- Build and preview locally with Wranglerpnpm test
- Run testspnpm type-check
- Check TypeScript typespnpm coverage
- Run test coverage reportpnpm lint
- Lint codepnpm lint:fix
- Lint and fix codepnpm format
- Check formattingpnpm format:fix
- Format codepnpm check
- Check code with Biomepnpm check:fix
- Check and fix code with Biome