3 min read
General Template
A CLAUDE.md template for any project. Copy this, create a CLAUDE.md file in your project folder, and fill in the brackets.
Blank Template
# Project Name
Brief description of what this project does.
---
## What This Is
[Describe the project in 2-3 sentences. What problem does it solve? Who is it for?]
## Tech Stack
- [Platform: macOS / iOS / web]
- [Framework: SwiftUI / etc.]
- [Any key dependencies]
## Current State
[Where is the project? Just starting? Basic functionality working? Polishing?]
- [x] Completed milestone
- [ ] In progress milestone
- [ ] Future milestone
## Key Features
- [Feature 1]
- [Feature 2]
- [Feature 3]
## Conventions
- Keep it simple
- Prefer built-in APIs over external dependencies
- [Any project-specific conventions]
## File Structure
```
ProjectName/
├── Main entry point
├── Views/
├── Models/
└── etc.
```
## Notes
[Any other context that would help when working on this project]
Filled Example
Here’s what a completed CLAUDE.md looks like for a real project — a weather dashboard web app.
# Weather Dashboard
A minimal weather dashboard that shows current conditions and a 5-day forecast for any city.
---
## What This Is
A single-page web app that lets you search for a city and see its current weather plus a 5-day forecast. Built for personal use — I want a clean, glanceable weather view without ads or clutter.
## Tech Stack
- Platform: web
- HTML / CSS / vanilla JavaScript
- OpenWeatherMap API (free tier)
- No build tools — just static files
## Current State
Core functionality is working. Polishing the UI and adding the forecast view.
- [x] City search with autocomplete
- [x] Current conditions display (temp, humidity, wind)
- [ ] 5-day forecast cards
- [ ] Dark mode support
- [ ] Save favorite cities to localStorage
## Key Features
- Search for any city worldwide
- Current temperature, conditions, humidity, and wind speed
- Weather icons that match conditions
- Responsive layout — works on phone and desktop
## Conventions
- Keep it simple — no frameworks, no build step
- All API calls go through a single `fetchWeather()` function
- Use CSS custom properties for colors and spacing
- Prefer built-in browser APIs over libraries
## File Structure
```
weather-dashboard/
├── index.html # Main page
├── styles.css # All styling
├── app.js # App logic and API calls
└── assets/
└── icons/ # Weather condition icons
```
## Notes
- API key is stored in a `config.js` file (gitignored)
- Free tier allows 60 calls/minute — add basic caching to avoid hitting limits
- Temperatures display in Fahrenheit by default with a toggle for Celsius