mirror of
https://github.com/zebbern/claude-code-guide.git
synced 2026-09-19 05:23:28 +08:00
Update README.md
This commit is contained in:
@@ -1,2 +1,460 @@
|
||||
# claude-code-windows
|
||||
Here is a full guide on claude tips and tricks and how you can launch and use claude code on your windows via wsl!
|
||||
# Claude Code: Complete Cheat Sheet & Power User Guide
|
||||
|
||||
> AI coding assistant that lives in your terminal. Understands your codebase, writes code, fixes bugs, handles git workflows through natural language.
|
||||
|
||||
[](https://www.npmjs.com/package/@anthropic-ai/claude-code) [](LICENSE)
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
```bash
|
||||
# Install
|
||||
npm install -g @anthropic-ai/claude-code
|
||||
|
||||
# Start
|
||||
cd your-project
|
||||
claude
|
||||
```
|
||||
|
||||
## 📋 Installation & Setup
|
||||
|
||||
### System Requirements
|
||||
- **OS**: macOS 10.15+, Ubuntu 20.04+, Windows (via WSL only)
|
||||
- **Node.js**: 18+ (recommended: 20+)
|
||||
- **Account**: Claude Max subscription OR Anthropic API key
|
||||
|
||||
### Installation Options
|
||||
|
||||
```bash
|
||||
# Method 1: NPM (recommended)
|
||||
npm install -g @anthropic-ai/claude-code
|
||||
|
||||
# Method 2: UV (Python users)
|
||||
uv tool install @anthropic-ai/claude-code
|
||||
|
||||
# Method 3: Binary download from GitHub releases
|
||||
```
|
||||
|
||||
### API Configuration
|
||||
|
||||
```bash
|
||||
# Set API key
|
||||
export ANTHROPIC_API_KEY=your_key_here
|
||||
|
||||
# Add to shell profile
|
||||
echo 'export ANTHROPIC_API_KEY=your_key' >> ~/.bashrc
|
||||
```
|
||||
|
||||
**Tip**: Claude Max subscription is more economical for regular users than pay-per-use API.
|
||||
|
||||
## 🎯 Core Usage
|
||||
|
||||
### Usage Modes
|
||||
|
||||
| Mode | Command | Use Case |
|
||||
|------|---------|----------|
|
||||
| **Interactive** | `claude` | Normal development |
|
||||
| **One-shot** | `claude -p "question"` | Quick tasks |
|
||||
| **Headless** | `claude -p "task" --output-format stream-json` | CI/Automation |
|
||||
| **Planning** | `Shift+Tab Shift+Tab` | Plan without executing |
|
||||
|
||||
### Model Selection
|
||||
|
||||
```bash
|
||||
claude --model claude-opus-4 # Most capable
|
||||
claude --model claude-sonnet-4 # Balanced (default)
|
||||
claude --model claude-haiku-3.5 # Fastest/cheapest
|
||||
```
|
||||
|
||||
## 🔧 All Interactive Commands
|
||||
|
||||
| Command | Purpose | Example |
|
||||
|---------|---------|---------|
|
||||
| `/add-dir` | Add working directory | `/add-dir ~/projects` |
|
||||
| `/bug` | Report issues | `/bug describe_problem` |
|
||||
| `/clear` | Clear context (saves tokens) | `/clear` |
|
||||
| `/compact` | Keep summary, clear context | `/compact [instructions]` |
|
||||
| `/config` | Open config panel | `/config` |
|
||||
| `/cost` | Show session cost | `/cost` |
|
||||
| `/doctor` | Check installation health | `/doctor` |
|
||||
| `/exit` | Exit REPL | `/exit` |
|
||||
| `/help` | Show all commands | `/help` |
|
||||
| `/ide` | Connect to IDE | `/ide` |
|
||||
| `/init` | Generate CLAUDE.md docs | `/init` |
|
||||
| `/install-github-app` | Setup GitHub Actions | `/install-github-app` |
|
||||
| `/login` | Switch accounts | `/login` |
|
||||
| `/logout` | Sign out | `/logout` |
|
||||
| `/mcp` | Manage MCP servers | `/mcp` |
|
||||
| `/memory` | Edit memory files | `/memory` |
|
||||
| `/model` | Change AI model | `/model claude-opus-4` |
|
||||
| `/permissions` | Manage tool permissions | `/permissions` |
|
||||
| `/pr-comments` | Get PR comments | `/pr-comments 123` |
|
||||
| `/release-notes` | View updates | `/release-notes` |
|
||||
| `/resume` | Resume conversation | `/resume session_id` |
|
||||
| `/review` | Review pull request | `/review 123` |
|
||||
| `/status` | Show system status | `/status` |
|
||||
| `/terminal-setup` | **Hidden**: Optimize terminal | `/terminal-setup` |
|
||||
| `/upgrade` | Upgrade to Max plan | `/upgrade` |
|
||||
| `/vim` | Toggle vim mode | `/vim` |
|
||||
|
||||
## 🔥 Hidden Power Features
|
||||
|
||||
### 1. Dangerous Mode (Automation)
|
||||
```bash
|
||||
# Skip all permission prompts
|
||||
claude --dangerously-skip-permissions -p "fix all linting errors"
|
||||
|
||||
# Recommended: Use in Docker container
|
||||
docker run --rm -v $(pwd):/workspace claude-container
|
||||
```
|
||||
|
||||
### 2. Terminal Setup (Hidden Command)
|
||||
```bash
|
||||
/terminal-setup
|
||||
# Enables: Shift+Enter for newlines, bell notifications, optimized settings
|
||||
```
|
||||
|
||||
### 3. Pre-commit Hook Integration
|
||||
```yaml
|
||||
# .pre-commit-config.yaml
|
||||
repos:
|
||||
- repo: local
|
||||
hooks:
|
||||
- id: claude-lint
|
||||
name: Claude Auto-lint
|
||||
entry: claude
|
||||
args: ["-p", "fix linting and formatting", "--dangerously-skip-permissions"]
|
||||
language: system
|
||||
files: \.(js|ts|py)$
|
||||
```
|
||||
|
||||
### 4. Permission Management
|
||||
```bash
|
||||
# Allow specific tools without prompts
|
||||
/permissions add Edit
|
||||
/permissions add "Bash(git commit:*)"
|
||||
/permissions deny "Bash(rm*)"
|
||||
|
||||
# Session-specific permissions
|
||||
claude --allowedTools Edit,Bash
|
||||
```
|
||||
|
||||
### 5. Planning Mode
|
||||
```bash
|
||||
# Press Shift+Tab twice for planning mode (no file writes)
|
||||
Shift+Tab Shift+Tab
|
||||
```
|
||||
|
||||
## 🌐 Cross-Platform Setup
|
||||
|
||||
### Windows (WSL Required)
|
||||
|
||||
```bash
|
||||
# 1. Install WSL2
|
||||
wsl --install Ubuntu
|
||||
|
||||
# 2. Configure performance (~/.wslconfig)
|
||||
[wsl2]
|
||||
memory=8GB
|
||||
processors=4
|
||||
localhostForwarding=true
|
||||
|
||||
# 3. Access Windows projects
|
||||
cd /mnt/c/Users/YourUsername/Projects
|
||||
cursor . # or code .
|
||||
|
||||
# 4. Install Claude Code in WSL
|
||||
npm install -g @anthropic-ai/claude-code
|
||||
```
|
||||
|
||||
### macOS
|
||||
```bash
|
||||
# Use Homebrew
|
||||
brew install node
|
||||
npm install -g @anthropic-ai/claude-code
|
||||
|
||||
# For M1/M2 Macs
|
||||
arch -arm64 npm install -g @anthropic-ai/claude-code
|
||||
```
|
||||
|
||||
### Linux (Ubuntu/Debian)
|
||||
```bash
|
||||
# Install Node.js 20
|
||||
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
||||
sudo apt-get install -y nodejs
|
||||
|
||||
# Install Claude Code
|
||||
npm install -g @anthropic-ai/claude-code
|
||||
|
||||
# Fix PATH if needed
|
||||
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
|
||||
```
|
||||
|
||||
## 🔌 IDE Integration
|
||||
|
||||
### VS Code
|
||||
```bash
|
||||
# Install extension
|
||||
code --install-extension anthropic.claude-code
|
||||
|
||||
# Connect
|
||||
/ide
|
||||
```
|
||||
|
||||
### Cursor
|
||||
```bash
|
||||
cursor . # Launch in project
|
||||
# In integrated terminal: claude
|
||||
```
|
||||
|
||||
### Universal Access
|
||||
- **Shortcuts**: `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux)
|
||||
- **Context sharing**: Open files, selections, linter errors
|
||||
- **Visual diffs**: Apply changes directly in IDE
|
||||
|
||||
## 🛠️ MCP (Model Context Protocol) Setup
|
||||
|
||||
### Essential MCP Servers
|
||||
|
||||
```bash
|
||||
# Quick install script
|
||||
claude mcp add sequential-thinking -s user -- npx -y @modelcontextprotocol/server-sequential-thinking
|
||||
claude mcp add filesystem -s user -- npx -y @modelcontextprotocol/server-filesystem ~/Projects
|
||||
claude mcp add puppeteer -s user -- npx -y @modelcontextprotocol/server-puppeteer
|
||||
claude mcp add fetch -s user -- npx -y @kazuph/mcp-fetch
|
||||
```
|
||||
|
||||
### API-Based Servers
|
||||
```bash
|
||||
# GitHub (requires token)
|
||||
claude mcp add github -s user -- env GITHUB_TOKEN=token npx -y @modelcontextprotocol/server-github
|
||||
|
||||
# Brave Search (requires API key)
|
||||
claude mcp add brave-search -s user -- env BRAVE_API_KEY=key npx -y @modelcontextprotocol/server-brave-search
|
||||
```
|
||||
|
||||
### Manual Configuration (Better Method)
|
||||
|
||||
Create `.claude.json`:
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"filesystem": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "@modelcontextprotocol/server-filesystem", "~/Projects"]
|
||||
},
|
||||
"github": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "@modelcontextprotocol/server-github"],
|
||||
"env": {"GITHUB_TOKEN": "your_token"}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MCP Scopes
|
||||
|
||||
| Scope | Location | Usage |
|
||||
|-------|----------|-------|
|
||||
| `local` | `./.claude.json` | Current directory only |
|
||||
| `project` | `./.claude/settings.json` | Shareable with team |
|
||||
| `user` | `~/.claude.json` | All your projects |
|
||||
|
||||
### Popular MCP Servers
|
||||
|
||||
| Server | Purpose | Package |
|
||||
|--------|---------|---------|
|
||||
| Sequential Thinking | Multi-step reasoning | `@modelcontextprotocol/server-sequential-thinking` |
|
||||
| Filesystem | File operations | `@modelcontextprotocol/server-filesystem` |
|
||||
| Puppeteer | Browser automation | `@modelcontextprotocol/server-puppeteer` |
|
||||
| GitHub | Git operations | `@modelcontextprotocol/server-github` |
|
||||
| Sentry | Error monitoring | `@sentry/mcp-server` |
|
||||
| Linear | Project management | `@linear/mcp-server` |
|
||||
| DigitalOcean | Cloud deployment | `@digitalocean/mcp` |
|
||||
|
||||
## 📝 Custom Commands & Templates
|
||||
|
||||
### Slash Commands
|
||||
|
||||
Create `.claude/commands/fix-issue.md`:
|
||||
```markdown
|
||||
Fix GitHub issue: $ARGUMENTS
|
||||
|
||||
Steps:
|
||||
1. `gh issue view $ARGUMENTS`
|
||||
2. Search codebase for relevant files
|
||||
3. Implement fix
|
||||
4. Write tests
|
||||
5. Create PR
|
||||
```
|
||||
|
||||
Usage: `/project:fix-issue 123`
|
||||
|
||||
### Personal Commands
|
||||
Add to `~/.claude/commands/` for global availability.
|
||||
|
||||
## 💡 Pro Tips & Tricks
|
||||
|
||||
### 🎯 Workflow Hacks
|
||||
|
||||
```bash
|
||||
# Error interruption
|
||||
Esc # Stop Claude immediately
|
||||
> "Revert last changes and try different approach"
|
||||
|
||||
# Context management
|
||||
/clear # Between major tasks (saves tokens)
|
||||
/compact # Keep summary, reduce context
|
||||
|
||||
# UV package manager fix (Claude struggles with uv)
|
||||
> "Use uv add, not pip install. Always use uv commands."
|
||||
```
|
||||
|
||||
### 🚀 Rapid Development Pattern
|
||||
|
||||
1. Describe project in natural language
|
||||
2. Let Claude create plan (8-12 steps typical)
|
||||
3. Use `/clear` between major sections
|
||||
4. Press `↑` + "continue" for next steps
|
||||
5. 30-45 minutes for most projects regardless of complexity
|
||||
|
||||
### 📚 Documentation Before Code
|
||||
```bash
|
||||
# Best practice for new frameworks
|
||||
> "Read the Next.js 14 docs at https://nextjs.org/docs then create project with latest best practices"
|
||||
```
|
||||
|
||||
### 🎨 CLAUDE.md Personalization
|
||||
```markdown
|
||||
# Custom CLAUDE.md
|
||||
## Team
|
||||
- Lead: [Your Name/Nickname]
|
||||
- Package Manager: uv (NOT pip!)
|
||||
- Test Runner: pytest
|
||||
|
||||
## Project Notes
|
||||
- Ask [Your Name] for deployment access
|
||||
- Always use feature branches
|
||||
```
|
||||
|
||||
## 🔧 Advanced Configuration
|
||||
|
||||
### User Config (`~/.claude.json`)
|
||||
```json
|
||||
{
|
||||
"defaultModel": "claude-sonnet-4",
|
||||
"permissions": {
|
||||
"allowedTools": ["Edit", "Bash(git*)"],
|
||||
"deniedTools": ["Bash(rm*)"]
|
||||
},
|
||||
"preferences": {
|
||||
"autoCompact": true,
|
||||
"compactThreshold": 50000
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Environment Variables
|
||||
```bash
|
||||
export ANTHROPIC_API_KEY=your_key
|
||||
export CLAUDE_MODEL=claude-sonnet-4
|
||||
export MCP_DEBUG=true
|
||||
export CLAUDE_DEBUG=true
|
||||
```
|
||||
|
||||
## 🏢 Enterprise Features
|
||||
|
||||
### Amazon Bedrock
|
||||
```bash
|
||||
export AWS_PROFILE=your-profile
|
||||
claude --provider bedrock --model anthropic.claude-3-5-sonnet
|
||||
```
|
||||
|
||||
### Google Vertex AI
|
||||
```bash
|
||||
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
|
||||
claude --provider vertex --model claude-3-5-sonnet
|
||||
```
|
||||
|
||||
## 🐛 Common Issues & Fixes
|
||||
|
||||
### Installation Problems
|
||||
```bash
|
||||
# Command not found
|
||||
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
|
||||
# Permission denied (don't use sudo!)
|
||||
mkdir ~/.npm-global
|
||||
npm config set prefix '~/.npm-global'
|
||||
```
|
||||
|
||||
### WSL Issues
|
||||
```bash
|
||||
# Wrong npm (using Windows instead of WSL)
|
||||
which npm # Should show /usr/bin/npm
|
||||
|
||||
# Performance issues
|
||||
# Edit %USERPROFILE%\.wslconfig
|
||||
[wsl2]
|
||||
memory=8GB
|
||||
processors=4
|
||||
```
|
||||
|
||||
### MCP Debugging
|
||||
```bash
|
||||
claude --mcp-debug # Debug MCP issues
|
||||
/mcp # Check server status
|
||||
claude mcp list # List configured servers
|
||||
```
|
||||
|
||||
### Rate Limiting
|
||||
```bash
|
||||
/cost # Check usage
|
||||
/clear # Clear context to save tokens
|
||||
/upgrade # Get Claude Max for higher limits
|
||||
```
|
||||
|
||||
## 🎥 Quick Commands Reference
|
||||
|
||||
```bash
|
||||
# Project setup
|
||||
claude /init # Generate docs
|
||||
claude /ide # Connect to IDE
|
||||
|
||||
# Development
|
||||
claude -p "fix all TypeScript errors" # Quick fixes
|
||||
claude -p "add tests for auth module" # Add functionality
|
||||
claude -p "optimize this component" # Improvements
|
||||
|
||||
# Git workflows
|
||||
claude -p "review this PR and suggest improvements"
|
||||
claude -p "create commit message for current changes"
|
||||
claude -p "resolve merge conflicts"
|
||||
|
||||
# Automation
|
||||
claude --dangerously-skip-permissions -p "lint and format all files"
|
||||
```
|
||||
|
||||
## 📚 Resources
|
||||
|
||||
- **Docs**: https://docs.anthropic.com/claude-code
|
||||
- **GitHub**: https://github.com/anthropics/claude-code
|
||||
- **NPM**: https://www.npmjs.com/package/@anthropic-ai/claude-code
|
||||
- **Best Practices**: https://www.anthropic.com/engineering/claude-code-best-practices
|
||||
|
||||
### Community Guides
|
||||
- [Harper Reed's Workflow](https://harper.blog/2025/05/08/basic-claude-code/)
|
||||
- [Philipp Spiess's Tips](https://spiess.dev/blog/how-i-use-claude-code)
|
||||
- [MCP Setup Guide](https://scottspence.com/posts/configuring-mcp-tools-in-claude-code)
|
||||
|
||||
---
|
||||
|
||||
## 🎯 The Claude Code Mindset
|
||||
|
||||
1. **Think conversations, not commands** - Use natural language
|
||||
2. **Iterate rapidly** - First attempt won't be perfect
|
||||
3. **Context is king** - Be specific, clear frequently
|
||||
4. **Monitor & interrupt** - Use `Esc` when things go wrong
|
||||
5. **Document everything** - Future you will thank you
|
||||
|
||||
**Need help?** Use `/bug` in Claude Code or join community discussions. Happy coding! 🚀
|
||||
|
||||
Reference in New Issue
Block a user