Get the FREE Ultimate OpenClaw Setup Guide →

project-init

npx machina-cli add skill athola/claude-night-market/project-init --openclaw
Files (1)
SKILL.md
4.3 KB

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
## Troubleshooting

### Common Issues

**Command not found**
Ensure all dependencies are installed and in PATH

**Permission errors**
Check file permissions and run with appropriate privileges

**Unexpected behavior**
Enable verbose logging with `--verbose` flag

Source

git clone https://github.com/athola/claude-night-market/blob/master/plugins/attune/skills/project-init/SKILL.mdView on GitHub

Overview

Interactive workflow that initializes new projects with full development infrastructure. It detects language, collects metadata, renders templates, and can set up git workflows and hooks to ensure a consistent starting point.

How This Skill Works

First, the workflow auto-detects the project language (or prompts the user) and gathers basic metadata like name, author, and license. Next, it renders templates with the attune_init.py script and applies them to the project directory. Finally, it initializes a Git repository if missing and provides verification steps (make help, git status) to confirm a clean setup.

When to Use It

  • 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 or adding missing configurations

Quick Start

  1. Step 1: Detect or select language and collect metadata (name, author, license).
  2. Step 2: Render templates with the attune_init.py script and apply to the project.
  3. Step 3: Initialize Git if needed and verify setup with git status and make help.

Best Practices

  • Confirm language detection results before proceeding
  • Review existing files and prevent unintended overwrites
  • Use selective overwrite or merge mode when conflicts exist
  • Verify template rendering and Git initialization with provided commands
  • Run dev setup and tests to validate the scaffold

Example Use Cases

  • Example 1: Bootstrap a new Python project with a Makefile and pre-commit hooks
  • Example 2: Initialize a Rust library with cargo configuration and CI workflow
  • Example 3: Scaffold a TypeScript React app with GitHub Actions and linting
  • Example 4: Migrate a legacy repo to a standardized Makefile and hooks
  • Example 5: Create a monorepo skeleton with shared tooling and pipelines

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers