A portfolio website for Joshua Pendragon (SDET), built with Astro. Features a blog, skills showcase, testimonials, and a curated bookshelf of resources.
Live site: pendragon-coding.netlify.app
- Bun (JavaScript runtime and package manager)
- Node.js 24+ (for the portless dev proxy CLI)
- OpenSSL (Windows:
winget install -e --id ShiningLight.OpenSSL.Dev; the installer often does not addC:\Program Files\OpenSSL-Win64\binto PATH —bun run devprepends it automatically, or add it permanently and restart the terminal)
bun install
bunx portless trust # once: trust local HTTPS CA (Windows may need an elevated terminal)
bun run devThe dev server is available at https://pendragon-coding.localhost (HTTPS via portless).
To run Astro without the proxy: PORTLESS=0 bun run dev:app (plain http://localhost:4321).
bun vetRuns TypeScript type checking, oxlint linting, oxfmt formatting, and all tests in one command.
- Astro -- static site generator
- Bun -- runtime and package manager
- TypeScript -- strict mode
- Tailwind CSS -- v4, custom green theme
- Deployment Guide -- release pipeline, GitHub Actions workflows, manual deploy and rollback
- Testing Guide -- test runner, patterns, quality pipeline, and coverage opportunities
This project uses Changesets for version management. The release flow is fully automated through GitHub Actions:
- Run
bunx changesetto describe a change - Merge to
main-- the Changesets action opens or updates a Version PR - Merging the Version PR creates a git tag (
v{version}) - The tag triggers a deploy to Netlify via GitHub Actions
See the Deployment Guide for the full pipeline details.