---
# System prepended metadata

title: 'AI Tool: Claude Code'
tags: [Lab]

---

## AI Tool: Claude Code

### What is Claude Code?

Claude Code is Anthropic's **agentic coding tool** that lives in your terminal. Unlike chat-based AI assistants, Claude Code can:

- Run terminal commands
- Understand your entire codebase
- Make Git commits and create PRs
- Read, create, and edit files directly
- Access web for up-to-date information

---

### Installation

```bash
# macOS / Linux / Ubuntu (Recommended)
curl -fsSL https://claude.ai/install.sh | bash

# Or via npm (Node.js 18+)
# Similar to other AI CLI tools like Codex, Gemini CLI
npm install -g @anthropic-ai/claude-code
```

Start using:
```bash
cd your-project
claude
```

#### Verify Installation with claude doctor

After installation, run `claude doctor` to check your setup:
```bash
claude doctor
```

---

### Project Setup with CLAUDE.md

#### Initialize with /init

Run `/init` inside Claude Code to create a `CLAUDE.md` file:
```
> /init
```

This generates a project context file that defines:
- Code style guidelines
- Project-specific rules
- Important context about your codebase

Claude will follow these guidelines automatically in every session.

---

### Context Management

#### Check Context Usage

```
> /status          # Show current session info
> /usage           # Show token usage and cost
> /model           # Show or change current model
```

#### Reduce Context with /compact

When context gets too long, use `/compact` to summarize the conversation:
```
> /compact         # Summarize and reduce context
```

---

### Conversation Management
#### Inside Claude Code

```
> /resume              # Open session picker
> /rename new-name     # Rename current session
```

---

### Advanced Features

#### Plan Mode (Read-only Analysis)

Use `Shift+Tab` to switch to Plan Mode for safe code exploration without making changes.

Good for:
- Reviewing code safely
- Code exploration before changes
- Multi-step implementation planning

#### Extended Thinking (ultrathink)

For complex problems, use `ultrathink` keyword to enable deeper reasoning:
```
> ultrathink: analyze the security of this authentication flow
```

This allocates more tokens for Claude to think through problems step-by-step.

#### File References with @

Quick way to include files without waiting for Claude to read them:
```
> Explain the logic in @src/utils/auth.js
> What's the structure of @src/components?
> Compare @file1.js and @file2.js
```


#### Bash Mode with `!` Prefix

Run bash commands directly without going through Claude by prefixing your input with `!`:
```
> ! npm test
> ! git status
> ! ls -la
```

Bash mode features:
- Runs commands directly without Claude interpretation
- Adds command output to conversation context

#### Custom Slash Commands

Create your own slash commands using Markdown files:

**Project commands**:
```bash=
# Create .claude/commands/ directory
mkdir -p .claude/commands

# Example: Create /optimize command
echo "Analyze this code for performance issues:" > .claude/commands/optimize.md
```

**Personal commands** (available across all projects):
```bash=
```# Create ~/.claude/commands/ directory  
mkdir -p ~/.claude/commands

# Example: Create /security-review command
echo "Review this code for security vulnerabilities:" > ~/.claude/commands/security-review.md
```

Usage: Type `/<command-name>` to execute your custom command.


---

### IDE Integration

Claude Code integrates with IDEs:

- **VS Code**: Install extension from marketplace
- **JetBrains IDEs**: Plugin available for PyCharm
- **Chrome Extension** (beta): Quick access from browser

Setup in Claude Code:
```
> /ide           # Configure IDE integration
```

---

### Tips

1. **Always Review**: AI-generated code still needs human review
2. **Be Specific**: Make sure Claude understands what you want to do
3. **Use Caution with Auto-Accept**: Be careful when using "accept edits on" mode
---

### Resources

- Official Docs: https://code.claude.com/docs
