@mison/ling 1.0.0

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 (268) hide show
  1. package/.agents/.shared/ui-ux-pro-max/data/charts.csv +26 -0
  2. package/.agents/.shared/ui-ux-pro-max/data/colors.csv +97 -0
  3. package/.agents/.shared/ui-ux-pro-max/data/icons.csv +101 -0
  4. package/.agents/.shared/ui-ux-pro-max/data/landing.csv +31 -0
  5. package/.agents/.shared/ui-ux-pro-max/data/products.csv +97 -0
  6. package/.agents/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
  7. package/.agents/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
  8. package/.agents/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  9. package/.agents/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  10. package/.agents/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  11. package/.agents/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  12. package/.agents/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  13. package/.agents/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  14. package/.agents/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  15. package/.agents/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
  16. package/.agents/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  17. package/.agents/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  18. package/.agents/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  19. package/.agents/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  20. package/.agents/.shared/ui-ux-pro-max/data/styles.csv +59 -0
  21. package/.agents/.shared/ui-ux-pro-max/data/typography.csv +58 -0
  22. package/.agents/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  23. package/.agents/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  24. package/.agents/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
  25. package/.agents/.shared/ui-ux-pro-max/scripts/core.py +258 -0
  26. package/.agents/.shared/ui-ux-pro-max/scripts/design_system.py +1067 -0
  27. package/.agents/.shared/ui-ux-pro-max/scripts/search.py +106 -0
  28. package/.agents/ARCHITECTURE.md +285 -0
  29. package/.agents/agents/backend-specialist.md +268 -0
  30. package/.agents/agents/code-archaeologist.md +106 -0
  31. package/.agents/agents/database-architect.md +225 -0
  32. package/.agents/agents/debugger.md +225 -0
  33. package/.agents/agents/devops-engineer.md +242 -0
  34. package/.agents/agents/documentation-writer.md +104 -0
  35. package/.agents/agents/explorer-agent.md +73 -0
  36. package/.agents/agents/frontend-specialist.md +618 -0
  37. package/.agents/agents/game-developer.md +162 -0
  38. package/.agents/agents/mobile-developer.md +382 -0
  39. package/.agents/agents/orchestrator.md +436 -0
  40. package/.agents/agents/penetration-tester.md +188 -0
  41. package/.agents/agents/performance-optimizer.md +187 -0
  42. package/.agents/agents/product-manager.md +112 -0
  43. package/.agents/agents/product-owner.md +95 -0
  44. package/.agents/agents/project-planner.md +405 -0
  45. package/.agents/agents/qa-automation-engineer.md +103 -0
  46. package/.agents/agents/security-auditor.md +170 -0
  47. package/.agents/agents/seo-specialist.md +111 -0
  48. package/.agents/agents/test-engineer.md +158 -0
  49. package/.agents/mcp_config.json +22 -0
  50. package/.agents/rules/GEMINI.md +273 -0
  51. package/.agents/scripts/auto_preview.py +148 -0
  52. package/.agents/scripts/checklist.py +217 -0
  53. package/.agents/scripts/session_manager.py +120 -0
  54. package/.agents/scripts/verify_all.py +327 -0
  55. package/.agents/skills/api-patterns/SKILL.md +84 -0
  56. package/.agents/skills/api-patterns/api-style.md +42 -0
  57. package/.agents/skills/api-patterns/auth.md +24 -0
  58. package/.agents/skills/api-patterns/documentation.md +26 -0
  59. package/.agents/skills/api-patterns/graphql.md +41 -0
  60. package/.agents/skills/api-patterns/rate-limiting.md +31 -0
  61. package/.agents/skills/api-patterns/response.md +37 -0
  62. package/.agents/skills/api-patterns/rest.md +40 -0
  63. package/.agents/skills/api-patterns/scripts/api_validator.py +211 -0
  64. package/.agents/skills/api-patterns/security-testing.md +122 -0
  65. package/.agents/skills/api-patterns/trpc.md +41 -0
  66. package/.agents/skills/api-patterns/versioning.md +22 -0
  67. package/.agents/skills/app-builder/SKILL.md +75 -0
  68. package/.agents/skills/app-builder/agent-coordination.md +74 -0
  69. package/.agents/skills/app-builder/feature-building.md +53 -0
  70. package/.agents/skills/app-builder/project-detection.md +34 -0
  71. package/.agents/skills/app-builder/scaffolding.md +118 -0
  72. package/.agents/skills/app-builder/tech-stack.md +40 -0
  73. package/.agents/skills/app-builder/templates/SKILL.md +39 -0
  74. package/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  75. package/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  76. package/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  77. package/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  78. package/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  79. package/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  80. package/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  81. package/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
  82. package/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
  83. package/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
  84. package/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
  85. package/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  86. package/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
  87. package/.agents/skills/architecture/SKILL.md +57 -0
  88. package/.agents/skills/architecture/context-discovery.md +43 -0
  89. package/.agents/skills/architecture/examples.md +94 -0
  90. package/.agents/skills/architecture/pattern-selection.md +68 -0
  91. package/.agents/skills/architecture/patterns-reference.md +50 -0
  92. package/.agents/skills/architecture/trade-off-analysis.md +77 -0
  93. package/.agents/skills/bash-linux/SKILL.md +201 -0
  94. package/.agents/skills/behavioral-modes/SKILL.md +264 -0
  95. package/.agents/skills/brainstorming/SKILL.md +164 -0
  96. package/.agents/skills/brainstorming/dynamic-questioning.md +359 -0
  97. package/.agents/skills/clean-code/SKILL.md +200 -0
  98. package/.agents/skills/code-review-checklist/SKILL.md +125 -0
  99. package/.agents/skills/database-design/SKILL.md +54 -0
  100. package/.agents/skills/database-design/database-selection.md +43 -0
  101. package/.agents/skills/database-design/indexing.md +39 -0
  102. package/.agents/skills/database-design/migrations.md +50 -0
  103. package/.agents/skills/database-design/optimization.md +36 -0
  104. package/.agents/skills/database-design/orm-selection.md +30 -0
  105. package/.agents/skills/database-design/schema-design.md +56 -0
  106. package/.agents/skills/database-design/scripts/schema_validator.py +172 -0
  107. package/.agents/skills/deployment-procedures/SKILL.md +241 -0
  108. package/.agents/skills/doc.md +177 -0
  109. package/.agents/skills/documentation-templates/SKILL.md +194 -0
  110. package/.agents/skills/frontend-design/SKILL.md +418 -0
  111. package/.agents/skills/frontend-design/animation-guide.md +331 -0
  112. package/.agents/skills/frontend-design/color-system.md +307 -0
  113. package/.agents/skills/frontend-design/decision-trees.md +418 -0
  114. package/.agents/skills/frontend-design/motion-graphics.md +306 -0
  115. package/.agents/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  116. package/.agents/skills/frontend-design/scripts/ux_audit.py +727 -0
  117. package/.agents/skills/frontend-design/typography-system.md +345 -0
  118. package/.agents/skills/frontend-design/ux-psychology.md +1118 -0
  119. package/.agents/skills/frontend-design/visual-effects.md +383 -0
  120. package/.agents/skills/game-development/2d-games/SKILL.md +119 -0
  121. package/.agents/skills/game-development/3d-games/SKILL.md +135 -0
  122. package/.agents/skills/game-development/SKILL.md +167 -0
  123. package/.agents/skills/game-development/game-art/SKILL.md +185 -0
  124. package/.agents/skills/game-development/game-audio/SKILL.md +190 -0
  125. package/.agents/skills/game-development/game-design/SKILL.md +129 -0
  126. package/.agents/skills/game-development/mobile-games/SKILL.md +108 -0
  127. package/.agents/skills/game-development/multiplayer/SKILL.md +132 -0
  128. package/.agents/skills/game-development/pc-games/SKILL.md +144 -0
  129. package/.agents/skills/game-development/vr-ar/SKILL.md +123 -0
  130. package/.agents/skills/game-development/web-games/SKILL.md +150 -0
  131. package/.agents/skills/geo-fundamentals/SKILL.md +155 -0
  132. package/.agents/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  133. package/.agents/skills/i18n-localization/SKILL.md +154 -0
  134. package/.agents/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  135. package/.agents/skills/intelligent-routing/SKILL.md +335 -0
  136. package/.agents/skills/lint-and-validate/SKILL.md +44 -0
  137. package/.agents/skills/lint-and-validate/scripts/lint_runner.py +184 -0
  138. package/.agents/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  139. package/.agents/skills/mcp-builder/SKILL.md +176 -0
  140. package/.agents/skills/mobile-design/SKILL.md +394 -0
  141. package/.agents/skills/mobile-design/decision-trees.md +516 -0
  142. package/.agents/skills/mobile-design/mobile-backend.md +491 -0
  143. package/.agents/skills/mobile-design/mobile-color-system.md +420 -0
  144. package/.agents/skills/mobile-design/mobile-debugging.md +122 -0
  145. package/.agents/skills/mobile-design/mobile-design-thinking.md +355 -0
  146. package/.agents/skills/mobile-design/mobile-navigation.md +458 -0
  147. package/.agents/skills/mobile-design/mobile-performance.md +767 -0
  148. package/.agents/skills/mobile-design/mobile-testing.md +356 -0
  149. package/.agents/skills/mobile-design/mobile-typography.md +432 -0
  150. package/.agents/skills/mobile-design/platform-android.md +666 -0
  151. package/.agents/skills/mobile-design/platform-ios.md +561 -0
  152. package/.agents/skills/mobile-design/scripts/mobile_audit.py +670 -0
  153. package/.agents/skills/mobile-design/touch-psychology.md +537 -0
  154. package/.agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +311 -0
  155. package/.agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +241 -0
  156. package/.agents/skills/nextjs-react-expert/3-server-server-side-performance.md +489 -0
  157. package/.agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +263 -0
  158. package/.agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
  159. package/.agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md +431 -0
  160. package/.agents/skills/nextjs-react-expert/7-js-javascript-performance.md +683 -0
  161. package/.agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +149 -0
  162. package/.agents/skills/nextjs-react-expert/SKILL.md +286 -0
  163. package/.agents/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
  164. package/.agents/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
  165. package/.agents/skills/nodejs-best-practices/SKILL.md +333 -0
  166. package/.agents/skills/parallel-agents/SKILL.md +193 -0
  167. package/.agents/skills/performance-profiling/SKILL.md +149 -0
  168. package/.agents/skills/performance-profiling/scripts/lighthouse_audit.py +120 -0
  169. package/.agents/skills/plan-writing/SKILL.md +152 -0
  170. package/.agents/skills/powershell-windows/SKILL.md +166 -0
  171. package/.agents/skills/python-patterns/SKILL.md +441 -0
  172. package/.agents/skills/red-team-tactics/SKILL.md +203 -0
  173. package/.agents/skills/refactoring-patterns/SKILL.md +43 -0
  174. package/.agents/skills/rust-pro/SKILL.md +190 -0
  175. package/.agents/skills/seo-fundamentals/SKILL.md +135 -0
  176. package/.agents/skills/seo-fundamentals/scripts/seo_checker.py +215 -0
  177. package/.agents/skills/server-management/SKILL.md +161 -0
  178. package/.agents/skills/systematic-debugging/SKILL.md +114 -0
  179. package/.agents/skills/tailwind-patterns/SKILL.md +269 -0
  180. package/.agents/skills/tdd-workflow/SKILL.md +149 -0
  181. package/.agents/skills/testing-patterns/SKILL.md +178 -0
  182. package/.agents/skills/testing-patterns/scripts/test_runner.py +219 -0
  183. package/.agents/skills/vulnerability-scanner/SKILL.md +276 -0
  184. package/.agents/skills/vulnerability-scanner/checklists.md +131 -0
  185. package/.agents/skills/vulnerability-scanner/scripts/__pycache__/security_scan.cpython-310.pyc +0 -0
  186. package/.agents/skills/vulnerability-scanner/scripts/security_scan.py +524 -0
  187. package/.agents/skills/web-design-guidelines/SKILL.md +57 -0
  188. package/.agents/skills/webapp-testing/SKILL.md +187 -0
  189. package/.agents/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  190. package/.agents/workflows/brainstorm.md +113 -0
  191. package/.agents/workflows/create.md +59 -0
  192. package/.agents/workflows/debug.md +103 -0
  193. package/.agents/workflows/deploy.md +176 -0
  194. package/.agents/workflows/enhance.md +63 -0
  195. package/.agents/workflows/orchestrate.md +242 -0
  196. package/.agents/workflows/plan.md +89 -0
  197. package/.agents/workflows/preview.md +80 -0
  198. package/.agents/workflows/restore-localize-compat.md +525 -0
  199. package/.agents/workflows/status.md +86 -0
  200. package/.agents/workflows/test.md +144 -0
  201. package/.agents/workflows/ui-ux-pro-max.md +295 -0
  202. package/.spec/profiles/codex/AGENTS.spec.md +7 -0
  203. package/.spec/profiles/codex/ling.spec.rules.md +4 -0
  204. package/.spec/profiles/gemini/GEMINI.spec.md +5 -0
  205. package/.spec/references/README.md +36 -0
  206. package/.spec/references/cse-quickstart.md +96 -0
  207. package/.spec/references/gda-framework.md +394 -0
  208. package/.spec/references/harness-engineering-digest.md +93 -0
  209. package/.spec/skills/cybernetic-systems-engineering/SKILL.md +792 -0
  210. package/.spec/skills/cybernetic-systems-engineering/agents/openai.yaml +5 -0
  211. package/.spec/skills/cybernetic-systems-engineering/assets/quickstart.md +96 -0
  212. package/.spec/skills/cybernetic-systems-engineering/references/README.md +36 -0
  213. package/.spec/skills/cybernetic-systems-engineering/references/gda-framework.md +394 -0
  214. package/.spec/skills/cybernetic-systems-engineering/scripts/issues.csv +20 -0
  215. package/.spec/skills/harness-engineering/SKILL.md +100 -0
  216. package/.spec/skills/harness-engineering/agents/openai.yaml +4 -0
  217. package/.spec/skills/harness-engineering/references/harness-engineering-digest.md +93 -0
  218. package/.spec/templates/driver-prompt.md +7 -0
  219. package/.spec/templates/handoff.md +9 -0
  220. package/.spec/templates/issues.template.csv +2 -0
  221. package/.spec/templates/phase-acceptance.md +9 -0
  222. package/.spec/templates/review-report.md +9 -0
  223. package/AGENT_FLOW.md +609 -0
  224. package/CHANGELOG.md +43 -0
  225. package/LICENSE +21 -0
  226. package/README.md +359 -0
  227. package/bin/adapters/base.js +63 -0
  228. package/bin/adapters/codex.js +421 -0
  229. package/bin/adapters/gemini.js +157 -0
  230. package/bin/ag-kit.js +2266 -0
  231. package/bin/core/builder.js +80 -0
  232. package/bin/core/generator.js +59 -0
  233. package/bin/core/resource-loader.js +64 -0
  234. package/bin/core/transformer.js +208 -0
  235. package/bin/interactive.js +65 -0
  236. package/bin/ling.js +3 -0
  237. package/bin/utils/atomic-writer.js +97 -0
  238. package/bin/utils/git-helper.js +68 -0
  239. package/bin/utils/managed-block.js +65 -0
  240. package/bin/utils/manifest.js +244 -0
  241. package/bin/utils.js +89 -0
  242. package/docs/PLAN.md +54 -0
  243. package/docs/TECH.md +191 -0
  244. package/package.json +56 -0
  245. package/scripts/ci-verify.js +110 -0
  246. package/scripts/clean.js +123 -0
  247. package/scripts/health-check.js +143 -0
  248. package/scripts/health-check.sh +6 -0
  249. package/scripts/postinstall-check.js +112 -0
  250. package/scripts/run-tests.js +49 -0
  251. package/tests/atomic-writer.test.js +47 -0
  252. package/tests/clean-script.test.js +77 -0
  253. package/tests/cli-smoke.test.js +479 -0
  254. package/tests/codex-adapter.test.js +132 -0
  255. package/tests/doctor.test.js +94 -0
  256. package/tests/gemini-adapter.test.js +30 -0
  257. package/tests/generator.test.js +48 -0
  258. package/tests/git-helper.test.js +53 -0
  259. package/tests/global-sync.test.js +133 -0
  260. package/tests/health-check-script.test.js +34 -0
  261. package/tests/managed-block.test.js +41 -0
  262. package/tests/manifest.test.js +97 -0
  263. package/tests/package-tarball.test.js +33 -0
  264. package/tests/phase-c.test.js +107 -0
  265. package/tests/spec-profile.test.js +86 -0
  266. package/tests/standards-compliance.test.js +303 -0
  267. package/tests/transformer.test.js +74 -0
  268. package/tests/versioning.test.js +51 -0
