.agents/skills/ai-new-project/SKILL.md
Stand up a new repository with standard quality gates, CI/CD pipeline, and configuration files.
npx skillsauth add svange/tagmania ai-new-projectInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a new standardized repository: $ARGUMENTS
Interactive project standup. Determines project shape, creates the repo, configures GitHub settings, scaffolds the pipeline and local config files, and verifies everything is aligned.
/ai-new-project my-new-lib # Create repo named my-new-lib, will ask type/language
/ai-new-project # Interactive, will ask for all details
Ask the user for each of these. Use $ARGUMENTS as repo name if provided.
Ask: "Is this a library (publishes to a registry) or a service (deploys to environments)?"
Ask: "Python or TypeScript?"
Ask: "Which framework? (SAM/CDK/Terraform/Vite/Next.js/plain)"
Ask: "Public or private? (default: private)"
# Create the repo on GitHub
gh repo create <owner>/<repo-name> --<visibility> --clone
cd <repo-name>
# Initialize git if needed
git init
git remote add origin https://github.com/<owner>/<repo-name>.git
For service type, create the dev branch:
# Create initial commit so branches work
git commit --allow-empty -m "chore: initialize repository"
git push -u origin main
git checkout -b dev
git push -u origin dev
git checkout main
Ensure origin/HEAD points to main:
git remote set-head origin main
Prerequisite: .env file must exist with GH_REPO, GH_ACCOUNT, GH_TOKEN. If missing, help the user create it.
# Standardize repo settings (automerge, merge strategy, branch deletion)
ai-gh config --standardize
# Apply branch rulesets with 4 universal quality gate checks
ai-gh rulesets --apply <library|service>
Note: ai-gh may not yet support the new gate names ("Code quality" instead of "Pre-commit checks") or the service type. If so:
--apply iac as a temporary substitute for --apply serviceGenerate pipeline:
ai-gh workflow --type <library|service>
If ai-gh does not yet support --lang, the generated pipeline will be Python-focused. For TypeScript projects, the skill should manually adjust the pipeline after generation.
pyproject.toml - Create with:
[project] section: name, version = "0.0.0", python requires >= 3.12[build-system] with uv_build[tool.ruff]: line-length = 100, select = ["E", "F", "I", "W", "B", "C4", "UP", "DTZ"][tool.ruff.lint.isort]: known-first-party[tool.mypy]: python_version = "3.12", disallow_untyped_defs = true, warn_return_any = true[tool.pytest.ini_options]: testpaths = ["tests"], addopts = "-ra -q --strict-markers"[tool.coverage.run]: source = ["src"], omit = ["/tests/"]Create src/<package_name>/__init__.py with __version__ = "0.0.0".
Create tests/__init__.py and tests/unit/__init__.py.
.pre-commit-config.yaml - Copy from python-template.pre-commit-config.yaml in the ai-standardize-repo skill directory. Adjust paths if framework uses SAM (exclude template.yaml from check-yaml).
renovate.json5 - Copy from library-template.json5 or service-template.json5 based on type.
Semantic release config - Append from python-template.toml. Customize:
tag_format: {repo-name}-v{version}version_variables: ["src/{package_name}/__init__.py:__version__"]build_command: "uv lock && uv build" for library, "" for servicepackage.json - Create with:
tsconfig.json - Strict mode, ESNext target, appropriate module resolution.
biome.json - Standard configuration matching ruff's philosophy (opinionated defaults).
renovate.json5 - Same templates as Python, adapted for npm ecosystem.
.releaserc.json - Copy from node-template.releaserc.json. Customize tag format.
.editorconfig - Copy from editorconfig-template in ai-standardize-repo skill directory.
.gitignore - Generate with:
.env, .env.*, *.pem, .claude/settings.local.json__pycache__/, *.pyc, .coverage, htmlcov/, dist/, build/, *.egg-info/, .mypy_cache/, .ruff_cache/node_modules/, dist/, build/, .next/, coverage/.vscode/, .idea/.DS_Store, Thumbs.dbThe pipeline's "Code quality" job must include the build validation step for the detected framework:
| Framework | Build command |
|---|---|
| Plain Python library | uv build |
| SAM | sam build |
| CDK (Python) | cdk synth |
| CDK (TypeScript) | cdk synth |
| Terraform | terraform init && terraform validate && terraform plan |
| Vite / React | npm run build |
| Next.js | npm run build |
| Plain TS library | npm run build |
Edit the pipeline's code-quality job to include the appropriate build command. If the pipeline was generated by ai-gh, look for a placeholder comment like # Customize build step and replace it.
Run augint-shell scaffolding to deploy AI tool configurations:
ai-shell init --project <repo-name>
This deploys .claude/skills/, .agents/skills/, ai-shell.toml, and NOTES.md with the correct repo type and skill set.
If ai-shell is not available, manually note that the user should run it later.
Create README.md with:
# {repo-name}
{Description placeholder - update this}
## Pipeline

## Development
{Language-specific development instructions}
## Reports
- [Coverage Report](https://{owner}.github.io/{repo-name}/coverage/)
- [Security Scan](https://{owner}.github.io/{repo-name}/security/)
- [License Compliance](https://{owner}.github.io/{repo-name}/compliance/)
For libraries, add:
## Installation
pip install {repo-name}
git add .
git commit -m "feat: initial project scaffold"
git push -u origin main
For service repos:
git checkout dev
git merge main
git push -u origin dev
git checkout main
Run verification:
ai-gh status --type <library|service> --verbose
Check:
Report final status. If any issues remain, list them with guidance.
gh CLI not authenticated: ask user to run gh auth loginai-gh not installed: skip GitHub config steps, note manual setup needed.env missing GH variables: help user create it from .env.example or prompt for values/ai-standardize-repo)development
Deploy or validate Renovate dependency update configuration. Detects repo type (library vs IaC), package ecosystem, and generates or fixes renovate.json5.
development
Deploy or validate semantic-release configuration. Handles Python (python-semantic-release) and Node (JS semantic-release) repos with correct Renovate prefix alignment.
development
Audit and fix pre-commit hook configuration. Ensures consistent developer-side quality gates for formatting, linting, type checking, and secret protection.
testing
Audit and fix CI/CD GitHub Actions workflows. Checks security scanning, coverage enforcement, type checking, CVE ignores, and concurrency settings.