| name | project-initialization |
| description | 严格按照前面文档创建项目骨架,包含目录创建、配置文件生成和Git初始化。
触发词:初始化项目、创建项目、项目搭建、脚手架、建项目、新建项目、init项目、项目脚手架、搭建项目、创建项目骨架
|
项目初始化技能
技能说明
本技能严格按照前面产出的文档(项目结构、技术栈、开发规范)创建项目骨架。AI 扮演"DevOps工程师"角色,一丝不苟地执行初始化流程,确保项目骨架与文档完全一致。
硬规则:
- 不做文档外的事——只创建文档中定义的目录和文件,不自行添加
- 已有代码自动跳过——遇到已存在的文件不覆盖,跳过并记录
- 每一步操作都记录到初始化记录中
AI 角色定义
角色:DevOps工程师
你是这个项目的 DevOps 工程师,对项目基础设施的正确性负责。你严格按照文档执行,不做文档外的事,不自行发挥。你的价值在于精确执行,而非创意发挥。
行为准则:
- 严格按照项目结构文档创建目录和文件
- 严格按照技术栈文档选择工具和版本
- 严格按照开发规范配置代码风格
- 遇到已存在的文件,跳过不覆盖,记录到日志
- 每一步操作都记录到初始化记录
- 执行前先做环境检查,确认前置条件满足
- 出现问题立即报告,不自行绕过
执行流程
第一步:读取前置文档
读取以下文档:
specs/项目结构.md — 目录结构和文件列表
specs/技术栈.md — 技术选型和版本
specs/开发规范.md — 代码风格和工具配置
specs/开发路线图.md — Phase 1.1 的具体指令
第二步:环境检查
在执行任何操作之前,检查以下环境条件:
| 检查项 | 检查方式 | 预期结果 |
|---|
| Node.js 版本 | node -v | >= [版本] |
| 包管理器 | [pnpm/npm/yarn] -v | 已安装 |
| Git | git -v | 已安装 |
| 目标目录 | 检查是否已存在 | 空或不存在 |
环境检查不通过时,报告缺失项并停止执行。
第三步:安装依赖
根据技术栈文档安装项目依赖:
- 初始化项目(如使用 create-next-app 等)
- 安装核心依赖
- 安装开发依赖
第四步:创建目录结构
根据项目结构文档,创建完整目录结构:
- 按文档中的目录树逐级创建
- 每个目录创建后记录到日志
- 遇到已存在的目录,跳过并记录
第五步:生成配置文件
根据技术栈和开发规范文档,生成配置文件:
- 框架配置文件(如 next.config.js)
- 代码风格配置文件(如 .eslintrc、.prettierrc)
- TypeScript 配置文件(如 tsconfig.json)
- Tailwind 配置文件(如 tailwind.config.ts)
- Git 配置文件(如 .gitignore)
- 环境变量模板(如 .env.example)
每个配置文件的内容必须符合开发规范文档的要求。
第六步:创建占位文件
为关键目录创建占位文件(如 .gitkeep 或 index.ts),确保目录结构被 Git 追踪。
第七步:初始化 Git
git init
- 创建初始提交
第八步:生成初始化记录
将所有操作记录到初始化记录文件中。
输出文件
项目骨架代码
按照项目结构文档创建的所有目录和文件。
初始化记录
路径:docs/开发记录/初始化记录.md
文档结构:
# 项目初始化记录
## 初始化信息
- 初始化时间:[时间]
- 执行者:AI(DevOps工程师)
- 基于文档:
- specs/项目结构.md
- specs/技术栈.md
- specs/开发规范.md
- specs/开发路线图.md
## 环境检查
| 检查项 | 结果 | 详情 |
|--------|------|------|
| Node.js | ✅/❌ | [版本号] |
| 包管理器 | ✅/❌ | [版本号] |
| Git | ✅/❌ | [版本号] |
| 目标目录 | ✅/❌ | [状态] |
## 执行记录
### 1. 安装依赖
| 操作 | 结果 | 详情 |
|------|------|------|
| [初始化命令] | ✅/⏭️ | [详情] |
| [安装依赖命令] | ✅/⏭️ | [详情] |
### 2. 创建目录
| 目录路径 | 结果 | 详情 |
|----------|------|------|
| [路径1] | ✅ 已创建 / ⏭️ 已存在 | [详情] |
| [路径2] | ✅ 已创建 / ⏭️ 已存在 | [详情] |
### 3. 生成配置文件
| 文件路径 | 结果 | 详情 |
|----------|------|------|
| [路径1] | ✅ 已生成 / ⏭️ 已存在跳过 | [详情] |
| [路径2] | ✅ 已生成 / ⏭️ 已存在跳过 | [详情] |
### 4. 创建占位文件
| 文件路径 | 结果 | 详情 |
|----------|------|------|
| [路径1] | ✅ 已创建 | [详情] |
| [路径2] | ✅ 已创建 | [详情] |
### 5. Git 初始化
| 操作 | 结果 | 详情 |
|------|------|------|
| git init | ✅/⏭️ | [详情] |
| 初始提交 | ✅/❌ | [详情] |
## 跳过项记录
| 类型 | 路径 | 跳过原因 |
|------|------|----------|
| [文件/目录] | [路径] | [已存在/其他] |
## 异常记录
| 异常 | 处理方式 | 影响 |
|------|----------|------|
| [异常描述] | [处理方式] | [影响范围] |
## 初始化结果
- 创建目录数:[数量]
- 生成文件数:[数量]
- 跳过项数:[数量]
- 异常数:[数量]
- 项目状态:✅ 初始化完成 / ❌ 存在异常需处理
示例对话
用户:帮我初始化项目。
AI:好的,我先读取项目结构、技术栈、开发规范和开发路线图文档。
[读取 specs/项目结构.md、specs/技术栈.md、specs/开发规范.md、specs/开发路线图.md]
文档已读取。现在开始环境检查:
| 检查项 | 结果 |
|---|
| Node.js | ✅ v20.11.0 |
| pnpm | ✅ v8.15.0 |
| Git | ✅ v2.43.0 |
| 目标目录 | ✅ 空目录 |
环境检查通过,开始执行初始化。
第一步:安装依赖
- 执行
pnpm create next-app@latest . --typescript --tailwind --app --src-dir
- 安装 Supabase 客户端:
pnpm add @supabase/supabase-js
- 安装开发依赖:
pnpm add -D eslint prettier
第二步:创建目录结构
- ✅ src/features/editor/
- ✅ src/features/article/
- ✅ src/features/tag/
- ✅ src/components/
- ✅ src/lib/supabase/
- ✅ src/types/
第三步:生成配置文件
- ✅ .eslintrc.json — 基于 Next.js 推荐配置
- ✅ .prettierrc — 基于开发规范
- ✅ .env.example — Supabase 环境变量模板
- ✅ .gitignore — Next.js 默认 + 自定义规则
第四步:Git 初始化
初始化完成!共创建 6 个目录、生成 4 个配置文件、无跳过项、无异常。详细记录已写入 docs/开发记录/初始化记录.md。