https://github.com/malpern/KeyPath
npm install -g @anthropic-ai/claude-code
- Terminal-based, not IDE
- Works with all tools
- Fits into all existing workflows
- General purpose – you can use it for almost anything
- Infinitely hackable
- IDE vs Terminal
- $20 vs pay as you go OR, better value, Claude Pro ($100 a month) and Claude Max ($200 a month).
- Installation & Initial Setup
- Installing Claude Code (e.g.,
npm install -g @anthropic-ai/claude-code). - Essential first setup commands:
/terminal-setup: For better multiline input (Shift+Enter)./theme: Customizing light/dark mode./config: Managing notifications./allowed-tools: Setting tool permissions./install-github-app: Integrating with GitHub issues and PRs.
- Leveraging MacOS dictation for easier prompting.
- Installing Claude Code (e.g.,
- Codebase Q&A: Your First Interaction
- Why it's the easiest way to start.
- No initial setup beyond installation.
- Data privacy: Your code stays local.
- Example Q&A Prompts:
- Understanding code usage (e.g., "How is
@RoutingController.pyused?"). - Investigating code history (e.g., "Why does
recoverFromExceptiontake so many arguments? Look through git history to answer.").
- Understanding code usage (e.g., "How is
- Effective Prompting Basics (Tips #1 & #2)
- Start with codebase Q&A to understand Claude's capabilities.
- Practice prompting to learn what Claude "gets" intuitively versus what requires more specific instructions.
-
Editing Code with Claude
- Moving beyond Q&A to active code modification.
-
Leveraging Built-in Tools
- Overview of Claude Code's out-of-the-box tools (bash, file search, file listing, read/write, web fetch, TODOs, sub-agents).
- How tools make Claude Code powerful.
-
Steering Claude & Advanced Prompting
- Guiding Claude to use tools effectively.
- Example Prompts for Complex Tasks:
- Proposing and implementing fixes (e.g., "Propose a few fixes for issue #8732, then implement the one I pick.").
- In-depth analysis (e.g., "Identify edge cases... think hard.").
- Automating workflows (e.g., "commit, push, pr").
- Using parallel agents for brainstorming.
- Strategy: Ask Claude to plan or brainstorm before generating code.
-
Integrating Your Team's Custom Tools (Tip #3)
- Teaching Claude about your specific bash scripts or custom CLI tools (MCPs).
- Example: "Use the barley CLI to check for error logs... Use -h to check how to use it."
- Adding MCP tools (e.g.,
claude mcp add barley_server -- node myserver).
Module 4: Advanced Techniques & Workflows
- Common Development Workflows with Claude (Tip #4)
- Exploration & Bug Fixing: Explore > Plan > Confirm > Code > Commit.
- Example: "Figure out the root cause for issue #983, then propose a few fixes. Let me choose an approach before you code."
- Test-Driven Development: Write Tests > Commit > Code > Iterate > Commit.
- Example: "Write tests for
@utils/markdown.tsto make sure links render properly..."
- Example: "Write tests for
- UI Implementation & Iteration: Write Code > Screenshot Result > Iterate.
- Example: "Implement
[mock.png]. Then screenshot it with Puppeteer and iterate till it looks like the mock."
- Example: "Implement
- Exploration & Bug Fixing: Explore > Plan > Confirm > Code > Commit.
- Maximizing Performance with Context (Tips #5 & #6)
- The more context, the smarter Claude becomes.
- Methods for providing context:
CLAUDE.mdfiles:- User home (
~/.claude/CLAUDE.md, shared across all user projects). - Project root (
PROJECT_ROOT/CLAUDE.md, checked in). - Local project (
PROJECT_ROOT/CLAUDE.local.md, not checked in).
- User home (
- Slash commands (e.g.,
/user:foofrom~/claude/commands/foo.md). - At-mentioning files/folders (e.g.,
@a/foo.py).
- How context is pulled in (automatically vs. on-demand).
- Importance of tuning context:
- Is it for you or the whole team?
- Should it be added automatically or lazily?
Module 5: Power User Features & Automation
- Essential Keybindings
Shift+Tab: Auto-accept edits.#: Create a memory.!: Enter bash mode.@: Add a file/folder to context.Esc: Cancel current operation.Double-Esc: Jump back in history (--resumeto continue).Ctrl+R: View verbose output./vibe(briefly mentioned for changing Claude's style).
- Scripting Claude: The Claude Code SDK
- Programmatic, low-level access.
- Use cases: CI/CD, non-interactive automation, building custom interactive apps.
- Current support: CLI (TypeScript). Python SDK upcoming.
- Example CLI usage:
claude -p "prompt" --allowedTools Tool(params) --output-format json. - Using Claude Code as a Unix utility (piping input/output).
- Example:
git status | claude -p "what are my changes?" --output-format=json | jq '.result'
- Example:
- Multi-Claude: Running Claudes in Parallel
- Techniques for parallel work:
- Multiple terminal tabs with different checkouts.
- Single checkout with
git worktrees. - SSH + TMUX sessions.
- GitHub Actions for parallel job execution.
- Techniques for parallel work:
An interesting essay: https://steipete.me/posts/2025/claude-code-is-my-computer
- Implementation Challenges: Insights into building Claude Code (e.g., Bash safety, permissions).
- Multimodal Capabilities: Using images with Claude Code (drag & drop, file paths, copy-paste).
- CLI vs. IDE: Rationale behind the CLI-first approach.
This outline provides a structured way to present the information from the video, highlighting key commands, concepts, and best practices for using Claude Code effectively.
Micah Tips: 0. If you have questions about how to use it, just ask!
- Need a good terminal app. eg. Mac Ghosty.
- @ files
- claude --dangerously-skip-permissions, just have backups or run in docker, or just use shift-tab
- claude --continue
- Context compacting
- Drag and drop of control v paste images
- Tell it to think hard, or ultrathink if you want to burn more tokens
- Planning mode or just ask it to plan (or write planning files)
- MCP: Eg Puppeitier, Context7. You can just ask it to install these and then restart claude code.
- Claude.md files
- Peter Steinberger
- https://github.com/steipete/agent-rules
- https://github.com/steipete/macos-automator-mcp
- https://github.com/steipete/Peekaboo
- Claude Code SDK