Master agentic coding with proven patterns from Anthropic's engineering team
Claude Code is a low-level, unopinionated agentic coding tool that provides close to raw model access without forcing specific workflows. It's designed to be flexible, customizable, scriptable, and safe.
Claude Code creates a flexible power tool that meets you where you work - in your terminal, with your existing tools and workflows.
Direct access to Claude's capabilities without imposed frameworks or rigid workflows.
Adapt to any codebase, language, or development environment through configuration.
Integrate into CI/CD pipelines and automate repetitive development tasks.
Conservative permission system with fine-grained control over tool access.
Master all Claude Code slash commands for complete development workflow control.
Creates a CLAUDE.md file with project analysis
Shows all available commands and descriptions
Switch between different Claude models
Configure Claude Code settings and preferences
Resume previous conversations
Reset conversation context completely
Compress context while preserving key information
Monitor token usage and costs
Manage tool permissions and security settings
View and manage project memory
Display project directory structure
Get high-level project overview
Analyze and explain project structure
Connect with IDE integration
Code review and analysis
Spawn sub-agents for parallel work
Manage MCP servers and integrations
Create team-shared commands in .claude/commands/
:
Create personal commands in ~/.claude/commands/
:
/help
- List all commands/init
- Initialize project/clear
- Reset context/compact
- Compress context/model
- Switch models/cost
- Check usage/memory
- Manage memory/permissions
- Set permissions/config
- Configure settings/continue
- Resume session/tree
- Show structure/overview
- Project summary/review
- Code review/task
- Spawn sub-agent/ide
- IDE integration/project:name
- Team commands/user:name
- Personal commands$ARGUMENTS
- Pass parameters@file.js
- Reference files!command
- Execute bashClaude Code automatically pulls context into prompts, which consumes time and tokens. Optimize through environment tuning:
Customize the allowlist to permit safe tools and allow easy-to-undo operations:
Configure Model Context Protocol servers for enhanced capabilities:
In project directory (available when running Claude Code in that directory):
Use debug flags to identify configuration issues:
Start with conservative permissions and gradually allow more tools as you become comfortable with Claude's behavior in your environment.
CLAUDE.md is a special file that Claude automatically pulls into prompts to provide project-specific context and instructions.
Claude reads CLAUDE.md files in priority order:
Declare tools, frameworks, and versions used in your project
Outline key directories and their purposes
List important scripts and commands
Define formatting and convention rules
Use the #
key to give Claude instructions that it will automatically incorporate into the relevant CLAUDE.md:
The most effective workflow for complex tasks follows this structured approach:
Ask Claude to research the problem and understand the codebase:
Have Claude create a detailed plan before coding:
Pro Tip: Use keywords like "think hard" or "ultrathink" to extend Claude's reasoning time for better planning.
Execute the plan with verification steps:
Finalize with proper documentation and cleanup:
For features that can be verified with tests:
Claude Code uses a conservative permission system by default, requesting permission for any action that might modify your system.
By default, Claude requests permission for:
These tools are generally safe and easy to undo:
Store prompt templates in Markdown files within the .claude/commands
folder for reusable workflows:
Use $ARGUMENTS
to pass parameters:
Extend Claude's capabilities with specialized tools and external services:
Use Puppeteer server for browser automation and visual testing
Connect to Sentry for error analysis and debugging
The first version might be good, but after 2-3 iterations it will typically look much better. Give Claude the tools to see its outputs for best results.
When onboarding to a new codebase, use Claude Code for learning and exploration:
Keep CLAUDE.md files concise to reduce token consumption
Be specific about what you want Claude to focus on
Claude Code is a tool to augment your development workflow, not replace your expertise. The best results come from combining Claude's capabilities with your domain knowledge and judgment.