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.
Works with
---
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.
license: MIT
---
## 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-initMore Deployment & CI/CD skills
azure-enterprise-infra-planner
microsoft/azure-skills
Architect and provision enterprise Azure infrastructure from workload descriptions. For cloud architects and platform engineers planning networking, identity, security, compliance, and multi-resource topologies with WAF alignment. Generates Bicep or Terraform directly (no azd). WHEN: 'plan Azure infrastructure', 'architect Azure landing zone', 'design hub-spoke network', 'plan multi-region DR topology', 'set up VNets firewalls and private endpoints', 'subscription-scope Bicep deployment', 'Azure Backup for VM workloads'. PREFER azure-prepare FOR app-centric workflows.
azure-kubernetes-app-deploy
microsoft/azure-skills
Use when deploying an existing web application or API to an already-running Azure Kubernetes Service cluster. Detects the framework, generates a Dockerfile and Kubernetes manifests, validates against AKS Deployment Safeguards, and deploys with verification. WHEN: deploy app to AKS, deploy to existing AKS cluster, containerize app for Kubernetes, generate K8s manifests for Azure, set up CI/CD for AKS, my AKS deployment is failing safeguard checks, I have a Django/Express/Spring Boot app to run on AKS. DO NOT USE FOR: creating or provisioning an AKS cluster (use azure-kubernetes), assessing migration to AKS Automatic (use azure-kubernetes-automatic-readiness), or deploying to non-AKS targets like Web Apps, Container Apps, or Functions.
finetuning
microsoft/azure-skills
Fine-tune models on Microsoft Foundry using SFT (supervised), DPO (preference), or RFT (reinforcement with graders). Covers dataset preparation, training job submission, deployment, and evaluation. USE FOR: fine-tune, SFT, DPO, RFT, training data, grader, distillation, fine-tuned model, training job, large file upload, calibrate grader, deploy fine-tuned model, evaluate fine-tuned model. DO NOT USE FOR: general model deployment without fine-tuning (use deploy-model), agent creation (use agents), prompt optimization without training (use prompt-optimizer).

