Claude Code Crash Course 🚀

Welcome to the Claude Code Crash Course! This repository is designed to teach you the fundamentals and advanced concepts of Claude Code, Anthropic's official CLI for AI-powered software development, in a hands-on way.
What is Claude Code? 💡
Claude Code is an interactive command-line interface that brings Claude's AI capabilities directly to your development workflow. It helps with code analysis, bug fixing, feature development, refactoring, and workflow automation - all from your terminal.
How it Works 🤔
This repository uses a unique branch-based structure for learning:
- Each
project/*branch covers a specific Claude Code feature or concept. - Within each branch, commits are ordered chronologically. Follow the commits one by one to learn the topic step-by-step.
Simply check out the branch for the topic you want to learn and walk through the commits!
Available Topics (Branches) 📚
Here are the topics currently available:
| Branch | Topic | Description |
|---|---|---|
project/custom-commands | 🔧 Custom Commands | Learn to extend Claude Code with custom functionality like dad joke generators and automated commits |
project/mcp | 🔗 MCP Integration | Master Model Context Protocol integration with Context7 MCP server |
project/context-engineering-mcp | ⚡ Fine-Grained MCP Configuration | Optimize context tokens with task-specific MCP configurations using --mcp-config flag |
project/subagents | 🤖 Subagents | Build specialized AI agents within Claude Code like Code Comedy Carl |
project/hooks-notifications | 🎣 Hooks & Notifications | Automate your workflow with sound notifications and event triggers |
project/hookhub | 🏢 Hook Hub | Advanced hook management and organization systems |
More topics might be added, so keep an eye out!
Prerequisites 🛠️
Before you start, make sure you have the following installed:
- 🤖 Claude Code CLI
- 📦 Git
- 🐍 Python (version 3.8 or higher)
- 📝 Your favorite text editor/IDE
Getting Started ▶️
- Clone the repository:
git clone https://github.com/emarco177/claude-code-crash-course.git cd claude-code-crash-course - Choose a topic and check out the branch:
# Example for the custom commands topic git checkout project/custom-commands - Follow the commits: Use
git log --oneline --reverseto see the chronological list of commits for the branch. Then, usegit checkout <commit_hash>or your Git client to step through the history and learn.
Contributing 🤝
Contributions are welcome! If you'd like to add a new topic or improve an existing one:
- Fork the repository.
- Create a new branch for your feature following the naming convention:
project/your-claude-code-feature-name. - Make your changes, ensuring each commit represents a logical step in the learning process.
- Open a Pull Request against the
mainbranch.
License 📄
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Happy learning! 🎉