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.
Files changed (86) hide show
  1. package/README.md +186 -25
  2. package/package.json +2 -1
  3. package/scaffolds/README.md +26 -0
  4. package/scaffolds/python-fullstack/.github/workflows/ci.yml +43 -0
  5. package/scaffolds/python-fullstack/Dockerfile +12 -0
  6. package/scaffolds/python-fullstack/README.md +95 -0
  7. package/scaffolds/python-fullstack/backend/app/__init__.py +4 -0
  8. package/scaffolds/python-fullstack/backend/app/api/v1/__init__.py +6 -0
  9. package/scaffolds/python-fullstack/backend/app/api/v1/auth.py +179 -0
  10. package/scaffolds/python-fullstack/backend/app/api/v1/deps.py +14 -0
  11. package/scaffolds/python-fullstack/backend/app/api/v1/router.py +11 -0
  12. package/scaffolds/python-fullstack/backend/app/api/v1/users.py +143 -0
  13. package/scaffolds/python-fullstack/backend/app/config.py +69 -0
  14. package/scaffolds/python-fullstack/backend/app/core/auth/__init__.py +13 -0
  15. package/scaffolds/python-fullstack/backend/app/core/auth/dependencies.py +91 -0
  16. package/scaffolds/python-fullstack/backend/app/core/auth/jwt.py +84 -0
  17. package/scaffolds/python-fullstack/backend/app/core/auth/security.py +17 -0
  18. package/scaffolds/python-fullstack/backend/app/core/data_permission/__init__.py +27 -0
  19. package/scaffolds/python-fullstack/backend/app/core/data_permission/config.py +21 -0
  20. package/scaffolds/python-fullstack/backend/app/core/data_permission/context.py +67 -0
  21. package/scaffolds/python-fullstack/backend/app/core/data_permission/decorator.py +60 -0
  22. package/scaffolds/python-fullstack/backend/app/core/data_permission/engine.py +121 -0
  23. package/scaffolds/python-fullstack/backend/app/core/data_permission/enums.py +30 -0
  24. package/scaffolds/python-fullstack/backend/app/core/data_permission/events.py +71 -0
  25. package/scaffolds/python-fullstack/backend/app/core/data_permission/scope_resolver.py +139 -0
  26. package/scaffolds/python-fullstack/backend/app/core/oauth/__init__.py +31 -0
  27. package/scaffolds/python-fullstack/backend/app/core/oauth/base.py +118 -0
  28. package/scaffolds/python-fullstack/backend/app/core/oauth/exceptions.py +33 -0
  29. package/scaffolds/python-fullstack/backend/app/core/oauth/providers/__init__.py +18 -0
  30. package/scaffolds/python-fullstack/backend/app/core/oauth/providers/dingtalk.py +68 -0
  31. package/scaffolds/python-fullstack/backend/app/core/oauth/providers/feishu.py +71 -0
  32. package/scaffolds/python-fullstack/backend/app/core/oauth/providers/oidc.py +164 -0
  33. package/scaffolds/python-fullstack/backend/app/core/oauth/providers/wechat_mini.py +55 -0
  34. package/scaffolds/python-fullstack/backend/app/core/oauth/providers/wechat_open.py +86 -0
  35. package/scaffolds/python-fullstack/backend/app/core/oauth/providers/wecom.py +105 -0
  36. package/scaffolds/python-fullstack/backend/app/core/oauth/registry.py +43 -0
  37. package/scaffolds/python-fullstack/backend/app/core/oauth/services/user_binding_service.py +111 -0
  38. package/scaffolds/python-fullstack/backend/app/core/workflow/__init__.py +40 -0
  39. package/scaffolds/python-fullstack/backend/app/core/workflow/conditions.py +38 -0
  40. package/scaffolds/python-fullstack/backend/app/core/workflow/engine.py +448 -0
  41. package/scaffolds/python-fullstack/backend/app/core/workflow/enums.py +62 -0
  42. package/scaffolds/python-fullstack/backend/app/core/workflow/exceptions.py +54 -0
  43. package/scaffolds/python-fullstack/backend/app/core/workflow/models.py +134 -0
  44. package/scaffolds/python-fullstack/backend/app/core/workflow/transition_rule.py +27 -0
  45. package/scaffolds/python-fullstack/backend/app/database/database.py +53 -0
  46. package/scaffolds/python-fullstack/backend/app/exceptions.py +76 -0
  47. package/scaffolds/python-fullstack/backend/app/main.py +77 -0
  48. package/scaffolds/python-fullstack/backend/app/models/__init__.py +6 -0
  49. package/scaffolds/python-fullstack/backend/app/models/delegation.py +87 -0
  50. package/scaffolds/python-fullstack/backend/app/models/oauth_binding.py +35 -0
  51. package/scaffolds/python-fullstack/backend/app/models/org.py +41 -0
  52. package/scaffolds/python-fullstack/backend/app/models/role.py +65 -0
  53. package/scaffolds/python-fullstack/backend/app/models/user.py +48 -0
  54. package/scaffolds/python-fullstack/backend/app/schemas/__init__.py +11 -0
  55. package/scaffolds/python-fullstack/backend/app/schemas/auth.py +54 -0
  56. package/scaffolds/python-fullstack/backend/app/schemas/common.py +44 -0
  57. package/scaffolds/python-fullstack/backend/app/schemas/user.py +78 -0
  58. package/scaffolds/python-fullstack/backend/pyproject.toml +17 -0
  59. package/scaffolds/python-fullstack/backend/requirements-dev.txt +5 -0
  60. package/scaffolds/python-fullstack/backend/requirements.txt +11 -0
  61. package/scaffolds/python-fullstack/docker-compose.yml +52 -0
  62. package/scaffolds/python-fullstack/docs/01-architecture.md +1280 -0
  63. package/scaffolds/python-fullstack/docs/02-data-permission.md +1538 -0
  64. package/scaffolds/python-fullstack/docs/03-workflow-engine.md +1079 -0
  65. package/scaffolds/python-fullstack/docs/04-mobile-oauth.md +1182 -0
  66. package/scaffolds/python-fullstack/frontend/Dockerfile +12 -0
  67. package/scaffolds/python-fullstack/frontend/index.html +14 -0
  68. package/scaffolds/python-fullstack/frontend/nginx.conf +19 -0
  69. package/scaffolds/python-fullstack/frontend/package.json +1 -0
  70. package/scaffolds/python-fullstack/frontend/postcss.config.js +15 -0
  71. package/scaffolds/python-fullstack/frontend/src/App.vue +14 -0
  72. package/scaffolds/python-fullstack/frontend/src/api/client.ts +27 -0
  73. package/scaffolds/python-fullstack/frontend/src/composables/useResponsive.ts +53 -0
  74. package/scaffolds/python-fullstack/frontend/src/main.ts +10 -0
  75. package/scaffolds/python-fullstack/frontend/src/router/index.ts +36 -0
  76. package/scaffolds/python-fullstack/frontend/src/stores/user.ts +42 -0
  77. package/scaffolds/python-fullstack/frontend/src/styles/responsive.css +59 -0
  78. package/scaffolds/python-fullstack/frontend/src/styles/variables.css +31 -0
  79. package/scaffolds/python-fullstack/frontend/src/views/DashboardView.vue +66 -0
  80. package/scaffolds/python-fullstack/frontend/src/views/HomeView.vue +19 -0
  81. package/scaffolds/python-fullstack/frontend/src/views/LoginView.vue +71 -0
  82. package/scaffolds/python-fullstack/frontend/tailwind.config.js +17 -0
  83. package/scaffolds/python-fullstack/frontend/tsconfig.json +1 -0
  84. package/scaffolds/python-fullstack/frontend/tsconfig.node.json +1 -0
  85. package/scaffolds/python-fullstack/frontend/vite.config.ts +25 -0
  86. 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
