Personal website monorepo — a blog and a landing page, built with Astro.
| App | URL | Dev port |
|---|---|---|
| Blog | blog.knutech.net | 4321 |
| Me | me.knutech.net | 4322 |
Framework - Astro Type Checking - TypeScript Component Framework - React Styling - Tailwind CSS Monorepo - pnpm workspaces + Nx Code Formatting - Prettier Linting - ESLint Deployment - Cloudflare Pages
aboutme/
├── apps/
│ ├── blog/ # Blog (Astro + Content Collections)
│ └── me/ # Personal landing page (Astro)
├── libs/
│ └── shared-styles/ # Shared Tailwind + CSS variables
└── nx.json # Nx monorepo config
pnpm install # Install dependencies
pnpm dev:blog # Start blog dev server (localhost:4321)
pnpm dev:me # Start me dev server (localhost:4322)| Command | Action |
|---|---|
pnpm install |
Install dependencies |
pnpm dev:blog |
Start blog dev server at localhost:4321 |
pnpm dev:me |
Start me dev server at localhost:4322 |
pnpm build:blog |
Build blog for production |
pnpm build:me |
Build me for production |
pnpm build:all |
Build all apps via Nx |
pnpm preview:blog |
Preview blog build locally |
pnpm preview:me |
Preview me build locally |
pnpm format:check |
Check formatting with Prettier |
pnpm format |
Format code with Prettier |
pnpm lint |
Lint with ESLint |
pnpm cz |
Commit with Commitizen |
Both apps are deployed independently via Cloudflare Pages. Each push to main triggers a build and deployment through Cloudflare's GitHub integration.
Licensed under the MIT License.