What is Claude Code?
Installation
Requirements
Install
Configuration
Option 1: Official Anthropic API
Option 2: API Gateway (Recommended — 45% Cheaper)
Core Usage
Essential Commands
Real-World Examples
Create a REST API
Refactor Entire Codebase
Security Audit
Generate Tests
Advanced: CI/CD Integration
Claude Code vs Cursor vs Copilot
Cost Optimization
Get Started Claude Code is Anthropic's official AI coding assistant that runs directly in your terminal. Unlike Cursor or GitHub Copilot, it understands your entire codebase and can edit multiple files simultaneously. Best for: Backend development, scripting, automation, CI/CD integration, code review. Pricing: Claude Opus 4.6 — $15/M input, $75/M output tokens. Why use an API gateway? Claude Code creates app.py, models.py, requirements.txt, init_db.py — all tested and runnable. Scans all Python files → identifies sync functions → converts to async → updates all call sites → adds asyncio imports. Creates tests/test_api.py with happy path, edge cases, error handling, and mocked dependencies. Choose Claude Code if: you do backend work, need CI/CD integration, want model flexibility, or prefer terminal workflows. Choose Cursor if: you prefer visual editing and work primarily on frontend. Q: Does Claude Code upload my entire codebase?
Only files you add to context via /add or that Claude requests to read. Use --read-only for extra safety. Q: Which languages are supported?All major languages: Python, JavaScript/TypeScript, Go, Rust, Ruby, PHP, Swift, Kotlin, C/C++, SQL, and more. Q: Can I use non-Claude models?Yes! With an API gateway: Q: How do I handle rate limits?Use an API gateway with automatic fallback — if one provider is rate-limited, it routes to another model automatically. Q: Is my code secure?
Code is sent to the API provider (Anthropic or your gateway). For sensitive codebases, consider self-hosting or using --read-only mode. Try Crazyrouter — one API key for 600+ AI models, 45% cheaper than going direct. crazyrouter.com Templates let you quickly answer FAQs or store snippets for re-use. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse
# -weight: 500;">npm (all platforms)
-weight: 500;">npm -weight: 500;">install -g @anthropic-ai/claude-code # Verify
claude-code --version
# -weight: 500;">npm (all platforms)
-weight: 500;">npm -weight: 500;">install -g @anthropic-ai/claude-code # Verify
claude-code --version
# -weight: 500;">npm (all platforms)
-weight: 500;">npm -weight: 500;">install -g @anthropic-ai/claude-code # Verify
claude-code --version
export ANTHROPIC_API_KEY="sk-ant-api03-xxxxx"
export ANTHROPIC_API_KEY="sk-ant-api03-xxxxx"
export ANTHROPIC_API_KEY="sk-ant-api03-xxxxx"
export ANTHROPIC_API_KEY="sk-xxxxxx" # Your gateway key
export ANTHROPIC_BASE_URL="https://crazyrouter.com/v1"
export ANTHROPIC_API_KEY="sk-xxxxxx" # Your gateway key
export ANTHROPIC_BASE_URL="https://crazyrouter.com/v1"
export ANTHROPIC_API_KEY="sk-xxxxxx" # Your gateway key
export ANTHROPIC_BASE_URL="https://crazyrouter.com/v1"
# Start in your project
cd /path/to/project
claude-code
# Start in your project
cd /path/to/project
claude-code
# Start in your project
cd /path/to/project
claude-code
> Create a Flask REST API with:
> 1. GET /users - list all users
> 2. POST /users - create user with validation
> 3. SQLite database
> 4. Error handling and logging
> Create a Flask REST API with:
> 1. GET /users - list all users
> 2. POST /users - create user with validation
> 3. SQLite database
> 4. Error handling and logging
> Create a Flask REST API with:
> 1. GET /users - list all users
> 2. POST /users - create user with validation
> 3. SQLite database
> 4. Error handling and logging
> Convert all sync functions in src/ to async/await
> Convert all sync functions in src/ to async/await
> Convert all sync functions in src/ to async/await
> Review src/auth.py for security vulnerabilities
> Review src/auth.py for security vulnerabilities
> Review src/auth.py for security vulnerabilities
🔴 Security Issues: - Line 45: Passwords stored unencrypted - Line 78: SQL injection risk (string concatenation) 🟡 Performance: - Line 120: N+1 query in loop - Line 156: Missing database index ✅ Recommendations: 1. Use bcrypt for password hashing 2. Switch to parameterized queries 3. Add composite index on (user_id, created_at)
🔴 Security Issues: - Line 45: Passwords stored unencrypted - Line 78: SQL injection risk (string concatenation) 🟡 Performance: - Line 120: N+1 query in loop - Line 156: Missing database index ✅ Recommendations: 1. Use bcrypt for password hashing 2. Switch to parameterized queries 3. Add composite index on (user_id, created_at)
🔴 Security Issues: - Line 45: Passwords stored unencrypted - Line 78: SQL injection risk (string concatenation) 🟡 Performance: - Line 120: N+1 query in loop - Line 156: Missing database index ✅ Recommendations: 1. Use bcrypt for password hashing 2. Switch to parameterized queries 3. Add composite index on (user_id, created_at)
> Generate unit tests for all functions in src/api.py
> Generate unit tests for all functions in src/api.py
> Generate unit tests for all functions in src/api.py
# .github/workflows/ai-review.yml
name: AI Code Review
on: [pull_request]
jobs: review: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '18' - run: -weight: 500;">npm -weight: 500;">install -g @anthropic-ai/claude-code - name: AI Review env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} ANTHROPIC_BASE_URL: "https://crazyrouter.com/v1" run: | claude-code --read-only --non-interactive \ "Review this PR for bugs, security issues, and style" \ > review.txt cat review.txt >> $GITHUB_STEP_SUMMARY
# .github/workflows/ai-review.yml
name: AI Code Review
on: [pull_request]
jobs: review: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '18' - run: -weight: 500;">npm -weight: 500;">install -g @anthropic-ai/claude-code - name: AI Review env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} ANTHROPIC_BASE_URL: "https://crazyrouter.com/v1" run: | claude-code --read-only --non-interactive \ "Review this PR for bugs, security issues, and style" \ > review.txt cat review.txt >> $GITHUB_STEP_SUMMARY
# .github/workflows/ai-review.yml
name: AI Code Review
on: [pull_request]
jobs: review: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '18' - run: -weight: 500;">npm -weight: 500;">install -g @anthropic-ai/claude-code - name: AI Review env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} ANTHROPIC_BASE_URL: "https://crazyrouter.com/v1" run: | claude-code --read-only --non-interactive \ "Review this PR for bugs, security issues, and style" \ > review.txt cat review.txt >> $GITHUB_STEP_SUMMARY
/model gpt-4o
/model gemini-2.5-pro
/model deepseek-v3
/model gpt-4o
/model gemini-2.5-pro
/model deepseek-v3
/model gpt-4o
/model gemini-2.5-pro
/model deepseek-v3 - 🔍 Understands full project context (not just the open file)
- ✏️ Edits multiple files in a single command
- 🖥️ Executes shell commands (tests, builds, deploys)
- 🗣️ Natural language interaction — describe what you want, AI delivers - Node.js 18.0+
- macOS, Linux, or Windows 10+
- Terminal with ANSI color support - 45% cheaper than official pricing
- 600+ models with one key (Claude + GPT + Gemini + DeepSeek)
- Better international latency
- No credit card required (Alipay/WeChat supported) - Use Sonnet 4.5 for simple tasks — 5x cheaper than Opus 4.6
- Clear context with /clear when switching topics
- Use an API gateway — save 45% on every API call
- Monitor spending with /cost command
- Batch similar tasks instead of making many small requests - Install: -weight: 500;">npm -weight: 500;">install -g @anthropic-ai/claude-code
- Get an API key: crazyrouter.com (45% cheaper, 600+ models)
- Configure: export ANTHROPIC_BASE_URL="https://crazyrouter.com/v1"
- Start coding: claude-code