Sharing Claude Code's .claude/ directory across a team — what to commit and what to keep personal
When you start sharing Claude Code's .claude/ directory across a team, which files belong in Git and which stay local? Here are the boundaries I've drawn after running it on four projects, plus a working .gitignore template.
Secret Management and Trust Boundaries for Claude Code — A Production Guide for the Agent Era
A field-tested approach to secrets in a Claude Code workflow: trust-boundary modeling, three injection patterns, leak-prevention hooks, and rotation runbooks — with working code for .env, MCP, and OS Keychain integrations.
When Claude Code Hooks Loop Forever — Stopping Self-Triggering PostToolUse Hooks
You wired up Claude Code hooks and now your terminal is a waterfall of tool calls that won't stop. Here's why PostToolUse hooks loop on themselves, and the patterns I use in real projects to make sure they never do again.
Automating CI/CD Pipelines with Claude Code's --print and --output-format json
A practical guide to using Claude Code's --print flag and --output-format json in CI/CD pipelines. Covers automated code review in GitHub Actions, PR comment generation, and test failure analysis — with working code throughout.
Claude Code × uv: Blazing-Fast Python Environment Setup — 10x Faster Than pip in Practice
Learn how to combine uv — Astral's Rust-powered Python package manager — with Claude Code for dramatically faster environment setup. Covers project initialization, dependency management automation, CI integration, and migrating from pip.
When Claude Code Hits `index.lock` in VMs and CI: Three Workarounds That Actually Stick
When Claude Code freezes on `fatal: Unable to create '.git/index.lock'` inside a VM, container, or CI sandbox, here are three battle-tested workarounds — pick the one that matches the layer of failure you're actually hitting.
Editing Multiple Repositories at Once With Claude Code --add-dir
How to use Claude Code's --add-dir flag to edit multiple repositories in a single session. Practical patterns for cross-repo API changes, shared utility refactoring, and keeping docs in sync with code.
Why Your Custom MCP Server's Logs Disappear — Writing to stderr in Claude Code
If you're building your own MCP server and your console.log lines never appear — while Claude Code silently reports the tool as unresponsive — you're probably polluting stdio. Here's how to spot it and rewrite your logs to keep the protocol intact.
Diagnosing Claude Code Subagents That Stall or Never Return
Diagnostic flow for Claude Code subagents that freeze, return silently, or produce the wrong output shape — classified by symptom with runnable examples.
The Claude Code Error Handbook — Auth, Billing, Stalls, Tools & MCP, Diagnosed by Symptom
A field-tested reference for 40+ Claude Code error patterns, organized by visible symptom: authentication, billing, response stalls, tool failures, MCP connectivity, and hook issues. Each entry tells you where to look and what to change.
Claude Keeps Saying 'Response Incomplete' — A Layered Troubleshooting Guide
Diagnose why Claude or Claude Code freezes with a 'Response incomplete' or 'Try stopping' message. Walk through the four layers where generation can stall and recover the session without losing context.
Auto-Generating Conventional Commits with Claude Code — Letting it Infer Type and Scope from the Diff
Are your commit messages starting to look like a wall of update and fix? Here's a small, stable setup that lets Claude Code read your staged diff and turn it into proper Conventional Commits.