This is a reusable configuration template for Claude Code CLI.
This directory contains a complete Claude Code CLI setup with TDD workflow, Task Master integration, security policies, and TypeScript/Node.js tooling support. Copy this configuration to any project and customize as needed.
- Copy the
.claude/directory to your project - Follow the SETUP.md guide in the root directory
- Customize npm scripts and paths for your project
- TDD Workflow: Red-Green-Refactor cycle with dedicated subagents
- Task Master Integration: Project management and task tracking
- Security Policies: Pre-configured permissions for safe AI assistance
- TypeScript/Node.js Support: npm scripts, linting, formatting
- Docker Support: Docker and docker-compose commands
- Git Integration: Safe git operations with confirmation prompts
- Test Guard: Prevents implementation agents from modifying tests
This directory contains the Claude Code CLI configuration for the project.
-
settings.json- Main project configuration (committed to git)- Defines allowed tools and commands
- Configured with
acceptEditsmode to work without constant confirmations
-
settings.local.json- Personal overrides (NOT committed, in .gitignore)- Use for local experiments and overriding settings
claudeAutomatically approves file changes, only requests confirmation for critical bash commands.
# Safe mode - requires confirmation for everything
claude --permission-mode default
# Planning mode - read-only, no changes
claude --permission-mode plan✅ File operations:
- Read, Glob, Grep
- Edit and Write for src/, tests/, .taskmaster/**, configs
✅ NPM commands:
- npm run dev/build/lint/format
- npm install
✅ Git commands:
- git status/diff/log
- git add/commit
- git branch/checkout/pull
✅ Task Master:
- task-master * (all commands)
- Skill(tm:*) (all skills)
❓ Requires confirmation:
- git push/rebase/merge
- Editing package-lock.json, tsconfig.json
❌ Denied:
- Access to .env files
- rm -rf commands
- sudo, chmod 777
- git push --force, git reset --hard
For different npm scripts:
Edit settings.json permissions section to match your package.json scripts.
For different directory structures:
Update Edit(src/**) and Write(src/**) patterns in settings.json to match your project layout.
For non-TypeScript projects:
Remove TypeScript-specific commands (tsc, ts-node) from settings.json.
For projects without Docker:
Remove Docker-related permissions from settings.json.
Personal preferences:
Create .claude/settings.local.json to override settings without modifying the committed configuration.
settings.json- Main configuration (model, permissions, hooks)settings.local.json- Personal overrides (not committed)hooks/- TypeScript hooks for TDD guard and skill evaluationagents/- TDD subagent definitionscommands/- Custom command definitions (tdd-integration skill)
See SETUP.md in the root directory for complete setup instructions and troubleshooting.