project-init

v2026.09.25

Initialize Claude Code project settings with standard language-specific permissions. Use when setting up a new project for Claude Code or adding standard configuration to an existing project.

GitHub
Install command
npx skhub add arjenschwarz/project-init
Markdown
SKILL.md

Project Init

Initialize a project with standard Claude Code configuration.

What It Does

  1. Detects project languages and adds appropriate tool permissions to .claude/settings.json

Language Detection

The script detects languages based on project files and adds permissions:

Detection FileLanguagePermissions Added
go.modGogo, golangci-lint, staticcheck, govulncheck
Package.swift, *.xcodeprojSwiftswift, xcodebuild, swiftlint, xcrun
package.jsonNode.jsnpm, npx, node, plus yarn/pnpm/bun if lockfiles present
pyproject.toml, requirements.txtPythonpython, pip, uv, pytest, ruff, mypy
Cargo.tomlRustcargo, rustc
GemfileRubyruby, bundle, rake, rspec
pom.xmlJava (Maven)mvn, java
build.gradleJava (Gradle)gradle, ./gradlew, java
DockerfileDockerdocker, docker-compose
*.tfTerraformterraform, tofu
MakefileMakemake

git is always included.

Usage

Run the setup script from your project directory:

~/.claude/skills/project-init/scripts/setup-project.sh

The script:

  • Creates .claude/settings.json if it doesn't exist
  • Merges hooks and permissions into existing settings without overwriting
  • Is idempotent (safe to run multiple times)
  • Requires jq for JSON manipulation

Batch Setup

To initialize multiple projects:

for dir in ~/projects/*; do
  (cd "$dir" && ~/.claude/skills/project-init/scripts/setup-project.sh)
done
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.25

Published

Sep 25, 2026

Category

Uncategorized

License

Not specified

Source path

claude/skills/project-init

Default branch

main

Latest commit

3a876e8

Tree SHA

71a3ea1