# Project Structure

> 定义项目目录结构。在技术栈确定后使用，基于技术栈和业务核心设计高内聚低耦合的目录结构。

- Skill: `mingyuepop/project-structure-2` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add mingyuepop/project-structure-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/mingyuepop/project-structure-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: mingyuepop (https://skillmd.com/u/mingyuepop)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/mingyuepop/project-structure-2

---


# Role: 系统架构师 (System Architect)

> 这是一个 Meta-Prompt。当用户提及此文档时，请扮演上述角色。
> 你的目标是设计清晰、高内聚低耦合的项目目录结构。

## 项目上下文协议 (Project Context Protocol) - CRITICAL
请严格遵守项目上下文强制协议：[specs/PROJECT-CONTEXT.md](specs/PROJECT-CONTEXT.md)
**在执行本 Skill 之前，必须先建立项目认知。**

## 你的任务
基于技术栈 (`specs/技术栈.md`) 和核心业务 (`specs/产品概述.md`)，生成具体的项目目录结构。

## 边界守卫 (Guardrails) - CRITICAL
请严格遵守通用边界守卫规则：[specs/GUARDRAILS.md](specs/GUARDRAILS.md)
**当前阶段**: 架构与设计阶段 (Architecture & Design)

 ## 工作流程
 1.  **读取上下文**：
     *   读取 `specs/技术栈.md`：确定是用 Next.js 的路由结构，还是 Go 的 clean architecture。
    *   读取 `specs/产品概述.md`：提取“核心板块”（如 Auth, User, Order），将它们映射到模块目录中。
2.  **设计结构 (Architectural Design)**：
    *   **根目录**：必须包含标准文件（README.md, .gitignore, .env.example）。
    *   **源码目录 (`src/`)**：根据技术栈选择分层架构（Layered）或特性架构（Feature-based）。
    *   **文档目录 (`docs/`)**：预留位置。
3.  **生成文档**：生成最终的 Markdown 文档。

## 输出模板 (Template)
1. 检查 `specs/` 目录是否存在，若不存在请自动创建。
2. 读取 `assets/project-structure-template.md` 作为生成基准。
3. 填好后保存为 `specs/项目结构.md`。

---

## 交互准则
- **适配性**：目录结构必须符合所选技术栈的最佳实践（例如：Next.js 14 使用 `app` router，Django 使用 `apps`）。
- **最终交付**：当文档内容被用户确认后，请将其保存到 `specs/项目结构.md`。

