This repository contains local settings configuration for Claude Code, optimized for software development workflows.
The settings.local.json file defines permissions for Claude Code to execute various commands and access specific files without requiring manual approval for each operation.
The settings file uses a permission-based system with three categories:
- allow: Commands and file access that are automatically permitted
- deny: Commands and file access that are automatically blocked
- ask: Commands and file access that require user confirmation
npm (Node Package Manager)
npm run *- Execute any npm script defined in package.jsonnpm install *- Install npm packagesnpm ci- Clean install from package-lock.json
Alternative Package Managers
npx *- Execute npm packages without installationyarn *- Yarn package manager commandspnpm *- PNPM package manager commands
JavaScript/TypeScript
node *- Execute Node.js scriptsdeno *- Deno runtime commandsbun *- Bun runtime commandstsc *- TypeScript compiler
Python
python *- Execute Python 2.x scriptspython3 *- Execute Python 3.x scriptspip *- Python package installer
Other Languages
cargo *- Rust package manager and build toolgo *- Go programming language toolchainmvn *- Apache Maven (Java)gradle *- Gradle build automation (Java/Kotlin)
Repository Information
git status- Check working tree statusgit log *- View commit historygit diff *- Show changes between commitsgit branch *- List, create, or delete branches
Branch Management
git checkout *- Switch branches or restore filesgit merge *- Merge branchesgit rebase *- Reapply commits on top of another base
Changes Management
git add *- Stage changes for commitgit commit *- Record changes to repositorygit stash *- Temporarily store modified filesgit reset *- Undo changesgit restore *- Restore working tree files
Remote Operations
git push *- Upload local changes to remotegit pull *- Fetch and integrate remote changesgit fetch *- Download objects from remote
Container Management
docker ps *- List containersdocker images *- List imagesdocker logs *- View container logsdocker exec *- Execute commands in containers
Docker Compose
docker compose *- Docker Compose V2 commandsdocker-compose *- Docker Compose V1 commands
JavaScript/TypeScript Testing
jest *- Jest testing frameworkvitest *- Vite-powered test runner
Python Testing
pytest *- Python testing framework
Code Quality
eslint *- JavaScript/TypeScript linterprettier *- Code formatter
Infrastructure as Code
terraform *- Terraform infrastructure management
Kubernetes
kubectl *- Kubernetes command-line toolhelm *- Kubernetes package manager
Build Tools
make *- GNU Make build automation
Process Management
kill *- Terminate processes by PIDkillall *- Terminate processes by nameps aux *- Display running processeslsof *- List open files and network connections
Network Utilities
netstat *- Network statistics and connectionsss *- Socket statistics (modern netstat alternative)curl *- Transfer data from/to serverswget *- Download files from the web
Configuration Files
~/.zshrc- Zsh shell configuration~/.bashrc- Bash shell configuration~/.gitconfig- Git global configuration/etc/hosts- System hosts file
- Place
settings.local.jsonin your project root or Claude Code configuration directory - Claude Code will automatically load these permissions
- Commands matching the allowed patterns will execute without prompting for approval
- Review allowed commands periodically to ensure they align with your security requirements
- Use wildcards (
*) carefully as they grant broad permissions - Consider using the
askcategory for sensitive operations that should require confirmation - The
denycategory can be used to explicitly block specific commands
To customize these settings:
- Add new patterns to the
allowarray for commands you frequently use - Move sensitive commands to the
askarray if you want manual approval - Add patterns to the
denyarray to block specific operations - Use specific patterns instead of wildcards for tighter security
Bash(command)- Allows exact bash commandBash(command *)- Allows command with any argumentsBash(command:*)- Allows command with colon-separated argumentsRead(filepath)- Allows reading specific file
Web Development
npm install express
npm run dev
git add .
git commit -m "Add express server"
docker compose upPython Development
pip install requests
python3 script.py
pytest tests/
git push origin mainDevOps Operations
kubectl get pods
terraform apply
docker logs container-name
helm upgrade release-name chart/All these commands will execute automatically without requiring manual approval.
Feel free to extend this configuration based on your development workflow needs. Common additions include:
- Database CLI tools (psql, mysql, mongo)
- Cloud provider CLIs (aws, gcloud, az)
- Additional build tools and task runners
- Development servers and hot-reload tools
This configuration is provided as-is for development convenience. Adjust permissions according to your security policies and requirements.