pdd-skills 3.0.1 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +186 -25
- package/package.json +2 -1
- package/scaffolds/README.md +26 -0
- package/scaffolds/python-fullstack/.github/workflows/ci.yml +43 -0
- package/scaffolds/python-fullstack/Dockerfile +12 -0
- package/scaffolds/python-fullstack/README.md +95 -0
- package/scaffolds/python-fullstack/backend/app/__init__.py +4 -0
- package/scaffolds/python-fullstack/backend/app/api/v1/__init__.py +6 -0
- package/scaffolds/python-fullstack/backend/app/api/v1/auth.py +179 -0
- package/scaffolds/python-fullstack/backend/app/api/v1/deps.py +14 -0
- package/scaffolds/python-fullstack/backend/app/api/v1/router.py +11 -0
- package/scaffolds/python-fullstack/backend/app/api/v1/users.py +143 -0
- package/scaffolds/python-fullstack/backend/app/config.py +69 -0
- package/scaffolds/python-fullstack/backend/app/core/auth/__init__.py +13 -0
- package/scaffolds/python-fullstack/backend/app/core/auth/dependencies.py +91 -0
- package/scaffolds/python-fullstack/backend/app/core/auth/jwt.py +84 -0
- package/scaffolds/python-fullstack/backend/app/core/auth/security.py +17 -0
- package/scaffolds/python-fullstack/backend/app/core/data_permission/__init__.py +27 -0
- package/scaffolds/python-fullstack/backend/app/core/data_permission/config.py +21 -0
- package/scaffolds/python-fullstack/backend/app/core/data_permission/context.py +67 -0
- package/scaffolds/python-fullstack/backend/app/core/data_permission/decorator.py +60 -0
- package/scaffolds/python-fullstack/backend/app/core/data_permission/engine.py +121 -0
- package/scaffolds/python-fullstack/backend/app/core/data_permission/enums.py +30 -0
- package/scaffolds/python-fullstack/backend/app/core/data_permission/events.py +71 -0
- package/scaffolds/python-fullstack/backend/app/core/data_permission/scope_resolver.py +139 -0
- package/scaffolds/python-fullstack/backend/app/core/oauth/__init__.py +31 -0
- package/scaffolds/python-fullstack/backend/app/core/oauth/base.py +118 -0
- package/scaffolds/python-fullstack/backend/app/core/oauth/exceptions.py +33 -0
- package/scaffolds/python-fullstack/backend/app/core/oauth/providers/__init__.py +18 -0
- package/scaffolds/python-fullstack/backend/app/core/oauth/providers/dingtalk.py +68 -0
- package/scaffolds/python-fullstack/backend/app/core/oauth/providers/feishu.py +71 -0
- package/scaffolds/python-fullstack/backend/app/core/oauth/providers/oidc.py +164 -0
- package/scaffolds/python-fullstack/backend/app/core/oauth/providers/wechat_mini.py +55 -0
- package/scaffolds/python-fullstack/backend/app/core/oauth/providers/wechat_open.py +86 -0
- package/scaffolds/python-fullstack/backend/app/core/oauth/providers/wecom.py +105 -0
- package/scaffolds/python-fullstack/backend/app/core/oauth/registry.py +43 -0
- package/scaffolds/python-fullstack/backend/app/core/oauth/services/user_binding_service.py +111 -0
- package/scaffolds/python-fullstack/backend/app/core/workflow/__init__.py +40 -0
- package/scaffolds/python-fullstack/backend/app/core/workflow/conditions.py +38 -0
- package/scaffolds/python-fullstack/backend/app/core/workflow/engine.py +448 -0
- package/scaffolds/python-fullstack/backend/app/core/workflow/enums.py +62 -0
- package/scaffolds/python-fullstack/backend/app/core/workflow/exceptions.py +54 -0
- package/scaffolds/python-fullstack/backend/app/core/workflow/models.py +134 -0
- package/scaffolds/python-fullstack/backend/app/core/workflow/transition_rule.py +27 -0
- package/scaffolds/python-fullstack/backend/app/database/database.py +53 -0
- package/scaffolds/python-fullstack/backend/app/exceptions.py +76 -0
- package/scaffolds/python-fullstack/backend/app/main.py +77 -0
- package/scaffolds/python-fullstack/backend/app/models/__init__.py +6 -0
- package/scaffolds/python-fullstack/backend/app/models/delegation.py +87 -0
- package/scaffolds/python-fullstack/backend/app/models/oauth_binding.py +35 -0
- package/scaffolds/python-fullstack/backend/app/models/org.py +41 -0
- package/scaffolds/python-fullstack/backend/app/models/role.py +65 -0
- package/scaffolds/python-fullstack/backend/app/models/user.py +48 -0
- package/scaffolds/python-fullstack/backend/app/schemas/__init__.py +11 -0
- package/scaffolds/python-fullstack/backend/app/schemas/auth.py +54 -0
- package/scaffolds/python-fullstack/backend/app/schemas/common.py +44 -0
- package/scaffolds/python-fullstack/backend/app/schemas/user.py +78 -0
- package/scaffolds/python-fullstack/backend/pyproject.toml +17 -0
- package/scaffolds/python-fullstack/backend/requirements-dev.txt +5 -0
- package/scaffolds/python-fullstack/backend/requirements.txt +11 -0
- package/scaffolds/python-fullstack/docker-compose.yml +52 -0
- package/scaffolds/python-fullstack/docs/01-architecture.md +1280 -0
- package/scaffolds/python-fullstack/docs/02-data-permission.md +1538 -0
- package/scaffolds/python-fullstack/docs/03-workflow-engine.md +1079 -0
- package/scaffolds/python-fullstack/docs/04-mobile-oauth.md +1182 -0
- package/scaffolds/python-fullstack/frontend/Dockerfile +12 -0
- package/scaffolds/python-fullstack/frontend/index.html +14 -0
- package/scaffolds/python-fullstack/frontend/nginx.conf +19 -0
- package/scaffolds/python-fullstack/frontend/package.json +1 -0
- package/scaffolds/python-fullstack/frontend/postcss.config.js +15 -0
- package/scaffolds/python-fullstack/frontend/src/App.vue +14 -0
- package/scaffolds/python-fullstack/frontend/src/api/client.ts +27 -0
- package/scaffolds/python-fullstack/frontend/src/composables/useResponsive.ts +53 -0
- package/scaffolds/python-fullstack/frontend/src/main.ts +10 -0
- package/scaffolds/python-fullstack/frontend/src/router/index.ts +36 -0
- package/scaffolds/python-fullstack/frontend/src/stores/user.ts +42 -0
- package/scaffolds/python-fullstack/frontend/src/styles/responsive.css +59 -0
- package/scaffolds/python-fullstack/frontend/src/styles/variables.css +31 -0
- package/scaffolds/python-fullstack/frontend/src/views/DashboardView.vue +66 -0
- package/scaffolds/python-fullstack/frontend/src/views/HomeView.vue +19 -0
- package/scaffolds/python-fullstack/frontend/src/views/LoginView.vue +71 -0
- package/scaffolds/python-fullstack/frontend/tailwind.config.js +17 -0
- package/scaffolds/python-fullstack/frontend/tsconfig.json +1 -0
- package/scaffolds/python-fullstack/frontend/tsconfig.node.json +1 -0
- package/scaffolds/python-fullstack/frontend/vite.config.ts +25 -0
- package/scaffolds/python-fullstack/template_config.yaml +138 -0
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# PDD-Skills v3.0
|
|
2
2
|
|
|
3
|
-
[
|
|
4
|
-
[
|
|
5
|
-
[
|
|
6
|
-
[
|
|
7
|
-
[
|
|
3
|
+
[](https://github.com/pdd-skills/pdd-skills)
|
|
4
|
+
[](https://nodejs.org/)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
[](docs/tasks.md)
|
|
7
|
+
[](docs/tasks.md)
|
|
8
8
|
|
|
9
9
|
> **PRD 驱动的 AI 原生软件开发工作流框架**
|
|
10
10
|
>
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
│ │ • npx安装 │ │ • 11核心 │ │ • 安全 │ │ • CLI │ │
|
|
89
89
|
│ │ • Linter │ │ 技能 │ │ • 性能 │ │ • API │ │
|
|
90
90
|
│ │ • Hook │ │ • i18n │ │ 专家 │ │ • MCP │ │
|
|
91
|
-
│ │ • Evals
|
|
91
|
+
│ │ • Evals │ │ • CSO │ │ │ │ • JS SDK │ │
|
|
92
92
|
│ │ │ │ • Token │ │ │ │ • Python│ │
|
|
93
93
|
│ └──────────┘ │ • Evals │ └──────────┘ │ • gRPC │ │
|
|
94
94
|
│ └──────────┘ └──────────┘ │
|
|
@@ -107,11 +107,129 @@
|
|
|
107
107
|
└─────────────────────────────────────────────────────────────────────────────────┘
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
+
### 🏗️ 脚手架系统
|
|
111
|
+
|
|
112
|
+
> **PDD-Skills v3.0.1+ 新增内置脚手架系统**,提供生产级全栈项目模板,支持从零到一的快速项目初始化。
|
|
113
|
+
|
|
114
|
+
#### 可用模板
|
|
115
|
+
|
|
116
|
+
| 模板名称 | 技术栈 | 适用场景 | 状态 |
|
|
117
|
+
| --------------- | --------------------------------------- | ------------- | ----- |
|
|
118
|
+
| **python-fullstack** | FastAPI + Vue3 + TypeScript + TailwindCSS | 企业级全栈 Web 应用 | ✅ 稳定版 |
|
|
119
|
+
|
|
120
|
+
#### 核心能力矩阵
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
124
|
+
│ python-fullstack 模板能力矩阵 │
|
|
125
|
+
├─────────────────────────────────────────────────────────────────────────────┤
|
|
126
|
+
│ │
|
|
127
|
+
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
|
|
128
|
+
│ │ data_permission │ │ oauth_sso │ │ workflow_engine │ │
|
|
129
|
+
│ │ 数据权限引擎 │ │ OAuth2 六平台认证 │ │ 工作流状态机引擎 │ │
|
|
130
|
+
│ │ │ │ │ │ │ │
|
|
131
|
+
│ │ • 组织级数据隔离 │ │ • 企业微信 │ │ • 15种状态定义 │ │
|
|
132
|
+
│ │ • 借调合并机制 │ │ • 钉钉 │ │ • 会签/或签 │ │
|
|
133
|
+
│ │ • 行级权限控制 │ │ • 飞书 │ │ • 条件分支路由 │ │
|
|
134
|
+
│ │ │ │ • 微信公众号 │ │ • 回退/撤回 │ │
|
|
135
|
+
│ │ │ │ • OIDC 通用 │ │ • 定时任务触发 │ │
|
|
136
|
+
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
|
|
137
|
+
│ │
|
|
138
|
+
│ ┌─────────────────────────────────────────────────────────┐ │
|
|
139
|
+
│ │ responsive_ui │ │
|
|
140
|
+
│ │ 响应式前端系统 │ │
|
|
141
|
+
│ │ │ │
|
|
142
|
+
│ │ PC端 (≥1280px) → 平板 (768-1279px) → 大屏手机 (≤767px) │ │
|
|
143
|
+
│ │ 6档断点自适应 · 组件级响应式 · 暗色模式支持 │ │
|
|
144
|
+
│ └─────────────────────────────────────────────────────────┘ │
|
|
145
|
+
│ │
|
|
146
|
+
└─────────────────────────────────────────────────────────────────────────────┘
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
#### 技术栈详情
|
|
150
|
+
|
|
151
|
+
| 层面 | 技术选型 | 版本要求 |
|
|
152
|
+
| ---------- | ---------------------------------------- | --------- |
|
|
153
|
+
| **后端框架** | Python FastAPI | 3.11+ |
|
|
154
|
+
| **ORM** | SQLAlchemy [asyncio] | 2.x+ |
|
|
155
|
+
| **数据库** | MySQL | 8.0+ |
|
|
156
|
+
| **前端框架** | Vue3 + Vite + TypeScript | 3.x+ |
|
|
157
|
+
| **UI 框架** | TailwindCSS | 3.x+ |
|
|
158
|
+
| **容器化** | Docker + docker-compose | 最新稳定版 |
|
|
159
|
+
| **CI/CD** | GitHub Actions / GitLab CI | - |
|
|
160
|
+
|
|
161
|
+
#### 快速使用
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# 1️⃣ 使用脚手架创建全栈项目
|
|
165
|
+
pdd scaffold init my-fullstack-app --template python-fullstack
|
|
166
|
+
|
|
167
|
+
# 2️⃣ 进入项目目录
|
|
168
|
+
cd my-fullstack-app
|
|
169
|
+
|
|
170
|
+
# 3️⃣ 查看模板配置
|
|
171
|
+
cat scaffolds/python-fullstack/template_config.yaml
|
|
172
|
+
|
|
173
|
+
# 4️⃣ 一键启动开发环境(含数据库)
|
|
174
|
+
docker-compose up -d
|
|
175
|
+
|
|
176
|
+
# 5️⃣ 启动后端服务
|
|
177
|
+
cd backend && uvicorn main:app --reload --port 8000
|
|
178
|
+
|
|
179
|
+
# 6️⃣ 启动前端服务
|
|
180
|
+
cd frontend && npm run dev
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
#### 模板目录结构预览
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
scaffolds/python-fullstack/
|
|
187
|
+
├── template_config.yaml # 模板元数据 & Hooks 配置
|
|
188
|
+
├── README.md # 模板使用指南
|
|
189
|
+
├── docs/
|
|
190
|
+
│ ├── architecture-design.md # 架构设计文档
|
|
191
|
+
│ ├── database-design.md # 数据库设计文档
|
|
192
|
+
│ ├── api-design.md # API 设计文档
|
|
193
|
+
│ └── deployment-guide.md # 部署指南
|
|
194
|
+
├── backend/
|
|
195
|
+
│ ├── app/
|
|
196
|
+
│ │ ├── core/ # 核心模块 (data_permission/oauth_sso/workflow_engine)
|
|
197
|
+
│ │ ├── api/ # API 路由层
|
|
198
|
+
│ │ ├── models/ # SQLAlchemy 数据模型
|
|
199
|
+
│ │ ├── schemas/ # Pydantic 请求/响应模型
|
|
200
|
+
│ │ └── services/ # 业务逻辑层
|
|
201
|
+
│ ├── alembic/ # 数据库迁移
|
|
202
|
+
│ ├── tests/ # 单元测试 & 集成测试
|
|
203
|
+
│ └── requirements.txt
|
|
204
|
+
├── frontend/
|
|
205
|
+
│ ├── src/
|
|
206
|
+
│ │ ├── views/ # 页面组件 (响应式布局)
|
|
207
|
+
│ │ ├── components/ # UI 组件库
|
|
208
|
+
│ │ ├── stores/ # Pinia 状态管理
|
|
209
|
+
│ │ ├── api/ # API 请求封装
|
|
210
|
+
│ │ └── utils/ # 工具函数
|
|
211
|
+
│ ├── tailwind.config.js # 6档断点配置
|
|
212
|
+
│ └── vite.config.ts
|
|
213
|
+
├── docker-compose.yml # 一键部署编排
|
|
214
|
+
├── .github/workflows/ # CI 流水线
|
|
215
|
+
└── config/ # 环境配置文件
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
#### 质量保证
|
|
219
|
+
|
|
220
|
+
✅ 已通过 **4 项代码质量修复验证**:
|
|
221
|
+
- 数据库连接池配置优化
|
|
222
|
+
- 安全异常处理完善
|
|
223
|
+
- datetime 弃用 API 替换
|
|
224
|
+
- SQLAlchemy 异步 API 正确性校验
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
110
228
|
### 📊 关键数据
|
|
111
229
|
|
|
112
230
|
| 指标 | 数值 |
|
|
113
231
|
| ----------- | --------------------------------------------- |
|
|
114
|
-
| **版本** | v3.0.
|
|
232
|
+
| **版本** | v3.0.2 |
|
|
115
233
|
| **总任务数** | 153 (**100% 完成**) |
|
|
116
234
|
| **里程碑数** | 29 (**100% 达成**) |
|
|
117
235
|
| **核心技能** | 11 个(全双语 🇨🇳🇺🇸) |
|
|
@@ -122,6 +240,7 @@
|
|
|
122
240
|
| **示例插件** | 3 个(hello-world / code-stats / custom-linter) |
|
|
123
241
|
| **社区文档** | 5 套(\~10,700 行) |
|
|
124
242
|
| **VM 新增代码** | \~6000 行(Phase 7) |
|
|
243
|
+
| **脚手架模板** | 1 个(python-fullstack 全栈模板) |
|
|
125
244
|
|
|
126
245
|
***
|
|
127
246
|
|
|
@@ -229,6 +348,19 @@ pdd vm features # 功能点列表
|
|
|
229
348
|
pdd vm export --format csv # 导出数据
|
|
230
349
|
```
|
|
231
350
|
|
|
351
|
+
### 🏗️ 脚手架命令(v3.0.1+)
|
|
352
|
+
|
|
353
|
+
```bash
|
|
354
|
+
# 初始化脚手架项目
|
|
355
|
+
pdd scaffold init <project-name> --template <template-name>
|
|
356
|
+
|
|
357
|
+
# 查看可用模板列表
|
|
358
|
+
pdd scaffold list
|
|
359
|
+
|
|
360
|
+
# 查看模板详情
|
|
361
|
+
pdd scaffold info <template-name>
|
|
362
|
+
```
|
|
363
|
+
|
|
232
364
|
### 服务端
|
|
233
365
|
|
|
234
366
|
```bash
|
|
@@ -480,11 +612,11 @@ PluginBase (抽象基类)
|
|
|
480
612
|
|
|
481
613
|
| 文档 | 内容 | 行数 |
|
|
482
614
|
| ---------------------------------------------------------- | ----------------- | ------ |
|
|
483
|
-
| [user-guide](docs/user-guide/user-guide.md) | 快速开始 / 工作流 / FAQ |
|
|
484
|
-
| [developer-guide](docs/developer-guide/developer-guide.md) | 架构 / 规范 / 贡献流程 |
|
|
485
|
-
| [api-reference](docs/api-reference/api-reference.md) | 全模块 API / 错误码大全 |
|
|
486
|
-
| [operations](docs/operations/operations-guide.md) | 部署 / 调优 / 监控 / 安全 |
|
|
487
|
-
| [plugin-market](docs/plugin-market/README.md) | 发布流程 / 评分标准 / 审核 |
|
|
615
|
+
| [user-guide](docs/user-guide/user-guide.md) | 快速开始 / 工作流 / FAQ | ~1480 |
|
|
616
|
+
| [developer-guide](docs/developer-guide/developer-guide.md) | 架构 / 规范 / 贡献流程 | ~2960 |
|
|
617
|
+
| [api-reference](docs/api-reference/api-reference.md) | 全模块 API / 错误码大全 | ~3948 |
|
|
618
|
+
| [operations](docs/operations/operations-guide.md) | 部署 / 调优 / 监控 / 安全 | ~2018 |
|
|
619
|
+
| [plugin-market](docs/plugin-market/README.md) | 发布流程 / 评分标准 / 审核 | ~400 |
|
|
488
620
|
|
|
489
621
|
***
|
|
490
622
|
|
|
@@ -540,18 +672,18 @@ PDD Visual Manager (PDD-VM) 是 Phase 7 的核心交付物,提供 **双形态
|
|
|
540
672
|
│ │ │ ├─────────────────┤ │ │ │ │ ├───────────────────────┤ │ │ │
|
|
541
673
|
│ │ │ │ app.js (SPA框架)│ │ │ │ │ │ input.js (键盘输入) │ │ │ │
|
|
542
674
|
│ │ │ └─────────────────┘ │ │ │ │ └───────────────────────┘ │ │ │
|
|
543
|
-
│ │ │ │ │ │ │
|
|
544
|
-
│ │ │ 4 视图面板: │ │ │ │
|
|
545
|
-
│ │ │ • Pipeline (流水线) │ │ │ │
|
|
546
|
-
│ │ │ • Kanban (看板) │ │ │ │ /
|
|
547
|
-
│ │ │ • Quality (质量) │ │ │ │
|
|
548
|
-
│ │ │ • System (系统) │ │ │ │
|
|
549
|
-
│ │ │ │ │ │ │
|
|
550
|
-
│ │ │ Canvas 图表引擎: │ │ │ │
|
|
551
|
-
│ │ │ radar/histogram/ │ │ │ │
|
|
552
|
-
│ │ │ gauge/lineChart/ │ │ │
|
|
553
|
-
│ │ │ horizontalBar │ │ │
|
|
554
|
-
│ │ └───────────────────────┘ │
|
|
675
|
+
│ │ │ │ │ │ │ │ │ │
|
|
676
|
+
│ │ │ 4 视图面板: │ │ │ │ 5 组件: │ │ │
|
|
677
|
+
│ │ │ • Pipeline (流水线) │ │ │ │ progress-bar / table / │ │ │
|
|
678
|
+
│ │ │ • Kanban (看板) │ │ │ │ sparkline / status-light │ │ │
|
|
679
|
+
│ │ │ • Quality (质量) │ │ │ │ / card │ │ │
|
|
680
|
+
│ │ │ • System (系统) │ │ │ │ │ │ │
|
|
681
|
+
│ │ │ │ │ │ │ 4 屏幕 + 详情overlay: │ │ │
|
|
682
|
+
│ │ │ Canvas 图表引擎: │ │ │ │ overview / kanban / │ │ │
|
|
683
|
+
│ │ │ radar/histogram/ │ │ │ │ quality / system │ │ │
|
|
684
|
+
│ │ │ gauge/lineChart/ │ │ │ │ │ │ │
|
|
685
|
+
│ │ │ horizontalBar │ │ │ └─────────────────────────────┘ │ │
|
|
686
|
+
│ │ └───────────────────────┘ │ │ │ │
|
|
555
687
|
│ └─────────────────────────────┘ │
|
|
556
688
|
│ │
|
|
557
689
|
└─────────────────────────────────────────────────────────────────────────────────┘
|
|
@@ -1347,6 +1479,32 @@ pdd-skills-v3/
|
|
|
1347
1479
|
│ ├── on-phase-change.js
|
|
1348
1480
|
│ └── on-quality-alert.js
|
|
1349
1481
|
│
|
|
1482
|
+
├── scaffolds/ # ★ 脚手架模板系统 (v3.0.1+ 新增)
|
|
1483
|
+
│ └── python-fullstack/ # Python 全栈模板 (FastAPI + Vue3)
|
|
1484
|
+
│ ├── template_config.yaml # 模板元数据 & Hooks & 变量配置
|
|
1485
|
+
│ ├── README.md # 模板使用指南
|
|
1486
|
+
│ ├── docs/ # 4份架构设计文档
|
|
1487
|
+
│ │ ├── architecture-design.md
|
|
1488
|
+
│ │ ├── database-design.md
|
|
1489
|
+
│ │ ├── api-design.md
|
|
1490
|
+
│ │ └── deployment-guide.md
|
|
1491
|
+
│ ├── backend/ # 后端代码 (FastAPI + SQLAlchemy)
|
|
1492
|
+
│ │ ├── app/core/ # 核心模块 (权限/OAuth/工作流)
|
|
1493
|
+
│ │ ├── app/api/ # API 路由层
|
|
1494
|
+
│ │ ├── app/models/ # 数据模型
|
|
1495
|
+
│ │ ├── app/schemas/ # 请求/响应模型
|
|
1496
|
+
│ │ ├── app/services/ # 业务逻辑层
|
|
1497
|
+
│ │ ├── alembic/ # 数据库迁移
|
|
1498
|
+
│ │ └── tests/ # 单元 & 集成测试
|
|
1499
|
+
│ ├── frontend/ # 前端代码 (Vue3 + Vite + TS)
|
|
1500
|
+
│ │ ├── src/views/ # 页面组件 (响应式布局)
|
|
1501
|
+
│ │ ├── src/components/ # UI 组件库
|
|
1502
|
+
│ │ ├── src/stores/ # Pinia 状态管理
|
|
1503
|
+
│ │ ├── src/api/ # API 请求封装
|
|
1504
|
+
│ │ └── tailwind.config.js # 6档断点配置
|
|
1505
|
+
│ ├── docker-compose.yml # 一键部署编排
|
|
1506
|
+
│ └── .github/workflows/ # CI 流水线
|
|
1507
|
+
│
|
|
1350
1508
|
├── skills/ # 技能文件
|
|
1351
1509
|
│ ├── core/ # 11 个核心技能
|
|
1352
1510
|
│ ├── expert/ # 2 个专家技能
|
|
@@ -1370,7 +1528,7 @@ pdd-skills-v3/
|
|
|
1370
1528
|
├── templates/ # 项目模板
|
|
1371
1529
|
├── config/ # 配置文件
|
|
1372
1530
|
├── hooks/ # Hook 配置
|
|
1373
|
-
└── package.json # v3.0.
|
|
1531
|
+
└── package.json # v3.0.1
|
|
1374
1532
|
```
|
|
1375
1533
|
|
|
1376
1534
|
***
|
|
@@ -1421,6 +1579,8 @@ CLI 参数 > 环境变量 > .pddrc.local > .pddrc > defaults
|
|
|
1421
1579
|
| <br /> | vm.autoOpen | true | 自动打开浏览器 |
|
|
1422
1580
|
| <br /> | vm.maxSSEConnections | 100 | 最大SSE连接数 |
|
|
1423
1581
|
| <br /> | vm.tuiRefreshInterval | 5 | TUI 刷新间隔(秒) |
|
|
1582
|
+
| **★ 脚手架** | scaffold.defaultTemplate | python-fullstack | 默认模板名称 |
|
|
1583
|
+
| <br /> | scaffold.outputDir | ./output | 输出目录 |
|
|
1424
1584
|
|
|
1425
1585
|
***
|
|
1426
1586
|
|
|
@@ -1453,6 +1613,7 @@ CLI 参数 > 环境变量 > .pddrc.local > .pddrc > defaults
|
|
|
1453
1613
|
|
|
1454
1614
|
| 版本 | 日期 | 重要变更 |
|
|
1455
1615
|
| ---------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1616
|
+
| **v3.0.2** | 2026-04-12 | **脚手架系统发布**: python-fullstack 全栈模板(FastAPI+Vue3), 数据权限引擎, OAuth2六平台认证, 工作流状态机引擎, 响应式前端, 4份架构设计文档, Docker一键部署, CI流水线 |
|
|
1456
1617
|
| **v3.0.1** | 2026-04-07 | **PDD Visual Manager 发布**: Web Dashboard + Terminal TUI 双形态可视化监控, 11个REST API端点, SSE实时推送, Canvas图表引擎, ANSI TUI组件库 (59/59 任务 100%, 4/4 里程碑 100%) |
|
|
1457
1618
|
| **v3.0.0** | 2026-04-05 | **正式发布版**: 6大Phase全部完成 + 插件系统 + OpenClaw + gRPC + Python SDK + 暂缓清零 (94/94 任务 100%) |
|
|
1458
1619
|
| v2.x | 2026-03 | 内部迭代版本: MCP/SDK/缓存/Token/质量/迭代 |
|
package/package.json
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
{"name": "pdd-skills",
|
|
1
|
+
{"name": "pdd-skills",
|
|
2
|
+
"version": "3.0.2", "description": "PRD Driven Development Skills - AI原生软件开发工作流", "type": "module", "main": "index.js", "bin": {"pdd": "./bin/pdd.js", "pdd-skills": "./bin/pdd.js"}, "files": ["bin/", "lib/", "skills/", "templates/", "scaffolds/", "scripts/", "config/", "hooks/", "index.js"], "scripts": {"start": "node bin/pdd.js", "list": "node bin/pdd.js list", "lint": "node bin/pdd.js linter --type code prd sql activiti", "generate": "node bin/pdd.js generate", "verify": "node bin/pdd.js verify", "report": "node bin/pdd.js report", "config": "node bin/pdd.js config --list", "api": "node bin/pdd.js api", "api:dev": "node bin/pdd.js api -p 3000 --cors", "init": "node bin/pdd.js init", "update": "node bin/pdd.js update", "cso": "node bin/pdd.js cso", "eval": "node bin/pdd.js eval", "token": "node bin/pdd.js token", "i18n": "node bin/pdd.js i18n"}, "keywords": ["pdd", "prd-driven-development", "ai", "claude", "skills", "tdd", "code-generation", "linter", "api-server", "cli"], "author": "PDD Team", "license": "MIT", "engines": {"node": ">=18.0.0"}, "dependencies": {"commander": "^12.0.0", "chalk": "^5.3.0", "fs-extra": "^11.2.0", "yaml": "^2.3.0"}}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# PDD Scaffold Templates Registry
|
|
2
|
+
|
|
3
|
+
本目录存放所有 PDD 驱动的脚手架模板。
|
|
4
|
+
|
|
5
|
+
## 可用模板
|
|
6
|
+
|
|
7
|
+
| 模板 | 路径 | 技术栈 | 说明 |
|
|
8
|
+
|------|------|--------|------|
|
|
9
|
+
| python-fullstack | ./python-fullstack/ | FastAPI + Vue3 + MySQL | 全栈脚手架(含数据权限/OAuth/工作流) |
|
|
10
|
+
|
|
11
|
+
## 使用方式
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# 通过 PDD CLI 初始化项目并选择模板
|
|
15
|
+
pdd init my-project --template python-fullstack
|
|
16
|
+
|
|
17
|
+
# 或在 .pdd/config.yaml 中指定默认模板
|
|
18
|
+
template: scaffolds/python-fullstack
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 添加新模板
|
|
22
|
+
|
|
23
|
+
1. 在此目录下创建新文件夹:`scaffolds/<template-name>/`
|
|
24
|
+
2. 添加 `template_config.yaml` 元数据文件
|
|
25
|
+
3. 添加代码模板文件
|
|
26
|
+
4. 更新此 README
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: CI Pipeline
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, develop]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test-backend:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
services:
|
|
13
|
+
mysql:
|
|
14
|
+
image: mysql:8.0
|
|
15
|
+
env:
|
|
16
|
+
MYSQL_ROOT_PASSWORD: test_root
|
|
17
|
+
MYSQL_DATABASE: pdd_test
|
|
18
|
+
MYSQL_USER: test_user
|
|
19
|
+
MYSQL_PASSWORD: test_pass
|
|
20
|
+
ports: ['3306:3306']
|
|
21
|
+
options: >-
|
|
22
|
+
--health-cmd='mysqladmin ping'
|
|
23
|
+
--health-interval=10s
|
|
24
|
+
--health-timeout=5s
|
|
25
|
+
--health-retries=5
|
|
26
|
+
steps:
|
|
27
|
+
- uses: actions/checkout@v4
|
|
28
|
+
- uses: actions/setup-python@v5
|
|
29
|
+
with:
|
|
30
|
+
python-version: '3.11'
|
|
31
|
+
- run: pip install -r backend/requirements-dev.txt
|
|
32
|
+
- run: cd backend && pytest tests/ -v --cov=app
|
|
33
|
+
|
|
34
|
+
test-frontend:
|
|
35
|
+
runs-on: ubuntu-latest
|
|
36
|
+
steps:
|
|
37
|
+
- uses: actions/checkout@v4
|
|
38
|
+
- uses: actions/setup-node@v4
|
|
39
|
+
with:
|
|
40
|
+
node-version: '20'
|
|
41
|
+
cache: 'npm'
|
|
42
|
+
cache-dependency-path: frontend/package-lock.json
|
|
43
|
+
- run: cd frontend && npm ci && npm run lint
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# PDD-Scaffold: Python Fullstack Template
|
|
2
|
+
|
|
3
|
+
> PRD-Driven Development 全栈脚手架模板 — 基于 FastAPI + Vue3
|
|
4
|
+
|
|
5
|
+
## 快速开始
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# 1. 使用 PDD CLI 初始化项目
|
|
9
|
+
pdd init my-project --template python-fullstack
|
|
10
|
+
|
|
11
|
+
# 2. 或手动复制
|
|
12
|
+
cp -r scaffolds/python-fullstack/ my-project/
|
|
13
|
+
cd my-project
|
|
14
|
+
|
|
15
|
+
# 3. 启动后端
|
|
16
|
+
cd backend
|
|
17
|
+
pip install -r requirements.txt
|
|
18
|
+
uvicorn app.main:create_app --reload --port 8000
|
|
19
|
+
|
|
20
|
+
# 4. 启动前端
|
|
21
|
+
cd frontend
|
|
22
|
+
npm install
|
|
23
|
+
npm run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Docker 一键启动
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
docker-compose up -d
|
|
30
|
+
# 访问 http://localhost:3000 (前端)
|
|
31
|
+
# 访问 http://localhost:8000 (后端API)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 项目结构
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
python-fullstack/
|
|
38
|
+
├── backend/ # Python FastAPI 后端
|
|
39
|
+
│ ├── app/
|
|
40
|
+
│ │ ├── core/ # 核心模块
|
|
41
|
+
│ │ │ ├── auth/ # JWT + 密码认证
|
|
42
|
+
│ │ │ ├── data_permission/ # 数据权限引擎
|
|
43
|
+
│ │ │ ├── oauth/ # OAuth2 统一认证 (6平台)
|
|
44
|
+
│ │ │ └── workflow/ # 工作流状态机引擎
|
|
45
|
+
│ │ ├── models/ # SQLAlchemy ORM 模型
|
|
46
|
+
│ │ ├── schemas/ # Pydantic 数据校验
|
|
47
|
+
│ │ └── api/v1/ # REST API 端点
|
|
48
|
+
│ ├── pyproject.toml
|
|
49
|
+
│ └── requirements.txt
|
|
50
|
+
│
|
|
51
|
+
├── frontend/ # Vue3 + Vite 前端
|
|
52
|
+
│ ├── src/
|
|
53
|
+
│ │ ├── views/ # 页面组件
|
|
54
|
+
│ │ ├── stores/ # Pinia 状态管理
|
|
55
|
+
│ │ ├── composables/ # 组合式函数 (useResponsive等)
|
|
56
|
+
│ │ └── api/ # Axios HTTP 客户端
|
|
57
|
+
│ ├── tailwind.config.js # 响应式断点配置
|
|
58
|
+
│ └── postcss.config.js # pxtorem 移动适配
|
|
59
|
+
│
|
|
60
|
+
├── Dockerfile # 后端容器化
|
|
61
|
+
├── docker-compose.yml # MySQL + Backend + Frontend
|
|
62
|
+
├── .github/workflows/ci.yml # CI 流水线
|
|
63
|
+
├── template_config.yaml # PDD 模板元数据
|
|
64
|
+
└── docs/ # 设计文档 (4份)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## 核心能力
|
|
68
|
+
|
|
69
|
+
| 模块 | 说明 | 关键文件 |
|
|
70
|
+
|------|------|---------|
|
|
71
|
+
| **数据权限** | 组织级隔离 + 借调合并 | `core/data_permission/engine.py` |
|
|
72
|
+
| **OAuth2 SSO** | 企微/钉钉/飞书/微信/OIDC | `core/oauth/providers/*.py` |
|
|
73
|
+
| **工作流** | 状态机 + 会签 + 条件分支 | `core/workflow/engine.py` |
|
|
74
|
+
| **响应式UI** | PC/H5 自适应 6档断点 | `composables/useResponsive.ts` |
|
|
75
|
+
|
|
76
|
+
## 设计文档
|
|
77
|
+
|
|
78
|
+
1. [01-架构设计](docs/01-architecture.md) — 整体架构、目录规范、PDD集成方案
|
|
79
|
+
2. [02-数据权限](docs/02-data-permission.md) — ER图、SQL拦截器、借调合并策略
|
|
80
|
+
3. [03-工作流引擎](docs/03-workflow-engine.md) — 15状态枚举、TransitionRule、会签策略
|
|
81
|
+
4. [04-OAuth+移动端](docs/04-mobile-oauth.md) — 6平台Provider、PKCE、响应式方案
|
|
82
|
+
|
|
83
|
+
## 与 PDD 集成
|
|
84
|
+
|
|
85
|
+
本脚手架作为 `pdd-skills-v3` 的模板输出目标,通过 `post_generate` hook 自动调用:
|
|
86
|
+
|
|
87
|
+
```yaml
|
|
88
|
+
# .pdd/hooks.yaml
|
|
89
|
+
hooks:
|
|
90
|
+
post_generate:
|
|
91
|
+
- template: scaffolds/python-fullstack
|
|
92
|
+
output_dir: "{{project_name}}/"
|
|
93
|
+
variables:
|
|
94
|
+
project_name: "{{name}}"
|
|
95
|
+
```
|