Added development rules for AI agents operating within the codebase.

This commit is contained in:
nicholai 2025-12-06 04:14:32 -07:00
parent 26c2d0aa08
commit da2ebf5363
2 changed files with 65 additions and 0 deletions

View File

@ -0,0 +1,4 @@
---
alwaysApply: true
---
The required package manager for this repository is `pnpm`. Do not use any other package managers like npm, bun, etc.

61
dev/CLAUDE.md Normal file
View File

@ -0,0 +1,61 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
Astro 5 blog with Cloudflare Pages deployment. Uses PNPM as package manager.
## Commands
```bash
pnpm dev # Start dev server at localhost:4321
pnpm build # Build production site to ./dist/
pnpm preview # Build and preview locally via Wrangler
pnpm deploy # Build and deploy to Cloudflare Pages
pnpm cf-typegen # Generate Wrangler types for Cloudflare bindings
```
## Architecture
### Content System
- Blog posts in `src/content/blog/` as Markdown/MDX files
- Content schema defined in `src/content.config.ts` with Zod validation
- Required frontmatter: `title`, `description`, `pubDate`
- Optional frontmatter: `updatedDate`, `heroImage`
### Routing
- `src/pages/` - File-based routing
- `src/pages/blog/[...slug].astro` - Dynamic blog post routes
- `src/pages/rss.xml.js` - RSS feed endpoint
### Components
- `src/components/BaseHead.astro` - SEO metadata, og:image, Twitter cards
- `src/layouts/BlogPost.astro` - Blog post layout template
- `src/consts.ts` - Site title and description constants
### Styling
- Tailwind CSS via Vite plugin
- Design tokens in `src/styles/global.css` as CSS custom properties
- Current accent color: `#2337ff` (blue)
- Max content width: 720px
### Cloudflare Integration
- Adapter: `@astrojs/cloudflare` with platform proxy enabled
- Wrangler config: `wrangler.jsonc`
- Environment types: `src/env.d.ts`
- Node.js compatibility enabled via `nodejs_compat` flag
## Design Specification
`design.json` contains V7 Industrial Dark Mode system specification (not yet implemented):
- Dark mode native with `#0B0D11` primary background
- Orange/yellow accent `#FFB84C` for CTAs
- Brutalist/industrial aesthetic with visible grid structure
- Heavy typography emphasis
## Key Configuration
- **Site URL**: Currently `https://example.com` in `astro.config.mjs` - update for production
- **Project name**: `nicholai-work-2026` in `wrangler.jsonc`
- **TypeScript**: Strict mode with Astro and Cloudflare Worker types