@mison/ag-kit-cn 2.0.1
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/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/core.py +258 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/search.py +106 -0
- package/.agent/ARCHITECTURE.md +285 -0
- package/.agent/agents/backend-specialist.md +268 -0
- package/.agent/agents/code-archaeologist.md +106 -0
- package/.agent/agents/database-architect.md +225 -0
- package/.agent/agents/debugger.md +225 -0
- package/.agent/agents/devops-engineer.md +242 -0
- package/.agent/agents/documentation-writer.md +104 -0
- package/.agent/agents/explorer-agent.md +73 -0
- package/.agent/agents/frontend-specialist.md +618 -0
- package/.agent/agents/game-developer.md +162 -0
- package/.agent/agents/mobile-developer.md +382 -0
- package/.agent/agents/orchestrator.md +438 -0
- package/.agent/agents/penetration-tester.md +188 -0
- package/.agent/agents/performance-optimizer.md +187 -0
- package/.agent/agents/product-manager.md +112 -0
- package/.agent/agents/product-owner.md +95 -0
- package/.agent/agents/project-planner.md +405 -0
- package/.agent/agents/qa-automation-engineer.md +103 -0
- package/.agent/agents/security-auditor.md +170 -0
- package/.agent/agents/seo-specialist.md +111 -0
- package/.agent/agents/test-engineer.md +158 -0
- package/.agent/mcp_config.json +12 -0
- package/.agent/rules/GEMINI.md +273 -0
- package/.agent/scripts/auto_preview.py +148 -0
- package/.agent/scripts/checklist.py +217 -0
- package/.agent/scripts/session_manager.py +120 -0
- package/.agent/scripts/verify_all.py +327 -0
- package/.agent/skills/api-patterns/SKILL.md +84 -0
- package/.agent/skills/api-patterns/api-style.md +42 -0
- package/.agent/skills/api-patterns/auth.md +24 -0
- package/.agent/skills/api-patterns/documentation.md +26 -0
- package/.agent/skills/api-patterns/graphql.md +41 -0
- package/.agent/skills/api-patterns/rate-limiting.md +31 -0
- package/.agent/skills/api-patterns/response.md +37 -0
- package/.agent/skills/api-patterns/rest.md +40 -0
- package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
- package/.agent/skills/api-patterns/security-testing.md +122 -0
- package/.agent/skills/api-patterns/trpc.md +41 -0
- package/.agent/skills/api-patterns/versioning.md +22 -0
- package/.agent/skills/app-builder/SKILL.md +75 -0
- package/.agent/skills/app-builder/agent-coordination.md +74 -0
- package/.agent/skills/app-builder/feature-building.md +53 -0
- package/.agent/skills/app-builder/project-detection.md +34 -0
- package/.agent/skills/app-builder/scaffolding.md +118 -0
- package/.agent/skills/app-builder/tech-stack.md +40 -0
- package/.agent/skills/app-builder/templates/SKILL.md +39 -0
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
- package/.agent/skills/architecture/SKILL.md +57 -0
- package/.agent/skills/architecture/context-discovery.md +43 -0
- package/.agent/skills/architecture/examples.md +94 -0
- package/.agent/skills/architecture/pattern-selection.md +68 -0
- package/.agent/skills/architecture/patterns-reference.md +50 -0
- package/.agent/skills/architecture/trade-off-analysis.md +77 -0
- package/.agent/skills/bash-linux/SKILL.md +201 -0
- package/.agent/skills/behavioral-modes/SKILL.md +264 -0
- package/.agent/skills/brainstorming/SKILL.md +164 -0
- package/.agent/skills/brainstorming/dynamic-questioning.md +359 -0
- package/.agent/skills/clean-code/SKILL.md +200 -0
- package/.agent/skills/code-review-checklist/SKILL.md +125 -0
- package/.agent/skills/database-design/SKILL.md +54 -0
- package/.agent/skills/database-design/database-selection.md +43 -0
- package/.agent/skills/database-design/indexing.md +39 -0
- package/.agent/skills/database-design/migrations.md +50 -0
- package/.agent/skills/database-design/optimization.md +36 -0
- package/.agent/skills/database-design/orm-selection.md +30 -0
- package/.agent/skills/database-design/schema-design.md +56 -0
- package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
- package/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/.agent/skills/doc.md +177 -0
- package/.agent/skills/documentation-templates/SKILL.md +194 -0
- package/.agent/skills/frontend-design/SKILL.md +418 -0
- package/.agent/skills/frontend-design/animation-guide.md +331 -0
- package/.agent/skills/frontend-design/color-system.md +307 -0
- package/.agent/skills/frontend-design/decision-trees.md +418 -0
- package/.agent/skills/frontend-design/motion-graphics.md +306 -0
- package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/.agent/skills/frontend-design/scripts/ux_audit.py +727 -0
- package/.agent/skills/frontend-design/typography-system.md +345 -0
- package/.agent/skills/frontend-design/ux-psychology.md +1118 -0
- package/.agent/skills/frontend-design/visual-effects.md +383 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
- package/.agent/skills/game-development/SKILL.md +167 -0
- package/.agent/skills/game-development/game-art/SKILL.md +185 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
- package/.agent/skills/game-development/game-design/SKILL.md +129 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.agent/skills/game-development/web-games/SKILL.md +150 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +155 -0
- package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/.agent/skills/i18n-localization/SKILL.md +154 -0
- package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/.agent/skills/intelligent-routing/SKILL.md +335 -0
- package/.agent/skills/lint-and-validate/SKILL.md +44 -0
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -0
- package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/.agent/skills/mcp-builder/SKILL.md +176 -0
- package/.agent/skills/mobile-design/SKILL.md +394 -0
- package/.agent/skills/mobile-design/decision-trees.md +516 -0
- package/.agent/skills/mobile-design/mobile-backend.md +491 -0
- package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
- package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
- package/.agent/skills/mobile-design/mobile-design-thinking.md +355 -0
- package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
- package/.agent/skills/mobile-design/mobile-performance.md +767 -0
- package/.agent/skills/mobile-design/mobile-testing.md +356 -0
- package/.agent/skills/mobile-design/mobile-typography.md +432 -0
- package/.agent/skills/mobile-design/platform-android.md +666 -0
- package/.agent/skills/mobile-design/platform-ios.md +561 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/.agent/skills/mobile-design/touch-psychology.md +537 -0
- package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +311 -0
- package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +241 -0
- package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +489 -0
- package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +263 -0
- package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
- package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +431 -0
- package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +683 -0
- package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +149 -0
- package/.agent/skills/nextjs-react-expert/SKILL.md +286 -0
- package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
- package/.agent/skills/parallel-agents/SKILL.md +194 -0
- package/.agent/skills/performance-profiling/SKILL.md +149 -0
- package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/.agent/skills/plan-writing/SKILL.md +152 -0
- package/.agent/skills/powershell-windows/SKILL.md +166 -0
- package/.agent/skills/python-patterns/SKILL.md +441 -0
- package/.agent/skills/red-team-tactics/SKILL.md +203 -0
- package/.agent/skills/rust-pro/SKILL.md +190 -0
- package/.agent/skills/seo-fundamentals/SKILL.md +135 -0
- package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +215 -0
- package/.agent/skills/server-management/SKILL.md +161 -0
- package/.agent/skills/systematic-debugging/SKILL.md +114 -0
- package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
- package/.agent/skills/tdd-workflow/SKILL.md +149 -0
- package/.agent/skills/testing-patterns/SKILL.md +178 -0
- package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
- package/.agent/skills/vulnerability-scanner/checklists.md +131 -0
- package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +459 -0
- package/.agent/skills/web-design-guidelines/SKILL.md +57 -0
- package/.agent/skills/webapp-testing/SKILL.md +187 -0
- package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/.agent/workflows/brainstorm.md +113 -0
- package/.agent/workflows/create.md +59 -0
- package/.agent/workflows/debug.md +103 -0
- package/.agent/workflows/deploy.md +176 -0
- package/.agent/workflows/enhance.md +63 -0
- package/.agent/workflows/orchestrate.md +242 -0
- package/.agent/workflows/plan.md +89 -0
- package/.agent/workflows/preview.md +80 -0
- package/.agent/workflows/restore-localize-compat.md +525 -0
- package/.agent/workflows/status.md +86 -0
- package/.agent/workflows/test.md +144 -0
- package/.agent/workflows/ui-ux-pro-max.md +295 -0
- package/AGENT_FLOW.md +609 -0
- package/CHANGELOG.md +68 -0
- package/LICENSE +21 -0
- package/README.md +260 -0
- package/bin/adapters/base.js +63 -0
- package/bin/adapters/codex.js +391 -0
- package/bin/adapters/gemini.js +137 -0
- package/bin/ag-kit.js +1336 -0
- package/bin/core/builder.js +80 -0
- package/bin/core/generator.js +59 -0
- package/bin/core/resource-loader.js +64 -0
- package/bin/core/transformer.js +208 -0
- package/bin/interactive.js +65 -0
- package/bin/utils/atomic-writer.js +97 -0
- package/bin/utils/git-helper.js +68 -0
- package/bin/utils/managed-block.js +65 -0
- package/bin/utils/manifest.js +241 -0
- package/bin/utils.js +82 -0
- package/docs/codex-rules-template.md +36 -0
- package/docs/mapping-spec.md +68 -0
- package/docs/multi-target-adapter.md +80 -0
- package/docs/official/README.md +53 -0
- package/docs/official/antigravity/agent-modes-settings.md +64 -0
- package/docs/official/antigravity/rules-workflows.md +96 -0
- package/docs/official/antigravity/skills.md +147 -0
- package/docs/official/codex/agents-md.md +119 -0
- package/docs/official/codex/config-advanced.md +358 -0
- package/docs/official/codex/config-basic.md +141 -0
- package/docs/official/codex/config-reference.md +223 -0
- package/docs/official/codex/config-sample.md +216 -0
- package/docs/official/codex/mcp.md +107 -0
- package/docs/official/codex/rules.md +79 -0
- package/docs/official/codex/skills.md +114 -0
- package/docs/official/sources-index.md +32 -0
- package/docs/operations.md +145 -0
- package/docs/terminology-style-guide.md +69 -0
- package/package.json +51 -0
- package/scripts/postinstall-check.js +112 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# tRPC 原则
|
|
2
|
+
|
|
3
|
+
> 为 TypeScript monorepos(TS 单仓)提供的端到端类型安全(type safety)。
|
|
4
|
+
|
|
5
|
+
## 何时使用
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
✅ 完美契合:
|
|
9
|
+
├── 前后端均为 TypeScript
|
|
10
|
+
├── monorepo(单仓)结构
|
|
11
|
+
├── 内部工具
|
|
12
|
+
├── 快速迭代开发
|
|
13
|
+
├── 类型安全(type safety)至关重要
|
|
14
|
+
|
|
15
|
+
❌ 不契合:
|
|
16
|
+
├── 非 TypeScript 客户端
|
|
17
|
+
├── 公共 API 服务
|
|
18
|
+
├── 需要遵循 REST 惯例
|
|
19
|
+
├── 多语言后端环境
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## 核心优势
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
为什么要用 tRPC:
|
|
26
|
+
├── 零 Schema(模式)维护成本
|
|
27
|
+
├── 端到端类型推断
|
|
28
|
+
├── 跨技术栈的 IDE(集成开发环境)自动补全
|
|
29
|
+
├── API 变更即时反映在前端
|
|
30
|
+
└── 无需代码生成步骤
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 集成模式
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
常见配置:
|
|
37
|
+
├── Next.js + tRPC(最常见)
|
|
38
|
+
├── monorepo(单仓)共享类型定义
|
|
39
|
+
├── Remix + tRPC
|
|
40
|
+
└── 任意 TS(TypeScript)前端 + 后端
|
|
41
|
+
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# 版本控制策略
|
|
2
|
+
|
|
3
|
+
> 从第一天起就规划 API 的演进。
|
|
4
|
+
|
|
5
|
+
## 决策因素
|
|
6
|
+
|
|
7
|
+
| 策略 | 实现方式 | 权衡 |
|
|
8
|
+
| :--- | :------- | :---------------- |
|
|
9
|
+
| **URI(路径)** | /v1/users | 清晰,易于缓存 |
|
|
10
|
+
| **Header(请求头)** | Accept-Version: 1 | URL 更整洁,但版本发现较难 |
|
|
11
|
+
| **Query(查询参数)** | ?version=1 | 易于添加,但显得凌乱 |
|
|
12
|
+
| **无(None)** | 小心演进 | 适合内部使用,对公共 API 风险高 |
|
|
13
|
+
|
|
14
|
+
## 版本哲学
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
考量:
|
|
18
|
+
├── 公共 API? → 在 URI 中包含版本
|
|
19
|
+
├── 仅内部使用? → 可能不需要版本控制
|
|
20
|
+
├── GraphQL? → 通常无版本(演进 Schema(模式))
|
|
21
|
+
├── tRPC? → 类型系统强制兼容性
|
|
22
|
+
```
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: app-builder
|
|
3
|
+
description: App Builder(应用构建编排器)主编排器。根据自然语言请求创建全栈应用,确定项目类型、选择技术栈并协调智能体。
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# App Builder - 应用构建编排器
|
|
8
|
+
|
|
9
|
+
> 分析用户请求,确定技术栈,规划结构,并协调智能体执行。
|
|
10
|
+
|
|
11
|
+
## 🎯 选择性阅读规则
|
|
12
|
+
|
|
13
|
+
**只阅读与当前请求相关的文件!** 先查看内容地图,再读取所需文档。
|
|
14
|
+
|
|
15
|
+
| File(文件) | Description(描述) | When to Read(阅读时机) |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| `project-detection.md` | 关键词矩阵、项目类型检测 | 开始新项目 |
|
|
18
|
+
| `tech-stack.md` | 2026 默认技术栈及替代方案 | 选择技术时 |
|
|
19
|
+
| `agent-coordination.md` | 智能体流水线、执行顺序 | 协调多智能体协作时 |
|
|
20
|
+
| `scaffolding.md` | 目录结构、核心文件 | 创建项目结构时 |
|
|
21
|
+
| `feature-building.md` | 功能分析、错误处理 | 在现有项目中添加功能时 |
|
|
22
|
+
| `templates/SKILL.md` | **Project templates(项目模板)** | 为新项目搭建脚手架时 |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 📦 模板(13)
|
|
27
|
+
|
|
28
|
+
用于新项目快速脚手架搭建。**只读取匹配模板!**
|
|
29
|
+
|
|
30
|
+
| Template(模板) | Tech Stack(技术栈) | When to Use(适用场景) |
|
|
31
|
+
| --- | --- | --- |
|
|
32
|
+
| [nextjs-fullstack](templates/nextjs-fullstack/TEMPLATE.md) | Next.js + Prisma | Full-stack(全栈)Web 应用 |
|
|
33
|
+
| [nextjs-saas](templates/nextjs-saas/TEMPLATE.md) | Next.js + Stripe | SaaS(软件即服务)产品 |
|
|
34
|
+
| [nextjs-static](templates/nextjs-static/TEMPLATE.md) | Next.js + Framer | Landing page(落地页) |
|
|
35
|
+
| [nuxt-app](templates/nuxt-app/TEMPLATE.md) | Nuxt 3 + Pinia | Vue(前端框架)全栈应用 |
|
|
36
|
+
| [express-api](templates/express-api/TEMPLATE.md) | Express + JWT | REST API(接口服务) |
|
|
37
|
+
| [python-fastapi](templates/python-fastapi/TEMPLATE.md) | FastAPI | Python API(Python 接口) |
|
|
38
|
+
| [react-native-app](templates/react-native-app/TEMPLATE.md) | Expo + Zustand | Mobile app(移动端应用) |
|
|
39
|
+
| [flutter-app](templates/flutter-app/TEMPLATE.md) | Flutter + Riverpod | Cross-platform(跨平台)移动端 |
|
|
40
|
+
| [electron-desktop](templates/electron-desktop/TEMPLATE.md) | Electron + React | Desktop app(桌面端应用) |
|
|
41
|
+
| [chrome-extension](templates/chrome-extension/TEMPLATE.md) | Chrome MV3 | Browser extension(浏览器扩展) |
|
|
42
|
+
| [cli-tool](templates/cli-tool/TEMPLATE.md) | Node.js + Commander | CLI(命令行)应用 |
|
|
43
|
+
| [monorepo-turborepo](templates/monorepo-turborepo/TEMPLATE.md) | Turborepo + pnpm | Monorepo(单仓多包) |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 🔗 相关智能体
|
|
48
|
+
|
|
49
|
+
| Agent(智能体) | 角色 |
|
|
50
|
+
| --- | --- |
|
|
51
|
+
| `project-planner` | 任务拆解、依赖图构建 |
|
|
52
|
+
| `frontend-specialist` | UI(用户界面)组件、页面 |
|
|
53
|
+
| `backend-specialist` | API(接口)、业务逻辑 |
|
|
54
|
+
| `database-architect` | 数据结构(Schema)、迁移 |
|
|
55
|
+
| `devops-engineer` | 部署、预览 |
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 使用示例
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
用户:“做一个带照片分享和点赞功能的 Instagram 克隆”
|
|
63
|
+
|
|
64
|
+
App Builder(应用构建编排器)过程:
|
|
65
|
+
1. 项目类型:Social Media App(社交媒体应用)
|
|
66
|
+
2. 技术栈:Next.js + Prisma + Cloudinary + Clerk
|
|
67
|
+
3. 创建计划:
|
|
68
|
+
├─ Database schema(数据库结构):users, posts, likes, follows
|
|
69
|
+
├─ API routes(API 路由):12 个 endpoints(端点)
|
|
70
|
+
├─ Pages(页面):feed, profile, upload
|
|
71
|
+
└─ Components(组件):PostCard, Feed, LikeButton
|
|
72
|
+
4. 协调智能体
|
|
73
|
+
5. 汇报进度
|
|
74
|
+
6. 启动预览
|
|
75
|
+
```
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Agent Coordination(智能体协同)
|
|
2
|
+
|
|
3
|
+
> App Builder(应用构建编排器)如何编排各领域专家 Agent。
|
|
4
|
+
|
|
5
|
+
## Agent Pipeline(智能体流水线)
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
9
|
+
│ APP BUILDER(编排器) │
|
|
10
|
+
└─────────────────────────────────────────────────────────────┘
|
|
11
|
+
│
|
|
12
|
+
▼
|
|
13
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
14
|
+
│ PROJECT PLANNER(项目规划) │
|
|
15
|
+
│ • 任务拆解 │
|
|
16
|
+
│ • 依赖图 │
|
|
17
|
+
│ • 文件结构规划 │
|
|
18
|
+
│ • 在项目根目录创建 {task-slug}.md(MANDATORY) │
|
|
19
|
+
└─────────────────────────────────────────────────────────────┘
|
|
20
|
+
│
|
|
21
|
+
▼
|
|
22
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
23
|
+
│ CHECKPOINT: PLAN VERIFICATION(计划验证) │
|
|
24
|
+
│ 🔴 VERIFY(验证):项目根目录是否存在 {task-slug}.md? │
|
|
25
|
+
│ 🔴 若否 → 停止 → 先创建计划文件 │
|
|
26
|
+
│ 🔴 若是 → 继续执行专家 Agent │
|
|
27
|
+
└─────────────────────────────────────────────────────────────┘
|
|
28
|
+
│
|
|
29
|
+
┌───────────────────┼───────────────────┐
|
|
30
|
+
▼ ▼ ▼
|
|
31
|
+
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
32
|
+
│ DATABASE │ │ BACKEND │ │ FRONTEND │
|
|
33
|
+
│ ARCHITECT │ │ SPECIALIST │ │ SPECIALIST │
|
|
34
|
+
│ │ │ │ │ │
|
|
35
|
+
│ • Schema design │ │ • API routes │ │ • Components │
|
|
36
|
+
│ (模式设计) │ │ (接口路由) │ │ (组件) │
|
|
37
|
+
│ • Migrations │ │ • Controllers │ │ • Pages │
|
|
38
|
+
│ (迁移) │ │ (控制器) │ │ (页面) │
|
|
39
|
+
│ • Seed data │ │ • Middleware │ │ • Styling │
|
|
40
|
+
│ (种子数据) │ │ (中间件) │ │ (样式) │
|
|
41
|
+
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
42
|
+
│ │ │
|
|
43
|
+
└───────────────────┼───────────────────┘
|
|
44
|
+
▼
|
|
45
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
46
|
+
│ PARALLEL PHASE(并行阶段,可选) │
|
|
47
|
+
│ • Security Auditor(安全审计) → 漏洞检查 │
|
|
48
|
+
│ • Test Engineer(测试工程) → 单元测试 │
|
|
49
|
+
│ • Performance Optimizer(性能优化) → 包体分析 │
|
|
50
|
+
└─────────────────────────────────────────────────────────────┘
|
|
51
|
+
│
|
|
52
|
+
▼
|
|
53
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
54
|
+
│ DEVOPS ENGINEER │
|
|
55
|
+
│ • 环境设置 │
|
|
56
|
+
│ • 预览部署 │
|
|
57
|
+
│ • 健康检查 │
|
|
58
|
+
└─────────────────────────────────────────────────────────────┘
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Execution Order(执行顺序)
|
|
62
|
+
|
|
63
|
+
| Phase(阶段) | Agent(s)(智能体) | Parallel?(是否并行) | Prerequisite(前置条件) | CHECKPOINT(检查点) |
|
|
64
|
+
| --- | --- | --- | --- | --- |
|
|
65
|
+
| 0 | Socratic Gate(苏格拉底之门) | ❌ | - | ✅ Ask 3 questions(先问 3 个问题) |
|
|
66
|
+
| 1 | Project Planner(项目规划) | ❌ | Questions answered(问题已回答) | ✅ **`{task-slug}.md` created(已创建)** |
|
|
67
|
+
| 1.5 | **PLAN VERIFICATION(计划验证)** | ❌ | `{task-slug}.md` exists(已存在) | ✅ **File exists in root(根目录存在)** |
|
|
68
|
+
| 2 | Database Architect(数据库架构师) | ❌ | Plan ready(计划就绪) | Schema defined(模式已定义) |
|
|
69
|
+
| 3 | Backend Specialist(后端专家) | ❌ | Schema ready(模式就绪) | API routes created(路由已创建) |
|
|
70
|
+
| 4 | Frontend Specialist(前端专家) | ✅ | API ready (partial)(接口部分就绪) | UI components ready(组件就绪) |
|
|
71
|
+
| 5 | Security Auditor(安全审计员), Test Engineer(测试工程师) | ✅ | Code ready(代码就绪) | Tests & audit pass(测试与审计通过) |
|
|
72
|
+
| 6 | DevOps Engineer(运维工程师) | ❌ | All code ready(代码就绪) | Deployment ready(部署就绪) |
|
|
73
|
+
|
|
74
|
+
> 🔴 **CRITICAL(关键):** Phase 1.5 is MANDATORY。没有 `{task-slug}.md` 验证,任何专家 Agent 不得进行后续操作。
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Feature Building(功能构建)
|
|
2
|
+
|
|
3
|
+
> 如何分析并实现新功能。
|
|
4
|
+
|
|
5
|
+
## Feature Analysis(功能分析)
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
Request(请求): “增加支付系统”
|
|
9
|
+
|
|
10
|
+
Analysis(分析):
|
|
11
|
+
├── 所需变更:
|
|
12
|
+
│ ├── 数据库: orders, payments 表
|
|
13
|
+
│ ├── 后端: /api/checkout, /api/webhooks/stripe 路由
|
|
14
|
+
│ ├── 前端: CheckoutForm, PaymentSuccess 组件
|
|
15
|
+
│ └── 配置: Stripe API(应用程序接口)密钥
|
|
16
|
+
│
|
|
17
|
+
├── Dependencies(依赖):
|
|
18
|
+
│ ├── stripe package(stripe 包)
|
|
19
|
+
│ └── 现有的用户认证系统
|
|
20
|
+
│
|
|
21
|
+
└── Estimated Time(预计耗时): 15-20 分钟
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Iterative Enhancement Process(迭代增强流程)
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
1. 分析现有项目
|
|
28
|
+
2. 创建变更计划
|
|
29
|
+
3. 向用户展示计划
|
|
30
|
+
4. 获得批准
|
|
31
|
+
5. 应用变更
|
|
32
|
+
6. 测试
|
|
33
|
+
7. 显示预览
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Error Handling(错误处理)
|
|
37
|
+
|
|
38
|
+
| Error Type(错误类型) | Solution Strategy(处理策略) |
|
|
39
|
+
| --- | --- |
|
|
40
|
+
| TypeScript Error(类型错误) | 修复类型,添加缺失导入 |
|
|
41
|
+
| Missing Dependency(缺失依赖) | 运行 npm install |
|
|
42
|
+
| Port Conflict(端口冲突) | 建议替代端口 |
|
|
43
|
+
| Database Error(数据库错误) | 检查迁移,验证连接 |
|
|
44
|
+
|
|
45
|
+
## Recovery Strategy(恢复策略)
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
1. 检测错误
|
|
49
|
+
2. 尝试自动修复
|
|
50
|
+
3. 如果失败,向用户报告
|
|
51
|
+
4. 建议替代方案
|
|
52
|
+
5. 必要时回滚
|
|
53
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Project Type Detection(项目类型检测)
|
|
2
|
+
|
|
3
|
+
> 分析用户请求,确定项目类型与模板。
|
|
4
|
+
|
|
5
|
+
## Keyword Matrix(关键词矩阵)
|
|
6
|
+
|
|
7
|
+
| Keywords(关键词) | Project Type(项目类型) | Template(模板) |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| blog, post, article | Blog(博客) | astro-static |
|
|
10
|
+
| e-commerce, product, cart, payment | E-commerce(电商) | nextjs-saas |
|
|
11
|
+
| dashboard, panel, management | Admin Dashboard(管理面板) | nextjs-fullstack |
|
|
12
|
+
| api, backend, service, rest | API Service(接口服务) | express-api |
|
|
13
|
+
| python, fastapi, django | Python API(Python 接口) | python-fastapi |
|
|
14
|
+
| mobile, android, ios, react native | Mobile App(移动端应用,RN / React Native) | react-native-app |
|
|
15
|
+
| flutter, dart | Mobile App(Flutter) | flutter-app |
|
|
16
|
+
| portfolio, personal, cv | Portfolio(作品集) | nextjs-static |
|
|
17
|
+
| crm, customer, sales | CRM(客户管理) | nextjs-fullstack |
|
|
18
|
+
| saas, subscription, stripe | SaaS(软件即服务) | nextjs-saas |
|
|
19
|
+
| landing, promotional, marketing | Landing Page(落地页) | nextjs-static |
|
|
20
|
+
| docs, documentation | Documentation(文档) | astro-static |
|
|
21
|
+
| extension, plugin, chrome | Browser Extension(浏览器扩展) | chrome-extension |
|
|
22
|
+
| desktop, electron | Desktop App(桌面应用) | electron-desktop |
|
|
23
|
+
| cli, command line, terminal | CLI Tool(命令行工具) | cli-tool |
|
|
24
|
+
| monorepo, workspace | Monorepo(单体仓库) | monorepo-turborepo |
|
|
25
|
+
|
|
26
|
+
## Detection Process(检测流程)
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
1. Tokenize user request(对用户请求分词)
|
|
30
|
+
2. 提取关键词
|
|
31
|
+
3. 确定项目类型
|
|
32
|
+
4. 检测缺失信息 → 转发给 conversation-manager(对话管理器)
|
|
33
|
+
5. 建议技术栈
|
|
34
|
+
```
|
|
@@ -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
|
+
- 优雅处理离线
|