返回 Skill 列表
extension
分类: 开发与工程无需 API Key

project-scaffolding

使用BaseProject模板初始化新项目,包括正确的结构、配置和设置。在创建新项目、设置目录结构或初始化仓库时使用。

person作者: jakexiaohubgithub

Project Scaffolding Skill

When to Activate

Activate this skill when:

  • Creating new projects from scratch
  • Setting up project directory structure
  • Initializing configuration files
  • Starting from BaseProject template
  • Setting up technology-specific projects

Quick Setup Methods

| Method | Best For | Time | |--------|----------|------| | Automated Script | Standard projects | 2-3 min | | Manual Setup | Custom configurations | 10-15 min |

Directory Naming Conventions

Directories:     CamelCase (VideoProcessor, AudioTools)
Date-based:      kebab-case with YYYY-MM-DD (logs-2025-01-15)
NO spaces or underscores in directory names

Manual Setup Workflow

Step 1: Copy Template

cp -r /path/to/BaseProject ~/Projects/YourProjectName/
cd ~/Projects/YourProjectName/

Step 2: Clean Git History

rm -rf .git

Step 3: Customize AGENT.md

Fill in project-specific sections:

## Project Purpose
A REST API for managing inventory with real-time updates.

## Tech Stack
- Language: Python 3.11+
- Framework: FastAPI
- Key Libraries: SQLAlchemy, Pydantic
- Package Manager: UV

## Architecture Notes
- Microservices with event-driven updates
- Redis for caching
- PostgreSQL for persistence

Step 4: Initialize Git

git init
git add .
git commit -m "chore: initialize repository from BaseProject"

Technology-Specific Setup

Python with UV

uv init
cp AgentUsage/templates/pyproject.toml.example pyproject.toml
uv add fastapi uvicorn sqlalchemy
uv add --dev pytest black ruff mypy

mkdir -p src/YourProject/{core,utils,config}
mkdir -p tests/{unit,integration}
touch src/YourProject/__init__.py

JavaScript/TypeScript

pnpm init
pnpm add express dotenv
pnpm add -D typescript @types/node jest eslint prettier

mkdir -p src/{routes,controllers,middleware,utils}
touch src/index.ts

Go

go mod init github.com/user/project
mkdir -p cmd/api internal/{handlers,models,database} pkg
touch cmd/api/main.go

Rust

cargo init
mkdir -p src/{routes,models,db}
cargo build

Standard Project Structure

Python

project/
├── src/
│   └── projectname/
│       ├── __init__.py
│       ├── main.py
│       ├── core/
│       ├── utils/
│       └── config/
├── tests/
│   ├── conftest.py
│   ├── unit/
│   └── integration/
├── pyproject.toml
├── uv.lock
├── AGENT.md
└── .gitignore

JavaScript

project/
├── src/
│   ├── index.ts
│   ├── routes/
│   ├── controllers/
│   └── utils/
├── tests/
├── package.json
├── tsconfig.json
├── AGENT.md
└── .gitignore

Secrets Setup

# Create template
cp AgentUsage/templates/secrets_template.json secrets_template.json

# Create actual secrets (gitignored)
cp secrets_template.json secrets.json

# Verify in .gitignore
grep "secrets.json" .gitignore

TODOS.md Template

# Project TODOs

## High Priority
- [ ] Set up project dependencies
- [ ] Configure secrets management
- [ ] Create initial project structure

## Medium Priority
- [ ] Implement core business logic
- [ ] Add unit tests
- [ ] Set up CI/CD pipeline

## Low Priority
- [ ] Performance optimizations
- [ ] Documentation improvements

Verification Checklist

# Git initialized and clean
git status

# AGENT.md customized (no [Fill in:] markers)
grep "\[Fill in:" AGENT.md

# secrets.json in .gitignore
grep "secrets.json" .gitignore

# Dependencies installed
uv sync  # or pnpm install

# Project runs
uv run python src/projectname/main.py

Post-Setup Tasks

  1. Update TODOS.md with project-specific tasks
  2. Create initial code entry points
  3. Configure IDE settings and extensions
  4. Review relevant guides in AgentUsage/

Common Issues

Permission denied on scripts

chmod +x setup_new_project.sh

Git commit fails

git config user.name "Your Name"
git config user.email "your.email@example.com"

Dependencies not installing

# Python: Clear cache
uv cache clean

# JavaScript: Fresh install
rm -rf node_modules pnpm-lock.yaml
pnpm install

Related Resources

See AgentUsage/project_setup.md and AgentUsage/project_structure.md for:

  • Detailed directory patterns
  • CI/CD setup
  • Pre-commit hook installation
  • Technology-specific guides