project-scaffolding

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

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
激活本技能的场景:
  • 从零开始创建新项目
  • 搭建项目目录结构
  • 初始化配置文件
  • 基于BaseProject模板启动项目
  • 搭建特定技术栈的项目

Quick Setup Methods

快速搭建方法

MethodBest ForTime
Automated ScriptStandard projects2-3 min
Manual SetupCustom configurations10-15 min
方法适用场景耗时
自动化脚本标准项目2-3分钟
手动搭建自定义配置10-15分钟

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

步骤1:复制模板

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

Step 2: Clean Git History

步骤2:清理Git历史

bash
rm -rf .git
bash
rm -rf .git

Step 3: Customize AGENT.md

步骤3:自定义AGENT.md

Fill in project-specific sections:
markdown
undefined
填写项目专属内容:
markdown
undefined

Project Purpose

Project Purpose

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

Tech Stack

Tech Stack

  • Language: Python 3.11+
  • Framework: FastAPI
  • Key Libraries: SQLAlchemy, Pydantic
  • Package Manager: UV
  • Language: Python 3.11+
  • Framework: FastAPI
  • Key Libraries: SQLAlchemy, Pydantic
  • Package Manager: UV

Architecture Notes

Architecture Notes

  • Microservices with event-driven updates
  • Redis for caching
  • PostgreSQL for persistence
undefined
  • Microservices with event-driven updates
  • Redis for caching
  • PostgreSQL for persistence
undefined

Step 4: Initialize Git

步骤4:初始化Git

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

Technology-Specific Setup

特定技术栈搭建

Python with UV

Python(搭配UV)

bash
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
bash
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

JavaScript/TypeScript

bash
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
bash
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

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

Rust

Rust

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

Standard Project Structure

标准项目结构

Python

Python

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

JavaScript

JavaScript

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

Secrets Setup

密钥配置

bash
undefined
bash
undefined

Create template

Create template

cp AgentUsage/templates/secrets_template.json secrets_template.json
cp AgentUsage/templates/secrets_template.json secrets_template.json

Create actual secrets (gitignored)

Create actual secrets (gitignored)

cp secrets_template.json secrets.json
cp secrets_template.json secrets.json

Verify in .gitignore

Verify in .gitignore

grep "secrets.json" .gitignore
undefined
grep "secrets.json" .gitignore
undefined

Task Tracking

任务追踪

Track tasks in GitHub Issues with appropriate labels. Create initial issues for:
  • Set up project dependencies
  • Configure secrets management
  • Create initial project structure
  • Implement core business logic
  • Add unit tests
  • Set up CI/CD pipeline
GitHub Issues中使用合适的标签追踪任务。创建初始任务:
  • 配置项目依赖
  • 配置密钥管理
  • 创建初始项目结构
  • 实现核心业务逻辑
  • 添加单元测试
  • 搭建CI/CD流水线

Verification Checklist

验证检查清单

bash
undefined
bash
undefined

Git initialized and clean

Git initialized and clean

git status
git status

AGENT.md customized (no [Fill in:] markers)

AGENT.md customized (no [Fill in:] markers)

grep "[Fill in:" AGENT.md
grep "[Fill in:" AGENT.md

secrets.json in .gitignore

secrets.json in .gitignore

grep "secrets.json" .gitignore
grep "secrets.json" .gitignore

Dependencies installed

Dependencies installed

uv sync # or pnpm install
uv sync # or pnpm install

Project runs

Project runs

uv run python src/projectname/main.py
undefined
uv run python src/projectname/main.py
undefined

Post-Setup Tasks

搭建后任务

  1. Create GitHub Issues for project-specific tasks
  2. Create initial code entry points
  3. Configure IDE settings and extensions
  4. Review relevant guides in AgentUsage/
  1. 创建GitHub Issues记录项目专属任务
  2. 编写初始代码入口文件
  3. 配置IDE设置与扩展
  4. 查看相关指南:AgentUsage/目录下的文档

Common Issues

常见问题

Permission denied on scripts

脚本权限不足

bash
chmod +x setup_new_project.sh
bash
chmod +x setup_new_project.sh

Git commit fails

Git提交失败

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

Dependencies not installing

依赖安装失败

bash
undefined
bash
undefined

Python: Clear cache

Python: Clear cache

uv cache clean
uv cache clean

JavaScript: Fresh install

JavaScript: Fresh install

rm -rf node_modules pnpm-lock.yaml pnpm install
undefined
rm -rf node_modules pnpm-lock.yaml pnpm install
undefined

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
参考
AgentUsage/project_setup.md
AgentUsage/project_structure.md
获取:
  • 详细的目录模式
  • CI/CD搭建指南
  • 预提交钩子安装方法
  • 特定技术栈指南