117 lines
3.2 KiB
Markdown
117 lines
3.2 KiB
Markdown
---
|
|
name: setup-claude-md
|
|
description: Generate or update a minimal CLAUDE.md with project guidelines and structure
|
|
---
|
|
|
|
Generate or update a minimal CLAUDE.md with project structure, guidelines, and quality checks.
|
|
|
|
## Step 1: Check if CLAUDE.md Exists
|
|
|
|
If `CLAUDE.md` exists:
|
|
- Read the existing file
|
|
- Preserve custom sections the user may have added
|
|
- Update the structure, quality checks, and organization rules
|
|
|
|
If `CLAUDE.md` does NOT exist:
|
|
- Create a new one from scratch
|
|
|
|
## Step 2: Analyze Project (Use Explore Agents in Parallel)
|
|
|
|
Spawn parallel Explore agents to understand the codebase:
|
|
|
|
1. **Project Purpose Agent**: Analyze README, package.json description, main files to understand what the project does
|
|
2. **Directory Structure Agent**: Map out the folder structure and what each folder contains
|
|
3. **Tech Stack Agent**: Identify languages, frameworks, tools, dependencies
|
|
|
|
Wait for all agents to complete, then synthesize the information.
|
|
|
|
## Step 3: Detect Project Type & Commands
|
|
|
|
Check for config files:
|
|
- `package.json` → JavaScript/TypeScript (extract lint, typecheck, server scripts)
|
|
- `pyproject.toml` or `requirements.txt` → Python
|
|
- `go.mod` → Go
|
|
- `Cargo.toml` → Rust
|
|
|
|
Extract:
|
|
- Linting commands
|
|
- Typechecking commands
|
|
- Server start command (if applicable)
|
|
|
|
## Step 4: Generate Project Tree
|
|
|
|
Create a concise tree structure showing key directories and files with brief descriptions.
|
|
|
|
Example format:
|
|
```
|
|
src/
|
|
├── api/ # API endpoints and routes
|
|
├── components/ # Reusable UI components
|
|
├── utils/ # Helper functions and utilities
|
|
├── types/ # TypeScript type definitions
|
|
└── main.ts # Application entry point
|
|
```
|
|
|
|
## Step 5: Generate or Update CLAUDE.md
|
|
|
|
Create `CLAUDE.md` with this structure:
|
|
|
|
```markdown
|
|
# [Project Name]
|
|
|
|
[Brief 1-2 sentence description of what this project does]
|
|
|
|
## Project Structure
|
|
|
|
[INSERT TREE HERE]
|
|
|
|
## Organization Rules
|
|
|
|
**Keep code organized and modularized:**
|
|
- API routes → `/api` folder, one file per route/resource
|
|
- Components → `/components`, one component per file
|
|
- Utilities → `/utils`, grouped by functionality
|
|
- Types/Interfaces → `/types` or co-located with usage
|
|
- Tests → Next to the code they test or in `/tests`
|
|
|
|
**Modularity principles:**
|
|
- Single responsibility per file
|
|
- Clear, descriptive file names
|
|
- Group related functionality together
|
|
- Avoid monolithic files
|
|
|
|
## Code Quality - Zero Tolerance
|
|
|
|
After editing ANY file, run:
|
|
|
|
```bash
|
|
[EXACT COMMANDS FROM PROJECT]
|
|
```
|
|
|
|
Fix ALL errors/warnings before continuing.
|
|
|
|
[IF SERVER EXISTS:]
|
|
If changes require server restart (not hot-reloadable):
|
|
1. Restart server: `[SERVER COMMAND]`
|
|
2. Read server output/logs
|
|
3. Fix ALL warnings/errors before continuing
|
|
```
|
|
|
|
**Keep total file under 100 lines.**
|
|
|
|
## Step 6: Preserve Custom Sections
|
|
|
|
If updating an existing CLAUDE.md:
|
|
- Keep any custom sections the user added
|
|
- Update the generated sections (Project Structure, Quality Checks)
|
|
- Merge carefully without losing user content
|
|
|
|
## Step 7: Confirm Completion
|
|
|
|
Tell the user:
|
|
- ✅ CLAUDE.md [created/updated]
|
|
- 📋 Project: [brief description]
|
|
- 🗂️ Structure mapped with [X] directories
|
|
- 📐 Organization rules enforced
|
|
- 🎯 Zero-tolerance quality checks active
|