253 lines
4.7 KiB
Markdown
253 lines
4.7 KiB
Markdown
# Getting Started with Claude Code
|
|
|
|
Installation, authentication, and setup guide for Claude Code.
|
|
|
|
## What is Claude Code?
|
|
|
|
Claude Code is Anthropic's agentic coding tool that lives in the terminal and helps turn ideas into code faster. Key features:
|
|
|
|
- **Agentic Capabilities**: Autonomous planning, execution, and validation
|
|
- **Terminal Integration**: Works directly in command line
|
|
- **IDE Support**: Extensions for VS Code and JetBrains IDEs
|
|
- **Extensibility**: Plugins, skills, slash commands, and MCP servers
|
|
- **Enterprise Ready**: SSO, sandboxing, monitoring, and compliance features
|
|
|
|
## Prerequisites
|
|
|
|
### System Requirements
|
|
- **Operating Systems**: macOS, Linux, or Windows (WSL2)
|
|
- **Runtime**: Node.js 18+ or Python 3.10+
|
|
- **API Key**: From Anthropic Console (console.anthropic.com)
|
|
|
|
### Getting API Key
|
|
1. Go to console.anthropic.com
|
|
2. Sign in or create account
|
|
3. Navigate to API Keys section
|
|
4. Generate new API key
|
|
5. Save key securely (cannot be viewed again)
|
|
|
|
## Installation
|
|
|
|
### Install via npm (Recommended)
|
|
```bash
|
|
npm install -g @anthropic-ai/claude-code
|
|
```
|
|
|
|
### Install via pip
|
|
```bash
|
|
pip install claude-code
|
|
```
|
|
|
|
### Verify Installation
|
|
```bash
|
|
claude --version
|
|
```
|
|
|
|
## Authentication
|
|
|
|
### Method 1: Interactive Login
|
|
```bash
|
|
claude login
|
|
# Follow prompts to enter API key
|
|
```
|
|
|
|
### Method 2: Environment Variable
|
|
```bash
|
|
# Add to ~/.bashrc or ~/.zshrc
|
|
export ANTHROPIC_API_KEY=your_api_key_here
|
|
|
|
# Or set for single session
|
|
export ANTHROPIC_API_KEY=your_api_key_here
|
|
claude
|
|
```
|
|
|
|
### Method 3: Configuration File
|
|
Create `~/.claude/config.json`:
|
|
```json
|
|
{
|
|
"apiKey": "your_api_key_here"
|
|
}
|
|
```
|
|
|
|
### Verify Authentication
|
|
```bash
|
|
claude "hello"
|
|
# Should respond without authentication errors
|
|
```
|
|
|
|
## First Run
|
|
|
|
### Start Interactive Session
|
|
```bash
|
|
# In any directory
|
|
claude
|
|
|
|
# In specific project
|
|
cd /path/to/project
|
|
claude
|
|
```
|
|
|
|
### Run with Specific Task
|
|
```bash
|
|
claude "implement user authentication"
|
|
```
|
|
|
|
### Run with File Context
|
|
```bash
|
|
claude "explain this code" --file app.js
|
|
```
|
|
|
|
## Basic Usage
|
|
|
|
### Interactive Mode
|
|
```bash
|
|
$ claude
|
|
Claude Code> help me create a React component
|
|
# Claude will plan and execute
|
|
```
|
|
|
|
### One-Shot Mode
|
|
```bash
|
|
claude "add error handling to main.py"
|
|
```
|
|
|
|
### With Additional Context
|
|
```bash
|
|
claude "refactor this function" --file utils.js --context "make it async"
|
|
```
|
|
|
|
## Understanding the Interface
|
|
|
|
### Session Start
|
|
```
|
|
Claude Code v1.x.x
|
|
Working directory: /path/to/project
|
|
Model: claude-sonnet-4-5-20250929
|
|
|
|
Claude Code>
|
|
```
|
|
|
|
### Tool Execution
|
|
Claude will show:
|
|
- Tool being used (Read, Write, Bash, etc.)
|
|
- Tool parameters
|
|
- Results or outputs
|
|
- Thinking/planning process (if enabled)
|
|
|
|
### Session End
|
|
```bash
|
|
# Type Ctrl+C or Ctrl+D
|
|
# Or type 'exit' or 'quit'
|
|
```
|
|
|
|
## Common First Commands
|
|
|
|
### Explore Codebase
|
|
```bash
|
|
claude "explain the project structure"
|
|
```
|
|
|
|
### Run Tests
|
|
```bash
|
|
claude "run the test suite"
|
|
```
|
|
|
|
### Fix Issues
|
|
```bash
|
|
claude "fix all TypeScript errors"
|
|
```
|
|
|
|
### Add Feature
|
|
```bash
|
|
claude "add input validation to the login form"
|
|
```
|
|
|
|
## Directory Structure
|
|
|
|
Claude Code creates `.claude/` in your project:
|
|
|
|
```
|
|
project/
|
|
├── .claude/
|
|
│ ├── settings.json # Project-specific settings
|
|
│ ├── commands/ # Custom slash commands
|
|
│ ├── skills/ # Custom skills
|
|
│ ├── hooks.json # Hook configurations
|
|
│ └── mcp.json # MCP server configurations
|
|
└── ...
|
|
```
|
|
|
|
## Next Steps
|
|
|
|
### Learn Slash Commands
|
|
```bash
|
|
# See available commands
|
|
/help
|
|
|
|
# Try common workflows
|
|
/cook implement feature X
|
|
/fix:fast bug in Y
|
|
/test
|
|
```
|
|
|
|
### Create Custom Skills
|
|
See `references/agent-skills.md` for creating project-specific skills.
|
|
|
|
### Configure MCP Servers
|
|
See `references/mcp-integration.md` for connecting external tools.
|
|
|
|
### Set Up Hooks
|
|
See `references/hooks-and-plugins.md` for automation.
|
|
|
|
### Configure Settings
|
|
See `references/configuration.md` for customization options.
|
|
|
|
## Quick Troubleshooting
|
|
|
|
### Authentication Issues
|
|
```bash
|
|
# Re-login
|
|
claude logout
|
|
claude login
|
|
|
|
# Verify API key is set
|
|
echo $ANTHROPIC_API_KEY
|
|
```
|
|
|
|
### Permission Errors
|
|
```bash
|
|
# Check file permissions
|
|
ls -la ~/.claude
|
|
|
|
# Fix ownership
|
|
sudo chown -R $USER ~/.claude
|
|
```
|
|
|
|
### Installation Issues
|
|
```bash
|
|
# Clear npm cache
|
|
npm cache clean --force
|
|
|
|
# Reinstall
|
|
npm uninstall -g @anthropic-ai/claude-code
|
|
npm install -g @anthropic-ai/claude-code
|
|
```
|
|
|
|
### WSL2 Issues (Windows)
|
|
```bash
|
|
# Ensure WSL2 is updated
|
|
wsl --update
|
|
|
|
# Check Node.js version in WSL
|
|
node --version # Should be 18+
|
|
```
|
|
|
|
## Getting Help
|
|
|
|
- **Documentation**: https://docs.claude.com/claude-code
|
|
- **GitHub Issues**: https://github.com/anthropics/claude-code/issues
|
|
- **Support**: support.claude.com
|
|
- **Community**: discord.gg/anthropic
|
|
|
|
For detailed troubleshooting, see `references/troubleshooting.md`.
|