A professional Claude Code environment using:
docker --versionIn PowerShell:
docker run -it --name claude-setup ubuntu:24.04 bashYou're now inside the container. Copy and paste this entire block:
# Update system
apt update && apt upgrade -y
# Install essential tools
apt install -y curl git ripgrep nano wget
# Install Node.js 24 (Latest LTS)
curl -fsSL https://deb.nodesource.com/setup_24.x | bash -
apt install -y nodejs
# Configure npm for global packages
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# Install Claude Code
npm install -g @anthropic-ai/claude-code
# Verify installation
claude --version exit docker commit claude-setup claude-image
docker rm claude-setupCreate a test project:
# Create test directory
mkdir C:\claude-test
cd C:\claude-test
# Run Claude
docker run -it --rm -v "C:\claude-test:/workspace" claude-image bash -c "cd /workspace && claude"π If you see Claude's interface, you're ready to code!
# Create main projects folder
mkdir "C:\Users\$env:USERNAME\Documents\GitHub"my-first-projectC:\Users\[YourName]\Documents\GitHubCLAUDE.mdWithout CLAUDE.md: Every Claude session starts from zero. You'll repeat explanations, lose context, and waste time.
With CLAUDE.md: Claude remembers everything between sessions - your progress, decisions, and next steps.
Create this file in EVERY project:
# [Project Name] - Claude Development Guide
## π― Project Mission
[One sentence describing what we're building and why]
## π Current Status
- **Version**: 0.1.0
- **Last Session**: [Date]
- **Next Priority**: [What to work on next]
## π₯ Active Tasks (Current Session)
Working on:
- [ ] Current task
## π Master Task List
### High Priority
- [ ] Task 1
- [ ] Task 2
### Medium Priority
- [ ] Task 3
- [ ] Task 4
### Completed β
- [x] Set up project (Date)
## ποΈ Project Structureproject/ βββ src/ βββ tests/ βββ CLAUDE.md <-- You are here βββ README.md
## π‘ Key Decisions & Context
- **Why we chose X**: [Reasoning]
- **Important constraint**: [Details]
## π§ Technical Notes
- **API Endpoint**: https://api.example.com
- **Database**: PostgreSQL
- **Key Dependencies**: express, postgres
## π Session Notes
### Session [Date]
- Completed: [What we did]
- Discovered: [Problems/insights]
- Next time: [What to do next]
## β‘ Quick Commands
```bash
# Start dev server
npm run dev
# Run tests
npm test
# Deploy
npm run deploy
```
## π¨ Claude Instructions
1. ALWAYS read this file first when starting
2. Update task lists as we complete items
3. Add new discoveries to session notes
4. Ask for clarification if anything is unclear# Start your container
docker run -it --name claude-myproject -v "C:\Users\$env:USERNAME\Documents\GitHub\my-first-project:/workspace" claude-image bash
# Inside container
cd /workspace
claudeFirst prompt to Claude:
Read CLAUDE.md to understand our project. What should we work on today based on our priorities?Final prompt:
Update CLAUDE.md with:
1. Tasks we completed (move to Completed section)
2. New tasks we discovered
3. Session notes with key decisions
4. What we should work on next timeThen commit:
In your code files, add:
// CLAUDE-CONTEXT: This handles user authentication
// CLAUDE-TODO: Add rate limiting here
// CLAUDE-CAREFUL: Security-critical - don't modify without reviewReference these in CLAUDE.md:
## Code Markers
- Look for CLAUDE-TODO markers for quick tasks
- CLAUDE-CONTEXT explains complex sections
- CLAUDE-CAREFUL marks security-sensitive codeAdd to CLAUDE.md:
## Architecture Decisions
### 2024-03-15: Chose PostgreSQL over MongoDB
- **Reason**: Need ACID compliance for financial data
- **Trade-off**: Less flexible schema
- **Mitigation**: Using JSONB columns for flexibility## Project Milestones
- [x] Phase 1: Basic Setup (Week 1)
- [x] Phase 2: Core Features (Week 2-3)
- [ ] Phase 3: Testing (Week 4)
- [ ] Phase 4: Deployment (Week 5)
Current Phase: 2 (60% complete)## Important Context
- **Client Requirement**: Must work offline
- **Performance Target**: <100ms response time
- **Browser Support**: Chrome, Firefox, Safari (no IE)
- **Mobile**: Responsive, not nativeAlways end CLAUDE.md with:
## π Next Session Setup
1. First, run: `npm install` (if any new dependencies)
2. Check tests: `npm test`
3. Continue with: [Specific task]
4. Watch out for: [Any gotchas] docker start -ai claude-myproject cd /workspace
git pull
claudeexitsource ~/.bashrc
# or
export PATH="$HOME/.npm-global/bin:$PATH"docker rm claude-myproject
# Then create new containerclaude-image)C:\Users\[You]\Documents\GitHub)Ready to build amazing things with Claude! π