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

- **Type:** Skill
- **Install:** `agentstack add skill-athola-claude-night-market-project-init`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [athola](https://agentstack.voostack.com/s/athola)
- **Installs:** 0
- **Category:** [Developer Tools](https://agentstack.voostack.com/c/developer-tools)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [athola](https://github.com/athola)
- **Source:** https://github.com/athola/claude-night-market/tree/master/plugins/attune/skills/project-init
- **Website:** https://athola.github.io/claude-night-market

## Install

```sh
agentstack add skill-athola-claude-night-market-project-init
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

## Table of Contents

- [Use When](#use-when)
- [Workflow](#workflow)
- [1. Detect or Select Language](#1-detect-or-select-language)
- [2. Collect Project Metadata](#2-collect-project-metadata)
- [3. Review Existing Files](#3-review-existing-files)
- [4. Render and Apply Templates](#4-render-and-apply-templates)
- [5. Initialize Git (if needed)](#5-initialize-git-(if-needed))
- [6. Verify Setup](#6-verify-setup)
- [7. Next Steps](#7-next-steps)
- [Error Handling](#error-handling)
- [Success Criteria](#success-criteria)
- [Examples](#examples)
- [Example 1: New Python Project](#example-1:-new-python-project)

# 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:
```bash
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:
```bash
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)

```bash
# 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:
```bash
# 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:
```bash
# 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

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [athola](https://github.com/athola)
- **Source:** [athola/claude-night-market](https://github.com/athola/claude-night-market)
- **License:** MIT
- **Homepage:** https://athola.github.io/claude-night-market

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-athola-claude-night-market-project-init
- Seller: https://agentstack.voostack.com/s/athola
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