- [!\[Version\](https://img.shields.io/badge/version-3.0.0-blue.svg null)](https://github.com/pdd-skills/pdd-skills)
4
- [!\[Node\](https://img.shields.io/badge/node-%3E%3D18.0.0-green.svg null)](https://nodejs.org/)
5
- [!\[License\](https://img.shields.io/badge/license-MIT-orange.svg null)](LICENSE)
6
- [!\[Tasks\](https://img.shields.io/badge/tasks-153%2F153-brightgreen.svg null)](docs/tasks.md)
7
- [!\[Milestones\](https://img.shields.io/badge/milestones-29%2F29-success.svg null)](docs/tasks.md)
3
+ [![Version](https://img.shields.io/badge/version-3.0.1-blue.svg null)](https://github.com/pdd-skills/pdd-skills)
4
+ [![Node](https://img.shields.io/badge/node-%3E%3D18.0.0-green.svg null)](https://nodejs.org/)
5
+ [![License](https://img.shields.io/badge/license-MIT-orange.svg null)](LICENSE)
6
+ [![Tasks](https://img.shields.io/badge/tasks-153%2F153-brightgreen.svg null)](docs/tasks.md)
7
+ [![Milestones](https://img.shields.io/badge/milestones-29%2F29-success.svg null)](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 │ │ • CSO │ │ │ │ • JS SDK │ │
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.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 | \~1480 |
484
- | [developer-guide](docs/developer-guide/developer-guide.md) | 架构 / 规范 / 贡献流程 | \~2960 |
485
- | [api-reference](docs/api-reference/api-reference.md) | 全模块 API / 错误码大全 | \~3948 |
486
- | [operations](docs/operations/operations-guide.md) | 部署 / 调优 / 监控 / 安全 | \~2018 |
487
- | [plugin-market](docs/plugin-market/README.md) | 发布流程 / 评分标准 / 审核 | \~400 |
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
- │ │ │ │ │ │ │ 5 组件: │ │ │
544
- │ │ │ 4 视图面板: │ │ │ │ progress-bar / table / │ │ │
545
- │ │ │ • Pipeline (流水线) │ │ │ │ sparkline / status-light │ │ │
546
- │ │ │ • Kanban (看板) │ │ │ │ / card │ │ │
547
- │ │ │ • Quality (质量) │ │ │ │ │ │ │
548
- │ │ │ • System (系统) │ │ │ │ 4 屏幕 + 详情overlay: │ │ │
549
- │ │ │ │ │ │ │ overview / kanban / │ │ │
550
- │ │ │ Canvas 图表引擎: │ │ │ │ quality / system │ │ │
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.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", "version": "3.0.1", "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/", "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"}}
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,12 @@
1
+ FROM python:3.11-slim
2
+
3
+ WORKDIR /app
4
+
5
+ COPY backend/requirements.txt .
6
+ RUN pip install --no-cache-dir -r requirements.txt
7
+
8
+ COPY backend/ .
9
+
10
+ EXPOSE 8000
11
+
12
+ CMD ["uvicorn", "app.main:create_app", "--host", "0.0.0.0", "--port", "8000"]
@@ -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
+ ```
@@ -0,0 +1,4 @@
1
+ """
2
+ PDD-Scaffold Backend Application Package
3
+ """
4
+ __version__ = "0.1.0"
@@ -0,0 +1,6 @@
1
+ """
2
+ API v1 Package
3
+ """
4
+ from .router import api_router
5
+
6
+ __all__ = ["api_router"]