Claude-night-market project-init

'Interactive project initialization with git setup, workflows, hooks,

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

Table of Contents

Project Initialization Skill

Interactive workflow for initializing new software projects with complete development infrastructure.

Use When

  • Starting a new Python, Rust, or TypeScript project
  • Updating existing project tooling to current standards
  • Need to set up git, GitHub workflows, pre-commit hooks, Makefile
  • Want consistent project structure across team
  • Converting unstructured project to best practices
  • Adding missing configurations to established codebases

Workflow

1. Detect or Select Language

Load

modules/language-detection.md

  • Auto-detect from existing files (pyproject.toml, Cargo.toml, package.json)
  • If ambiguous or empty directory, ask user to select
  • Validate language is supported (python, rust, typescript)

2. Collect Project Metadata

Load

modules/metadata-collection.md

Gather:

  • Project name (default: directory name)
  • Author name and email
  • Project description
  • Language-specific settings:
    • Python: version (default 3.10)
    • Rust: edition (default 2021)
    • TypeScript: framework (React, Vue, etc.)
  • License type (MIT, Apache, GPL, etc.)

3. Review Existing Files

Check for existing configurations:

ls -la

Verification: Run the command with

--help
flag to verify availability.

If files exist (Makefile, .gitignore, etc.):

  • Show what would be overwritten
  • Ask for confirmation or selective overwrite
  • Offer merge mode (preserve custom content)

4. Render and Apply Templates

Load

modules/template-rendering.md

Run initialization script:

python3 plugins/attune/scripts/attune_init.py \
  --lang {{LANGUAGE}} \
  --name {{PROJECT_NAME}} \
  --author {{AUTHOR}} \
  --email {{EMAIL}} \
  --python-version {{PYTHON_VERSION}} \
  --description {{DESCRIPTION}} \
  --path .

Verification: Run the command with

--help
flag to verify availability.

5. Initialize Git (if needed)

# Check if git is initialized
if [ ! -d .git ]; then
  git init
  echo "Git repository initialized"
fi

Verification: Run

git status
to confirm working tree state.

6. Verify Setup

Validate setup:

# Check Makefile targets
make help

# List created files
git status

Verification: Run

git status
to confirm working tree state.

7. Next Steps

Advise user to:

# Install dependencies and hooks
make dev-setup

# Run tests to verify setup
make test

# See all available commands
make help

Verification: Run

pytest -v
to verify tests pass.

Error Handling

  • Language detection fails: Ask user to specify
    --lang
  • Script not found: Guide to plugin installation location
  • Permission denied: Suggest
    chmod +x
    on scripts
  • Git conflicts: Offer to stash or commit existing work

Success Criteria

  • All template files created successfully
  • No overwrites without user confirmation
  • Git repository initialized
  • make help
    shows available targets
  • make test
    runs without errors (even if no tests yet)

Examples

Example 1: New Python Project

**Verification:** Run `pytest -v` to verify tests pass.
User: /attune:project-init