@@ -0,0 +1,118 @@
1
+ # 项目脚手架
2
+
3
+ > 新项目的目录结构与核心文件。
4
+
5
+ ---
6
+
7
+ ## Next.js 全栈结构(2025 优化版)
8
+
9
+ ```
10
+ project-name/
11
+ +-- src/
12
+ | +-- app/ # 路由层(仅路由,薄层)
13
+ | | +-- layout.tsx
14
+ | | +-- page.tsx
15
+ | | +-- globals.css
16
+ | | +-- (auth)/ # 路由分组 - 认证页面
17
+ | | | +-- login/page.tsx
18
+ | | | +-- register/page.tsx
19
+ | | +-- (dashboard)/ # 路由分组 - 仪表盘布局
20
+ | | | +-- layout.tsx
21
+ | | | +-- page.tsx
22
+ | | +-- api/
23
+ | | +-- [resource]/route.ts
24
+ | |
25
+ | +-- features/ # Feature-based(功能模块)
26
+ | | +-- auth/
27
+ | | | +-- components/
28
+ | | | +-- hooks/
29
+ | | | +-- actions.ts # Server Actions(服务端动作)
30
+ | | | +-- queries.ts # Data fetching(数据获取)
31
+ | | | +-- types.ts
32
+ | | +-- products/
33
+ | | | +-- components/
34
+ | | | +-- actions.ts
35
+ | | | +-- queries.ts
36
+ | | +-- cart/
37
+ | | +-- ...
38
+ | |
39
+ | +-- shared/ # Shared utilities(共享工具)
40
+ | | +-- components/ui/ # 可复用 UI(用户界面)组件
41
+ | | +-- lib/ # 工具/辅助
42
+ | | +-- hooks/ # hooks(钩子)
43
+ | |
44
+ | +-- server/ # 仅服务端代码
45
+ | +-- db/ # Prisma(ORM)数据库客户端
46
+ | +-- auth/ # 认证配置
47
+ | +-- services/ # 外部 API(应用程序接口)集成
48
+ |
49
+ +-- prisma/
50
+ | +-- schema.prisma
51
+ | +-- migrations/
52
+ | +-- seed.ts
53
+ |
54
+ +-- public/
55
+ +-- .env.example
56
+ +-- .env.local
57
+ +-- package.json
58
+ +-- tailwind.config.ts
59
+ +-- tsconfig.json
60
+ +-- README.md
61
+ ```
62
+
63
+ ---
64
+
65
+ ## 结构原则
66
+
67
+ | 原则 | 实现方式 |
68
+ | --- | --- |
69
+ | **Feature isolation(功能隔离)** | 每个功能在 `features/` 下拥有自己的组件、hooks(钩子)、actions |
70
+ | **Server/Client separation(服务端/客户端分离)** | 仅服务端代码放在 `server/`,防止客户端误导入 |
71
+ | **Thin routes(薄路由层)** | `app/` 只负责路由,逻辑放在 `features/` |
72
+ | **Route groups(路由分组)** | 使用 `(groupName)/` 共享布局且不影响 URL |
73
+ | **Shared code(共享代码)** | `shared/` 存放真正可复用的 UI(用户界面)与工具 |
74
+
75
+ ---
76
+
77
+ ## 核心文件
78
+
79
+ | 文件 | 用途 |
80
+ | --- | --- |
81
+ | `package.json` | 依赖管理 |
82
+ | `tsconfig.json` | TypeScript(类型脚本语言)与路径别名(`@/features/*`) |
83
+ | `tailwind.config.ts` | Tailwind(CSS 框架)配置 |
84
+ | `.env.example` | 环境变量模板 |
85
+ | `README.md` | 项目文档 |
86
+ | `.gitignore` | Git 忽略规则 |
87
+ | `prisma/schema.prisma` | Database schema(数据库结构) |
88
+
89
+ ---
90
+
91
+ ## 路径别名(tsconfig.json)
92
+
93
+ ```json
94
+ {
95
+ "compilerOptions": {
96
+ "paths": {
97
+ "@/*": ["./src/*"],
98
+ "@/features/*": ["./src/features/*"],
99
+ "@/shared/*": ["./src/shared/*"],
100
+ "@/server/*": ["./src/server/*"]
101
+ }
102
+ }
103
+ }
104
+ ```
105
+
106
+ ---
107
+
108
+ ## 使用位置指引
109
+
110
+ | 需求 | 位置 |
111
+ | --- | --- |
112
+ | 新页面/路由 | `app/(group)/page.tsx` |
113
+ | 功能组件 | `features/[name]/components/` |
114
+ | Server action(服务端动作) | `features/[name]/actions.ts` |
115
+ | Data fetching(数据获取) | `features/[name]/queries.ts` |
116
+ | 可复用按钮/输入框 | `shared/components/ui/` |
117
+ | 数据库查询 | `server/db/` |
118
+ | 外部 API(应用程序接口)调用 | `server/services/` |
@@ -0,0 +1,40 @@
1
+ # 技术栈选择(2026)
2
+
3
+ > Web App(Web 应用)的默认与备选技术方案。
4
+
5
+ ## 默认技术栈(Web App - 2026)
6
+
7
+ ```yaml
8
+ Frontend(前端):
9
+ framework(框架): Next.js 16 (Stable)
10
+ language(语言): TypeScript 5.7+
11
+ styling(样式): Tailwind CSS v4
12
+ state(状态): React 19 Actions / Server Components
13
+ bundler(构建工具): Turbopack(Stable for Dev,开发稳定)
14
+
15
+ Backend(后端):
16
+ runtime(运行时): Node.js 23
17
+ framework(框架): Next.js API Routes / Hono(Edge,边缘)
18
+ validation(校验): Zod / TypeBox
19
+
20
+ Database(数据库):
21
+ primary(主选): PostgreSQL
22
+ orm: Prisma / Drizzle
23
+ hosting(托管): Supabase / Neon
24
+
25
+ Auth(身份认证):
26
+ provider(提供商): Auth.js(v5) / Clerk
27
+
28
+ Monorepo(多仓):
29
+ tool(工具): Turborepo 2.0
30
+ ```
31
+
32
+ ## 替代选项
33
+
34
+ | Need(需求) | Default(默认) | Alternative(替代方案) |
35
+ | --- | --- | --- |
36
+ | Real-time(实时) | - | Supabase Realtime, Socket.io |
37
+ | File storage(文件存储) | - | Cloudinary, S3 |
38
+ | Payment(支付) | Stripe | LemonSqueezy, Paddle |
39
+ | Email(邮件) | - | Resend, SendGrid |
40
+ | Search(搜索) | - | Algolia, Typesense |
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: templates
3
+ description: Project scaffolding templates(项目脚手架模板)。用于从零创建新项目。包含 12 个技术栈模板。
4
+ allowed-tools: Read, Glob, Grep
5
+ ---
6
+
7
+ # Project Templates(项目模板)
8
+
9
+ > 用于搭建新项目的快速启动模板。
10
+
11
+ ---
12
+
13
+ ## Selective Reading Rule(选择性阅读规则)
14
+
15
+ **仅阅读与用户项目类型匹配的模板!**
16
+
17
+ | Template(模板) | Tech Stack(技术栈) | When to Use(适用场景) |
18
+ | --- | --- | --- |
19
+ | [nextjs-fullstack](nextjs-fullstack/TEMPLATE.md) | Next.js + Prisma | Full-stack web app(全栈 Web 应用) |
20
+ | [nextjs-saas](nextjs-saas/TEMPLATE.md) | Next.js + Stripe | SaaS product(SaaS 产品) |
21
+ | [nextjs-static](nextjs-static/TEMPLATE.md) | Next.js + Framer | Landing page(落地页) |
22
+ | [express-api](express-api/TEMPLATE.md) | Express + JWT | REST API(接口服务) |
23
+ | [python-fastapi](python-fastapi/TEMPLATE.md) | FastAPI | Python API(Python 接口) |
24
+ | [react-native-app](react-native-app/TEMPLATE.md) | Expo + Zustand | Mobile app(移动应用) |
25
+ | [flutter-app](flutter-app/TEMPLATE.md) | Flutter + Riverpod | Cross-platform(跨平台) |
26
+ | [electron-desktop](electron-desktop/TEMPLATE.md) | Electron + React | Desktop app(桌面应用) |
27
+ | [chrome-extension](chrome-extension/TEMPLATE.md) | Chrome MV3 | Browser extension(浏览器扩展) |
28
+ | [cli-tool](cli-tool/TEMPLATE.md) | Node.js + Commander | CLI app(命令行应用) |
29
+ | [monorepo-turborepo](monorepo-turborepo/TEMPLATE.md) | Turborepo + pnpm | Monorepo(单仓) |
30
+ | [astro-static](astro-static/TEMPLATE.md) | Astro + MDX | Blog / Docs(博客/文档) |
31
+
32
+ ---
33
+
34
+ ## Usage(用法)
35
+
36
+ 1. 用户说 “create [type] app(创建 [type] 应用)”
37
+ 2. 匹配到合适模板
38
+ 3. **仅**阅读该模板的 `TEMPLATE.md`
39
+ 4. 遵循其技术栈和结构
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: astro-static
3
+ description: Astro static site template principles(静态站点模板原则)。Content-focused websites(内容型网站)、blogs(博客)、documentation(文档)。
4
+ ---
5
+
6
+ # Astro Static Site Template(静态站点模板)
7
+
8
+ ## Tech Stack(技术栈)
9
+
10
+ | Component(组件) | Technology(技术) |
11
+ | --- | --- |
12
+ | Framework(框架) | Astro 4.x |
13
+ | Content(内容) | MDX + Content Collections |
14
+ | Styling(样式) | Tailwind CSS |
15
+ | Integrations(集成) | Sitemap(站点地图)、RSS、SEO |
16
+ | Output(输出) | Static/SSG(静态/SSG) |
17
+
18
+ ---
19
+
20
+ ## Directory Structure(目录结构)
21
+
22
+ ```
23
+ project-name/
24
+ +-- src/
25
+ | +-- components/ # .astro components(.astro 组件)
26
+ | +-- content/ # MDX content(MDX 内容)
27
+ | | +-- blog/
28
+ | | +-- config.ts # Collection schemas(内容集合 Schema)
29
+ | +-- layouts/ # Page layouts(页面布局)
30
+ | +-- pages/ # File-based routing(基于文件的路由)
31
+ | +-- styles/
32
+ +-- public/ # Static assets(静态资源)
33
+ +-- astro.config.mjs
34
+ +-- package.json
35
+ ```
36
+
37
+ ---
38
+
39
+ ## Key Concepts(关键概念)
40
+
41
+ | Concept(概念) | Description(说明) |
42
+ | --- | --- |
43
+ | Content Collections(内容集合) | Type-safe content with Zod schemas(使用 Zod Schema 的类型安全内容) |
44
+ | Islands Architecture(群岛架构) | Partial hydration for interactivity(仅对交互部分局部水合) |
45
+ | Zero JS by default(默认零 JS) | Static HTML unless needed(除非需要,否则输出静态 HTML) |
46
+ | MDX Support(MDX 支持) | Markdown with components(带组件的 Markdown) |
47
+
48
+ ---
49
+
50
+ ## Setup Steps(设置步骤)
51
+
52
+ 1. `npm create astro@latest {{name}}`
53
+ 2. Add integrations(添加集成):`npx astro add mdx tailwind sitemap`
54
+ 3. Configure `astro.config.mjs`(配置)
55
+ 4. Create content collections(创建内容集合)
56
+ 5. `npm run dev`
57
+
58
+ ---
59
+
60
+ ## Deployment(部署)
61
+
62
+ | Platform(平台) | Method(方式) |
63
+ | --- | --- |
64
+ | Vercel | Auto-detected(自动检测) |
65
+ | Netlify | Auto-detected(自动检测) |
66
+ | Cloudflare Pages | Auto-detected(自动检测) |
67
+ | GitHub Pages | Build + deploy action(构建 + 部署工作流) |
68
+
69
+ ---
70
+
71
+ ## Best Practices(最佳实践)
72
+
73
+ - Use Content Collections for type safety(保证类型安全)
74
+ - Leverage static generation(优先使用静态生成)
75
+ - Add islands only where needed(仅在需要时添加 Islands)
76
+ - Optimize images with Astro Image(使用 Astro Image 优化图片)
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: chrome-extension
3
+ description: Chrome Extension template(扩展模板)原则。Manifest V3(清单规范)、React、TypeScript。
4
+ ---
5
+
6
+ # Chrome Extension Template(扩展模板)
7
+
8
+ ## Tech Stack(技术栈)
9
+
10
+ | Component(组件) | Technology(技术) |
11
+ | --- | --- |
12
+ | Manifest(清单) | V3 |
13
+ | UI(界面) | React 18 |
14
+ | Language(语言) | TypeScript |
15
+ | Styling(样式) | Tailwind CSS |
16
+ | Bundler(打包器) | Vite |
17
+ | Storage(存储) | Chrome Storage API(存储 API) |
18
+
19
+ ---
20
+
21
+ ## Directory Structure(目录结构)
22
+
23
+ ```
24
+ project-name/
25
+ +-- src/
26
+ | +-- popup/ # Extension popup(扩展弹窗)
27
+ | +-- options/ # Options page(选项页)
28
+ | +-- background/ # Service worker(后台)
29
+ | +-- content/ # Content scripts(内容脚本)
30
+ | +-- components/
31
+ | +-- hooks/
32
+ | +-- lib/
33
+ | +-- storage.ts # Chrome storage helpers(Chrome 存储助手)
34
+ | +-- messaging.ts # Message passing(消息传递)
35
+ +-- public/
36
+ | +-- icons/
37
+ | +-- manifest.json
38
+ +-- package.json
39
+ ```
40
+
41
+ ---
42
+
43
+ ## Manifest V3 Concepts(Manifest V3 概念)
44
+
45
+ | Component(组件) | Purpose(作用) |
46
+ | --- | --- |
47
+ | Service Worker(后台) | Background processing(后台处理) |
48
+ | Content Scripts(内容脚本) | Page injection(页面注入) |
49
+ | Popup(弹窗) | User interface(用户界面) |
50
+ | Options Page(选项页) | Settings(设置) |
51
+
52
+ ---
53
+
54
+ ## Permissions(权限)
55
+
56
+ | Permission(权限) | Use(用途) |
57
+ | --- | --- |
58
+ | storage | 保存用户数据 |
59
+ | activeTab | 当前标签页访问 |
60
+ | scripting | 注入脚本 |
61
+ | host_permissions | 站点访问 |
62
+
63
+ ---
64
+
65
+ ## Setup Steps(设置步骤)
66
+
67
+ 1. `npm create vite {{name}} -- --template react-ts`
68
+ 2. 添加 Chrome 类型:`npm install -D @types/chrome`
69
+ 3. 配置 Vite 多入口
70
+ 4. 创建 `manifest.json`
71
+ 5. `npm run dev`(watch mode,监视模式)
72
+ 6. 在 Chrome 中加载:`chrome://extensions` -> Load unpacked(加载已解压扩展)
73
+
74
+ ---
75
+
76
+ ## Development Tips(开发提示)
77
+
78
+ | Task(任务) | Method(方法) |
79
+ | --- | --- |
80
+ | 调试 Popup(弹窗) | 右键图标 -> Inspect(检查) |
81
+ | 调试 Background(后台) | Extensions page(扩展管理页) -> Service worker(后台) |
82
+ | 调试 Content(内容脚本) | 页面 DevTools(开发者工具)控制台 |
83
+ | Hot Reload(热更新) | `npm run dev`(watch mode) |
84
+
85
+ ---
86
+
87
+ ## Best Practices(最佳实践)
88
+
89
+ - 使用 type-safe messaging(类型安全的消息传递)
90
+ - 将 Chrome APIs 包装成 Promise(承诺)
91
+ - 最小化权限
92
+ - 优雅处理离线
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: cli-tool
3
+ description: Node.js CLI tool template principles(CLI 工具模板原则)。Commander.js、interactive prompts(交互式提示)。
4
+ ---
5
+
6
+ # CLI Tool Template(CLI 工具模板)
7
+
8
+ ## Tech Stack(技术栈)
9
+
10
+ | Component(组件) | Technology(技术) |
11
+ | --- | --- |
12
+ | Runtime(运行时) | Node.js 20+ |
13
+ | Language(语言) | TypeScript |
14
+ | CLI Framework(CLI 框架) | Commander.js |
15
+ | Prompts(提示) | Inquirer.js |
16
+ | Output(输出) | chalk + ora(着色/加载) |
17
+ | Config(配置) | cosmiconfig |
18
+
19
+ ---
20
+
21
+ ## Directory Structure(目录结构)
22
+
23
+ ```
24
+ project-name/
25
+ +-- src/
26
+ | +-- index.ts # Entry point(入口)
27
+ | +-- cli.ts # CLI setup(CLI 设置)
28
+ | +-- commands/ # Command handlers(命令处理)
29
+ | +-- lib/
30
+ | | +-- config.ts # Config loader(配置加载)
31
+ | | +-- logger.ts # Styled output(样式化输出)
32
+ | +-- types/
33
+ +-- bin/
34
+ | +-- cli.js # Executable(可执行文件)
35
+ +-- package.json
36
+ ```
37
+
38
+ ---
39
+
40
+ ## CLI Design Principles(CLI 设计原则)
41
+
42
+ | Principle(原则) | Description(说明) |
43
+ | --- | --- |
44
+ | Subcommands(子命令) | Group related actions(分组相关操作) |
45
+ | Options(选项) | Flags with defaults(带默认值的标志) |
46
+ | Interactive(交互) | Prompts when needed(需要时提示) |
47
+ | Non-interactive(非交互) | Support `--yes` flags(支持 `--yes` 标志) |
48
+
49
+ ---
50
+
51
+ ## Key Components(关键组件)
52
+
53
+ | Component(组件) | Purpose(用途) |
54
+ | --- | --- |
55
+ | Commander | Command parsing(命令解析) |
56
+ | Inquirer | Interactive prompts(交互提示) |
57
+ | Chalk | Colored output(彩色输出) |
58
+ | Ora | Spinners/loading(旋转指示/加载) |
59
+ | Cosmiconfig | Config file discovery(配置文件发现) |
60
+
61
+ ---
62
+
63
+ ## Setup Steps(设置步骤)
64
+
65
+ 1. Create project directory(创建项目目录)
66
+ 2. `npm init -y`
67
+ 3. Install deps(安装依赖):`npm install commander @inquirer/prompts chalk ora cosmiconfig`
68
+ 4. Configure bin in package.json(配置 bin)
69
+ 5. `npm link` for local testing(本地测试)
70
+
71
+ ---
72
+
73
+ ## Publishing(发布)
74
+
75
+ ```bash
76
+ npm login
77
+ npm publish
78
+ ```
79
+
80
+ ---
81
+
82
+ ## Best Practices(最佳实践)
83
+
84
+ - Provide helpful error messages(清晰错误信息)
85
+ - Support both interactive and non-interactive modes(同时支持交互与非交互)
86
+ - Use consistent output styling(一致的输出样式)
87
+ - Validate inputs with Zod(使用 Zod 验证输入)
88
+ - Exit with proper codes(0 success, 1 error)
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: electron-desktop
3
+ description: Electron desktop app template principles(桌面应用模板原则)。Cross-platform(跨平台)、React、TypeScript。
4
+ ---
5
+
6
+ # Electron Desktop App Template(桌面应用模板)
7
+
8
+ ## Tech Stack(技术栈)
9
+
10
+ | Component(组件) | Technology(技术) |
11
+ | --- | --- |
12
+ | Framework(框架) | Electron 28+ |
13
+ | UI | React 18 |
14
+ | Language(语言) | TypeScript |
15
+ | Styling(样式) | Tailwind CSS |
16
+ | Bundler(打包器) | Vite + electron-builder |
17
+ | IPC(进程间通信) | Type-safe communication(类型安全通信) |
18
+
19
+ ---
20
+
21
+ ## Directory Structure(目录结构)
22
+
23
+ ```
24
+ project-name/
25
+ +-- electron/
26
+ | +-- main.ts # Main process(主进程)
27
+ | +-- preload.ts # Preload script(预加载脚本)
28
+ | +-- ipc/ # IPC handlers(IPC 处理)
29
+ +-- src/
30
+ | +-- App.tsx
31
+ | +-- components/
32
+ | | +-- TitleBar.tsx # Custom title bar(自定义标题栏)
33
+ | | +-- ...
34
+ | +-- hooks/
35
+ +-- public/
36
+ +-- package.json
37
+ ```
38
+
39
+ ---
40
+
41
+ ## Process Model(进程模型)
42
+
43
+ | Process(进程) | Role(角色) |
44
+ | --- | --- |
45
+ | Main(主进程) | Node.js, system access(系统访问) |
46
+ | Renderer(渲染进程) | Chromium, React UI(界面) |
47
+ | Preload(预加载) | Bridge(桥接), context isolation(上下文隔离) |
48
+
49
+ ---
50
+
51
+ ## Key Concepts(关键概念)
52
+
53
+ | Concept(概念) | Purpose(用途) |
54
+ | --- | --- |
55
+ | contextBridge | Safe API exposure(安全 API 暴露) |
56
+ | ipcMain/ipcRenderer | Process communication(进程通信) |
57
+ | nodeIntegration: false | Security(安全) |
58
+ | contextIsolation: true | Security(安全) |
59
+
60
+ ---
61
+
62
+ ## Setup Steps(设置步骤)
63
+
64
+ 1. `npm create vite {{name}} -- --template react-ts`
65
+ 2. Install(安装):`npm install -D electron electron-builder vite-plugin-electron`
66
+ 3. Create `electron/` directory(创建目录)
67
+ 4. Configure main process(配置主进程)
68
+ 5. `npm run electron:dev`
69
+
70
+ ---
71
+
72
+ ## Build Targets(构建目标)
73
+
74
+ | Platform(平台) | Output(输出) |
75
+ | --- | --- |
76
+ | Windows | NSIS, Portable |
77
+ | macOS | DMG, ZIP |
78
+ | Linux | AppImage, DEB |
79
+
80
+ ---
81
+
82
+ ## Best Practices(最佳实践)
83
+
84
+ - Use preload script for main/renderer bridge(主/渲染进程桥接)
85
+ - Type-safe IPC with typed handlers(类型安全 IPC)
86
+ - Custom title bar for native feel(原生感)
87
+ - Handle window state(maximize/minimize)
88
+ - Auto-updates with electron-updater(自动更新)
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: express-api
3
+ description: Express.js REST API 模板原则。TypeScript(类型系统)、Prisma(ORM)、JWT(身份验证)。
4
+ ---
5
+
6
+ # Express.js API Template(API 模板)
7
+
8
+ ## Tech Stack(技术栈)
9
+
10
+ | Component(组件) | Technology(技术) |
11
+ | --- | --- |
12
+ | Runtime(运行时) | Node.js 20+ |
13
+ | Framework(框架) | Express.js |
14
+ | Language(语言) | TypeScript |
15
+ | Database(数据库) | PostgreSQL + Prisma |
16
+ | Validation(校验) | Zod |
17
+ | Auth(认证) | JWT + bcrypt |
18
+
19
+ ---
20
+
21
+ ## Directory Structure(目录结构)
22
+
23
+ ```
24
+ project-name/
25
+ +-- prisma/
26
+ | +-- schema.prisma
27
+ +-- src/
28
+ | +-- app.ts # Express setup(Express 启动入口)
29
+ | +-- config/ # Environment(环境配置)
30
+ | +-- routes/ # Route handlers(路由处理)
31
+ | +-- controllers/ # Business logic(业务逻辑)
32
+ | +-- services/ # Data access(数据访问)
33
+ | +-- middleware/
34
+ | | +-- auth.ts # JWT verify(JWT 鉴权)
35
+ | | +-- error.ts # Error handler(错误处理)
36
+ | | +-- validate.ts # Zod validation(Zod 校验)
37
+ | +-- schemas/ # Zod schemas(Zod 模式)
38
+ | +-- utils/
39
+ +-- package.json
40
+ ```
41
+
42
+ ---
43
+
44
+ ## Middleware Stack(中间件栈)
45
+
46
+ | Order(顺序) | Middleware(中间件) |
47
+ | --- | --- |
48
+ | 1 | helmet(安全) |
49
+ | 2 | cors |
50
+ | 3 | morgan(日志) |
51
+ | 4 | body parsing(请求体解析) |
52
+ | 5 | routes(路由) |
53
+ | 6 | error handler(错误处理) |
54
+
55
+ ---
56
+
57
+ ## API Response Format(API 响应格式)
58
+
59
+ | Type(类型) | Structure(结构) |
60
+ | --- | --- |
61
+ | 成功 | `{ success: true, data: {...} }` |
62
+ | 错误 | `{ error: "message", details: [...] }` |
63
+
64
+ ---
65
+
66
+ ## Setup Steps(设置步骤)
67
+
68
+ 1. 创建项目目录
69
+ 2. `npm init -y`
70
+ 3. 安装依赖:`npm install express prisma zod bcrypt jsonwebtoken`
71
+ 4. 配置 Prisma
72
+ 5. `npm run db:push`
73
+ 6. `npm run dev`
74
+
75
+ ---
76
+
77
+ ## Best Practices(最佳实践)
78
+
79
+ - 分层架构(routes -> controllers -> services)
80
+ - 使用 Zod(校验)验证所有输入
81
+ - 集中式错误处理
82
+ - 基于环境的配置
83
+ - 使用 Prisma(ORM)进行类型安全的数据库访问