Awesome-claude-code init-project

Initialize a new project with CLAUDE.md, CLAUDE.local.md, and optional TASKS.md. Skips excluded projects. Sets correct git identity.

install
source · Clone the upstream repo
git clone https://github.com/m-ret/awesome-claude-code
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/m-ret/awesome-claude-code "$T" && mkdir -p ~/.claude/skills && cp -r "$T/global/skills/init-project" ~/.claude/skills/m-ret-awesome-claude-code-init-project && rm -rf "$T"
manifest: global/skills/init-project/SKILL.md
source content

Project Initialization Skill

Pre-flight Check

  1. Get current working directory
  2. If path matches an excluded project pattern (e.g.,
    ~/Work/work-project
    ):
    • STOP: "This is an excluded project - skipping initialization (custom config exists)"
    • Do NOT create any files
    • Do NOT modify git config

Detection Phase

Scan for project type:

FileTypePackage Manager
package.jsonNode.jsnpm/yarn/pnpm
requirements.txt / pyproject.tomlPythonpip/poetry
Cargo.tomlRustcargo
go.modGogo
pom.xmlJavamaven
build.gradleJava/Kotlingradle
composer.jsonPHPcomposer
GemfileRubybundler
*.csprojC#/.NETdotnet

Extract from detected files:

  • Project name
  • Dependencies
  • Scripts/commands
  • Version

Scan directory structure (top 3 levels).

Files to Create

1. CLAUDE.md (Project Root)

# [Project Name]

## Overview
[Detected or ask user for 1-2 sentence description]

## Tech Stack
- Runtime: [detected]
- Framework: [detected]
- Database: [detected if any]
- Testing: [detected]

## Commands

### Development
```bash
[detected start command]

Build

[detected build command]

Test

[detected test command]

Lint

[detected lint command]

Project Structure

[generated tree, 2-3 levels]

Code Conventions

  • [Detect from existing code: semicolons, quotes, tabs/spaces]
  • [Detect naming conventions]
  • Follow existing patterns in codebase

Important Files

  • Entry: [detected]
  • Config: [detected]
  • Routes/API: [detected]
  • Tests: [detected]

Environment

  • Required env vars: [detect from .env.example or similar]
  • Node version: [detect from .nvmrc, package.json engines]

Patterns to Follow

[Space for ongoing patterns - add with # key]

Notes

[Space for learnings - update during sessions]


Auto-generated by /init-project. Update as project evolves.


### 2. CLAUDE.local.md (Project Root)

```markdown
# Local Configuration (gitignored)

## My Current Focus
- [ ] [Current task]

## Personal Notes
- [Environment-specific notes]
- [Local setup quirks]

## WIP / Experiments
- [Things I'm trying]

## Questions to Resolve
- [Uncertainties about codebase]

3. TASKS.md (Optional - ask user)

# Project Tasks

## In Progress
- [ ] [task]

## Up Next
- [ ] [task]

## Backlog
- [ ] [task]

## Completed
- [x] [task] - [date]

---
*Reference this file at session start for context.*

Post-Creation Steps

  1. Add to .gitignore (if not present):

    CLAUDE.local.md
    
  2. Set git identity (if git repo):

    git config user.email "your.email@example.com"
    git config user.name "Your Name"
    
  3. Verify setup:

    git config user.email  # Should show your configured email
    

Output Summary

After completion, report:

Project initialized: [name]
Type: [detected type]
Created: CLAUDE.md, CLAUDE.local.md
Git identity: your.email@example.com
Commands detected: [list]

Ready to work. What would you like to do?

When Auto-Invoked

This skill should trigger automatically when:

  1. Claude starts in a directory without CLAUDE.md
  2. Directory is not in the excluded list
  3. Directory appears to be a project (has package.json, git, etc.)

Ask user: "No CLAUDE.md found. Initialize project? (Y/n)"