Skip to content
Development
Skill

/project-init

Scaffolds new projects with git, CI/CD workflows, pre-commit hooks, and build config. Use when starting a new Python, Rust, or TypeScript project from scratch.

From plugin
claude-night-market
343200 skills60 agents162 commands1 MCP

Claude Code

$ npx -y skills add athola/claude-night-market --skill project-init --agent claude-code

SKILL.md

project-init.SKILL.md
name: project-init
description: Scaffolds new projects with git, CI/CD workflows, pre-commit hooks, and build config. Use when starting a new Python, Rust, or TypeScript project from scratch.
alwaysApply: false
tools: []
modules:
- ./modules/language-detection.md
- ./modules/metadata-collection.md
- ./modules/template-rendering.md
role: entrypoint

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.

The script also scaffolds the project decision journal: `docs/tradeoffs.md` and `docs/lessons-learned.md`. These are append-only logs that later workflows (brainstorm, specify, plan, execute, review) write to as decisions and lessons arise. Existing journal files are never overwritten. The format follows the `leyline:decision-journal` contract; init uses leyline's template when present and a vendored copy otherwise, so it works with or without leyline installed.

**Verification:** Confirm `docs/tradeoffs.md` and `docs/lessons-learned.md` exist and each contains an `## Active index` and an `## Archive` section.

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)

Exit Criteria

  • [ ] Template files for the selected language are created (or, in dry-run,

reported) with no unconfirmed overwrites.

  • [ ] `docs/tradeoffs.md` and `docs/lessons-learned.md` exist, each with an

`## Active index` and an `## Archive` section.

  • [ ] A pre-existing journal file is detected and left unmodified.
  • [ ] Git is initialized (unless `--no-git`) and `make help` lists targets.
  • [ ] Running with `--dry-run` writes no files, including the journal.

Examples

Example 1: New Python Project

**Verification:** Run `pytest -v` to verify tests pass.
User: /attune:project-init
Read more
@athola
Ships withclaude-night-market

A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.

343200 skills60 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
343
Star history of athola/claude-night-market on GitHub, a chart by star-history.com

Other skills on claude-night-market.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about project-init.

Which coding agents can use project-init?
project-init installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.