How to Set Up Claude Code for Your Development Workflow
Claude Code is Anthropic's terminal-based coding agent. Unlike browser-based AI tools, it operates directly in your codebase: reading files, writing code, running shell commands, running tests, and committing changes. The workflow is closer to an autonomous pair programmer in your terminal than a chat interface you paste code into.
This guide covers installation, configuration, and practical patterns for getting real work done with it.
What Claude Code does
Claude Code is not autocomplete or a chat interface. It is an agent that:
- Reads files across your codebase to understand context before making changes
- Makes coordinated edits across multiple files
- Runs terminal commands (tests, builds, linters) and interprets the output
- Manages git operations including staging, committing with descriptive messages, and creating branches
- Works iteratively on a task, running commands to verify its changes work
The practical result is that you can describe a task at a high level ("add input validation to the registration form, write tests, and fix any TypeScript errors") and Claude Code will plan and execute the steps, asking for confirmation on destructive operations.
Requirements
- Anthropic account with Claude Pro subscription ($20/month) or API access
- Node.js 18 or newer
- macOS, Linux, or Windows with WSL
Installation
npm install -g @anthropic-ai/claude-code
Verify the installation:
claude --version
Authentication
Authenticate with your Anthropic account:
claude auth
This opens a browser window. Log in to your Anthropic account and authorize Claude Code. Your credentials are stored locally.
Alternatively, set your API key directly if you prefer API-key authentication:
export ANTHROPIC_API_KEY=your_api_key_here
Starting a session
Navigate to your project directory and start Claude Code:
cd your-project
claude
This opens an interactive session. Claude Code automatically reads your project structure and relevant files as context before responding.
Ask it anything about your codebase:
> What does the authentication middleware do?
> Why is the build failing?
> Add a rate limiter to the API endpoints
Practical patterns that work well
Describe the outcome, not the steps. Claude Code plans the implementation, so you do not need to specify every file to touch. "Add pagination to the user list endpoint" works better than "open routes/users.ts and add a page parameter."
Run it on a clean git state. Before asking Claude Code to make significant changes, commit or stash your current work. This gives you a clean diff to review and a safe rollback point.
Use /review before accepting. Before Claude Code makes changes, you can ask it to explain its plan: "explain what you're going to change before you do it." This prevents surprises on complex tasks.
Run tests after each significant change. Tell Claude Code to run your test suite after making changes: "make this change and then run the tests. If anything fails, fix it." The agent interprets test output and iterates.
Use specific scopes for large codebases. In a large codebase, give Claude Code a specific directory or set of files: "within the auth/ directory, refactor the token validation to use the new JWT library." This keeps the context focused.
CLAUDE.md: project-specific memory
Create a CLAUDE.md file in your project root to give Claude Code persistent context about your project:
# Project conventions
- TypeScript strict mode
- Jest for testing
- Use the logger utility in src/utils/logger.ts, not console.log
- API endpoints use camelCase, database columns use snake_case
- Run `npm run lint` and `npm run test` before committing
# Common tasks
- To add a new API endpoint: see src/routes/README.md
- To add a new database migration: use `npm run migrate:create`
Claude Code reads this file at the start of every session. Anything you would tell a new engineer on their first day belongs here.
MCP tool integrations
Claude Code supports Model Context Protocol (MCP) servers, which extend what it can do beyond your local filesystem. You can connect it to:
- GitHub to read issues and pull requests as context
- Jira to read ticket descriptions
- Database schema tools to query your database structure
- Documentation search tools
Configure MCP servers in your project's .claude/settings.json or the global Claude Code settings. The Anthropic documentation lists available MCP servers.
Cost management
Claude Code uses Claude Opus 4.6 or Sonnet 4.6 depending on the task complexity. Token usage depends on how many files it reads per session and how many iterations it takes.
For typical development tasks (a few hundred lines of code, reading 5-10 files, running tests), expect roughly $0.10-0.50 per session with Claude Pro's included usage. Complex tasks that read many files and run many iterations cost more.
If you have a Claude Pro subscription, you have a monthly usage allowance that covers typical development use. Heavy daily use may require the Max tier ($100/month) to avoid rate limits.
To reduce token usage: keep CLAUDE.md focused so Claude Code does not need to explore files to understand conventions, and scope tasks specifically so it does not read unnecessary files.
Comparison with browser-based AI
The main advantage of Claude Code over browser-based AI is the execution loop: it can run commands, see the output, and iterate without you copying output between windows. A task that would require 5-10 copy-paste cycles in ChatGPT takes one command in Claude Code.
The main limitation is that it is terminal-based and works best for developers comfortable with command-line workflows. If you prefer an in-editor experience, Cursor or Continue with Claude as the backend are better fits.
Getting started tasks
Good first tasks to try:
- "Explain the architecture of this codebase"
- "What tests are missing for the auth module?"
- "Fix the TypeScript errors in src/api/"
- "Add a health check endpoint to the Express server"
- "Write a README for this project"
Each of these gives Claude Code clear scope and a verifiable success condition, which produces the most reliable results.