@mison/ag-kit-cn 2.0.1 → 3.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.
- package/{.agent → .agents}/agents/frontend-specialist.md +2 -2
- package/{.agent → .agents}/agents/orchestrator.md +1 -3
- package/.agents/mcp_config.json +22 -0
- package/{.agent → .agents}/rules/GEMINI.md +2 -2
- package/{.agent → .agents}/skills/api-patterns/SKILL.md +2 -2
- package/{.agent → .agents}/skills/app-builder/project-detection.md +1 -1
- package/{.agent → .agents}/skills/nextjs-react-expert/SKILL.md +2 -2
- package/{.agent → .agents}/skills/parallel-agents/SKILL.md +0 -1
- package/.agents/skills/refactoring-patterns/SKILL.md +43 -0
- package/{.agent → .agents}/workflows/create.md +1 -1
- package/CHANGELOG.md +21 -0
- package/README.md +54 -8
- package/bin/adapters/codex.js +29 -6
- package/bin/adapters/gemini.js +23 -3
- package/bin/ag-kit.js +512 -17
- package/bin/core/builder.js +1 -1
- package/bin/core/resource-loader.js +2 -2
- package/bin/utils/manifest.js +3 -0
- package/bin/utils.js +10 -3
- package/docs/PLAN.md +39 -0
- package/docs/TECH.md +136 -0
- package/package.json +12 -10
- package/scripts/ci-verify.js +95 -0
- package/scripts/clean.js +123 -0
- package/scripts/health-check.js +132 -0
- package/scripts/health-check.sh +6 -0
- package/tests/atomic-writer.test.js +47 -0
- package/tests/clean-script.test.js +77 -0
- package/tests/cli-smoke.test.js +479 -0
- package/tests/codex-adapter.test.js +132 -0
- package/tests/doctor.test.js +94 -0
- package/tests/gemini-adapter.test.js +30 -0
- package/tests/generator.test.js +48 -0
- package/tests/git-helper.test.js +53 -0
- package/tests/global-sync.test.js +133 -0
- package/tests/health-check-script.test.js +30 -0
- package/tests/managed-block.test.js +41 -0
- package/tests/manifest.test.js +97 -0
- package/tests/package-tarball.test.js +27 -0
- package/tests/phase-c.test.js +107 -0
- package/tests/standards-compliance.test.js +266 -0
- package/tests/transformer.test.js +74 -0
- package/.agent/mcp_config.json +0 -12
- package/docs/codex-rules-template.md +0 -36
- package/docs/mapping-spec.md +0 -68
- package/docs/multi-target-adapter.md +0 -80
- package/docs/official/README.md +0 -53
- package/docs/official/antigravity/agent-modes-settings.md +0 -64
- package/docs/official/antigravity/rules-workflows.md +0 -96
- package/docs/official/antigravity/skills.md +0 -147
- package/docs/official/codex/agents-md.md +0 -119
- package/docs/official/codex/config-advanced.md +0 -358
- package/docs/official/codex/config-basic.md +0 -141
- package/docs/official/codex/config-reference.md +0 -223
- package/docs/official/codex/config-sample.md +0 -216
- package/docs/official/codex/mcp.md +0 -107
- package/docs/official/codex/rules.md +0 -79
- package/docs/official/codex/skills.md +0 -114
- package/docs/official/sources-index.md +0 -32
- package/docs/operations.md +0 -145
- package/docs/terminology-style-guide.md +0 -69
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/charts.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/colors.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/icons.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/landing.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/products.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/prompts.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/react-performance.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/stacks/flutter.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/stacks/react-native.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/stacks/react.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/stacks/svelte.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/stacks/vue.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/styles.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/typography.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/ui-reasoning.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/ux-guidelines.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/data/web-interface.csv +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/scripts/core.py +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/scripts/design_system.py +0 -0
- /package/{.agent → .agents}/.shared/ui-ux-pro-max/scripts/search.py +0 -0
- /package/{.agent → .agents}/ARCHITECTURE.md +0 -0
- /package/{.agent → .agents}/agents/backend-specialist.md +0 -0
- /package/{.agent → .agents}/agents/code-archaeologist.md +0 -0
- /package/{.agent → .agents}/agents/database-architect.md +0 -0
- /package/{.agent → .agents}/agents/debugger.md +0 -0
- /package/{.agent → .agents}/agents/devops-engineer.md +0 -0
- /package/{.agent → .agents}/agents/documentation-writer.md +0 -0
- /package/{.agent → .agents}/agents/explorer-agent.md +0 -0
- /package/{.agent → .agents}/agents/game-developer.md +0 -0
- /package/{.agent → .agents}/agents/mobile-developer.md +0 -0
- /package/{.agent → .agents}/agents/penetration-tester.md +0 -0
- /package/{.agent → .agents}/agents/performance-optimizer.md +0 -0
- /package/{.agent → .agents}/agents/product-manager.md +0 -0
- /package/{.agent → .agents}/agents/product-owner.md +0 -0
- /package/{.agent → .agents}/agents/project-planner.md +0 -0
- /package/{.agent → .agents}/agents/qa-automation-engineer.md +0 -0
- /package/{.agent → .agents}/agents/security-auditor.md +0 -0
- /package/{.agent → .agents}/agents/seo-specialist.md +0 -0
- /package/{.agent → .agents}/agents/test-engineer.md +0 -0
- /package/{.agent → .agents}/scripts/auto_preview.py +0 -0
- /package/{.agent → .agents}/scripts/checklist.py +0 -0
- /package/{.agent → .agents}/scripts/session_manager.py +0 -0
- /package/{.agent → .agents}/scripts/verify_all.py +0 -0
- /package/{.agent → .agents}/skills/api-patterns/api-style.md +0 -0
- /package/{.agent → .agents}/skills/api-patterns/auth.md +0 -0
- /package/{.agent → .agents}/skills/api-patterns/documentation.md +0 -0
- /package/{.agent → .agents}/skills/api-patterns/graphql.md +0 -0
- /package/{.agent → .agents}/skills/api-patterns/rate-limiting.md +0 -0
- /package/{.agent → .agents}/skills/api-patterns/response.md +0 -0
- /package/{.agent → .agents}/skills/api-patterns/rest.md +0 -0
- /package/{.agent → .agents}/skills/api-patterns/scripts/api_validator.py +0 -0
- /package/{.agent → .agents}/skills/api-patterns/security-testing.md +0 -0
- /package/{.agent → .agents}/skills/api-patterns/trpc.md +0 -0
- /package/{.agent → .agents}/skills/api-patterns/versioning.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/agent-coordination.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/feature-building.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/scaffolding.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/tech-stack.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/templates/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/templates/express-api/TEMPLATE.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -0
- /package/{.agent → .agents}/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -0
- /package/{.agent → .agents}/skills/architecture/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/architecture/context-discovery.md +0 -0
- /package/{.agent → .agents}/skills/architecture/examples.md +0 -0
- /package/{.agent → .agents}/skills/architecture/pattern-selection.md +0 -0
- /package/{.agent → .agents}/skills/architecture/patterns-reference.md +0 -0
- /package/{.agent → .agents}/skills/architecture/trade-off-analysis.md +0 -0
- /package/{.agent → .agents}/skills/bash-linux/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/behavioral-modes/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/brainstorming/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/brainstorming/dynamic-questioning.md +0 -0
- /package/{.agent → .agents}/skills/clean-code/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/code-review-checklist/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/database-design/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/database-design/database-selection.md +0 -0
- /package/{.agent → .agents}/skills/database-design/indexing.md +0 -0
- /package/{.agent → .agents}/skills/database-design/migrations.md +0 -0
- /package/{.agent → .agents}/skills/database-design/optimization.md +0 -0
- /package/{.agent → .agents}/skills/database-design/orm-selection.md +0 -0
- /package/{.agent → .agents}/skills/database-design/schema-design.md +0 -0
- /package/{.agent → .agents}/skills/database-design/scripts/schema_validator.py +0 -0
- /package/{.agent → .agents}/skills/deployment-procedures/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/doc.md +0 -0
- /package/{.agent → .agents}/skills/documentation-templates/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/frontend-design/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/frontend-design/animation-guide.md +0 -0
- /package/{.agent → .agents}/skills/frontend-design/color-system.md +0 -0
- /package/{.agent → .agents}/skills/frontend-design/decision-trees.md +0 -0
- /package/{.agent → .agents}/skills/frontend-design/motion-graphics.md +0 -0
- /package/{.agent → .agents}/skills/frontend-design/scripts/accessibility_checker.py +0 -0
- /package/{.agent → .agents}/skills/frontend-design/scripts/ux_audit.py +0 -0
- /package/{.agent → .agents}/skills/frontend-design/typography-system.md +0 -0
- /package/{.agent → .agents}/skills/frontend-design/ux-psychology.md +0 -0
- /package/{.agent → .agents}/skills/frontend-design/visual-effects.md +0 -0
- /package/{.agent → .agents}/skills/game-development/2d-games/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/game-development/3d-games/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/game-development/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/game-development/game-art/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/game-development/game-audio/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/game-development/game-design/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/game-development/mobile-games/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/game-development/multiplayer/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/game-development/pc-games/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/game-development/vr-ar/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/game-development/web-games/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/geo-fundamentals/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/geo-fundamentals/scripts/geo_checker.py +0 -0
- /package/{.agent → .agents}/skills/i18n-localization/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/i18n-localization/scripts/i18n_checker.py +0 -0
- /package/{.agent → .agents}/skills/intelligent-routing/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/lint-and-validate/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/lint-and-validate/scripts/lint_runner.py +0 -0
- /package/{.agent → .agents}/skills/lint-and-validate/scripts/type_coverage.py +0 -0
- /package/{.agent → .agents}/skills/mcp-builder/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/mobile-design/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/mobile-design/decision-trees.md +0 -0
- /package/{.agent → .agents}/skills/mobile-design/mobile-backend.md +0 -0
- /package/{.agent → .agents}/skills/mobile-design/mobile-color-system.md +0 -0
- /package/{.agent → .agents}/skills/mobile-design/mobile-debugging.md +0 -0
- /package/{.agent → .agents}/skills/mobile-design/mobile-design-thinking.md +0 -0
- /package/{.agent → .agents}/skills/mobile-design/mobile-navigation.md +0 -0
- /package/{.agent → .agents}/skills/mobile-design/mobile-performance.md +0 -0
- /package/{.agent → .agents}/skills/mobile-design/mobile-testing.md +0 -0
- /package/{.agent → .agents}/skills/mobile-design/mobile-typography.md +0 -0
- /package/{.agent → .agents}/skills/mobile-design/platform-android.md +0 -0
- /package/{.agent → .agents}/skills/mobile-design/platform-ios.md +0 -0
- /package/{.agent → .agents}/skills/mobile-design/scripts/mobile_audit.py +0 -0
- /package/{.agent → .agents}/skills/mobile-design/touch-psychology.md +0 -0
- /package/{.agent → .agents}/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -0
- /package/{.agent → .agents}/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -0
- /package/{.agent → .agents}/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -0
- /package/{.agent → .agents}/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -0
- /package/{.agent → .agents}/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -0
- /package/{.agent → .agents}/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -0
- /package/{.agent → .agents}/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -0
- /package/{.agent → .agents}/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -0
- /package/{.agent → .agents}/skills/nextjs-react-expert/scripts/convert_rules.py +0 -0
- /package/{.agent → .agents}/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -0
- /package/{.agent → .agents}/skills/nodejs-best-practices/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/performance-profiling/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/performance-profiling/scripts/lighthouse_audit.py +0 -0
- /package/{.agent → .agents}/skills/plan-writing/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/powershell-windows/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/python-patterns/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/red-team-tactics/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/rust-pro/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/seo-fundamentals/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/seo-fundamentals/scripts/seo_checker.py +0 -0
- /package/{.agent → .agents}/skills/server-management/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/systematic-debugging/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/tailwind-patterns/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/tdd-workflow/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/testing-patterns/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/testing-patterns/scripts/test_runner.py +0 -0
- /package/{.agent → .agents}/skills/vulnerability-scanner/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/vulnerability-scanner/checklists.md +0 -0
- /package/{.agent → .agents}/skills/vulnerability-scanner/scripts/security_scan.py +0 -0
- /package/{.agent → .agents}/skills/web-design-guidelines/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/webapp-testing/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/webapp-testing/scripts/playwright_runner.py +0 -0
- /package/{.agent → .agents}/workflows/brainstorm.md +0 -0
- /package/{.agent → .agents}/workflows/debug.md +0 -0
- /package/{.agent → .agents}/workflows/deploy.md +0 -0
- /package/{.agent → .agents}/workflows/enhance.md +0 -0
- /package/{.agent → .agents}/workflows/orchestrate.md +0 -0
- /package/{.agent → .agents}/workflows/plan.md +0 -0
- /package/{.agent → .agents}/workflows/preview.md +0 -0
- /package/{.agent → .agents}/workflows/restore-localize-compat.md +0 -0
- /package/{.agent → .agents}/workflows/status.md +0 -0
- /package/{.agent → .agents}/workflows/test.md +0 -0
- /package/{.agent → .agents}/workflows/ui-ux-pro-max.md +0 -0
|
@@ -3,7 +3,7 @@ name: frontend-specialist
|
|
|
3
3
|
description: 资深前端架构师,构建可维护的 React/Next.js 系统,强调性能优先。适用于 UI 组件、样式、状态管理、响应式设计或前端架构。触发关键词:component, react, vue, ui, ux, css, tailwind, responsive。
|
|
4
4
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
5
5
|
model: inherit
|
|
6
|
-
skills: clean-code, react-
|
|
6
|
+
skills: clean-code, nextjs-react-expert, web-design-guidelines, tailwind-patterns, frontend-design, lint-and-validate
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# 资深前端架构师
|
|
@@ -599,7 +599,7 @@ _你必须在写代码前向用户展示这个块。_
|
|
|
599
599
|
|
|
600
600
|
---
|
|
601
601
|
|
|
602
|
-
> **注意(Note):** 本 Agent 会加载相关技能(clean-code、react-
|
|
602
|
+
> **注意(Note):** 本 Agent 会加载相关技能(clean-code、nextjs-react-expert 等)提供细节。请根据技能规则行事,不要复制模板。
|
|
603
603
|
|
|
604
604
|
---
|
|
605
605
|
|
|
@@ -120,7 +120,6 @@ skills: clean-code, parallel-agents, behavioral-modes, plan-writing, brainstormi
|
|
|
120
120
|
| `devops-engineer` | DevOps & Infra | 部署、CI/CD、PM2、监控 |
|
|
121
121
|
| `database-architect` | Database & Schema | Prisma、迁移、性能优化 |
|
|
122
122
|
| `mobile-developer` | Mobile Apps | React Native、Flutter、Expo |
|
|
123
|
-
| `api-designer` | API Design | REST、GraphQL、OpenAPI |
|
|
124
123
|
| `debugger` | Debugging | 根因分析、系统化排障 |
|
|
125
124
|
| `explorer-agent` | Discovery | 代码库探索、依赖关系 |
|
|
126
125
|
| `documentation-writer` | Documentation | **仅用户明确要求文档时** |
|
|
@@ -141,13 +140,12 @@ skills: clean-code, parallel-agents, behavioral-modes, plan-writing, brainstormi
|
|
|
141
140
|
| Agent | CAN Do | CANNOT Do |
|
|
142
141
|
| --- | --- | --- |
|
|
143
142
|
| `frontend-specialist` | 组件、UI、样式、hooks | ❌ 测试文件、API 路由、数据库 |
|
|
144
|
-
| `backend-specialist` | API、服务逻辑、DB
|
|
143
|
+
| `backend-specialist` | API、服务逻辑、DB 查询、OpenAPI/GraphQL schema | ❌ UI 组件、样式 |
|
|
145
144
|
| `test-engineer` | 测试文件、mock、覆盖率 | ❌ 业务生产代码 |
|
|
146
145
|
| `mobile-developer` | RN/Flutter 组件、移动 UX | ❌ Web 组件 |
|
|
147
146
|
| `database-architect` | schema、迁移、查询 | ❌ UI、API 逻辑 |
|
|
148
147
|
| `security-auditor` | 审计、漏洞、鉴权评估 | ❌ 新功能代码、UI |
|
|
149
148
|
| `devops-engineer` | CI/CD、部署、基础设施配置 | ❌ 应用业务代码 |
|
|
150
|
-
| `api-designer` | API 规范、OpenAPI、GraphQL schema | ❌ UI 代码 |
|
|
151
149
|
| `performance-optimizer` | 性能分析、优化、缓存策略 | ❌ 新功能开发 |
|
|
152
150
|
| `seo-specialist` | Meta、SEO 配置、分析埋点 | ❌ 业务逻辑 |
|
|
153
151
|
| `documentation-writer` | 文档、README、注释 | ❌ 代码逻辑、**未授权自动调用** |
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"context7": {
|
|
4
|
+
"command": "npx",
|
|
5
|
+
"args": ["-y", "@upstash/context7-mcp"],
|
|
6
|
+
"env": {
|
|
7
|
+
"CONTEXT7_API_KEY": "YOUR_API_KEY"
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
"context7_backup": {
|
|
11
|
+
"command": "npx",
|
|
12
|
+
"args": [
|
|
13
|
+
"-y",
|
|
14
|
+
"@iflow-mcp/context7-mcp@1.0.0"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"shadcn": {
|
|
18
|
+
"command": "npx",
|
|
19
|
+
"args": ["shadcn@latest", "mcp"]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -242,8 +242,8 @@ trigger: always_on
|
|
|
242
242
|
|
|
243
243
|
| 任务 | 读取 |
|
|
244
244
|
| ------------ | ------------------------------- |
|
|
245
|
-
| Web UI/UX | `.agent/frontend-specialist.md` |
|
|
246
|
-
| Mobile UI/UX | `.agent/mobile-developer.md` |
|
|
245
|
+
| Web UI/UX | `.agent/agents/frontend-specialist.md` |
|
|
246
|
+
| Mobile UI/UX | `.agent/agents/mobile-developer.md` |
|
|
247
247
|
|
|
248
248
|
**上述智能体文件包含:**
|
|
249
249
|
|
|
@@ -36,9 +36,9 @@ allowed-tools: Read, Write, Edit, Glob, Grep
|
|
|
36
36
|
|
|
37
37
|
| Need(需求) | Skill(技能) |
|
|
38
38
|
| ---- | ------------ |
|
|
39
|
-
| API implementation(API 落地实现) | `@[skills/
|
|
39
|
+
| API implementation(API 落地实现) | `@[skills/nodejs-best-practices]` |
|
|
40
40
|
| Data structure(数据库结构设计) | `@[skills/database-design]` |
|
|
41
|
-
| Security details(安全加固细节) | `@[skills/
|
|
41
|
+
| Security details(安全加固细节) | `@[skills/vulnerability-scanner]` |
|
|
42
42
|
|
|
43
43
|
---
|
|
44
44
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: react-
|
|
2
|
+
name: nextjs-react-expert
|
|
3
3
|
description: 来自 Vercel Engineering 的 React 与 Next.js 性能优化规则。适用于构建组件、优化性能、消除瀑布式请求(waterfalls)、缩减 bundle、性能代码审查与服务端/客户端优化实现。
|
|
4
4
|
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
|
|
5
5
|
---
|
|
@@ -106,7 +106,7 @@ allowed-tools: Read, Write, Edit, Glob, Grep, Bash
|
|
|
106
106
|
| 数据库优化 | `@[skills/database-design]` |
|
|
107
107
|
| 测试策略 | `@[skills/testing-patterns]` |
|
|
108
108
|
| UI/UX 设计原则 | `@[skills/frontend-design]` |
|
|
109
|
-
| TypeScript
|
|
109
|
+
| TypeScript/Node 实践 | `@[skills/nodejs-best-practices]` |
|
|
110
110
|
| 部署与 DevOps | `@[skills/deployment-procedures]` |
|
|
111
111
|
|
|
112
112
|
---
|
|
@@ -115,7 +115,6 @@ allowed-tools: Read, Glob, Grep
|
|
|
115
115
|
| `devops-engineer` | 运维开发 | "部署", "CI/CD(持续集成/交付)", "基础设施" |
|
|
116
116
|
| `database-architect` | 数据库架构 | "模式(Schema)", "Prisma", "迁移" |
|
|
117
117
|
| `mobile-developer` | 移动端开发 | "React Native", "Flutter", "移动端" |
|
|
118
|
-
| `api-designer` | API 设计 | "REST(表述性状态转移)", "GraphQL(图查询语言)", "OpenAPI(开放 API 规范)" |
|
|
119
118
|
| `debugger` | 调试专家 | "Bug(缺陷)", "错误", "不工作" |
|
|
120
119
|
| `explorer-agent` | 探索发现 | "探索", "映射", "结构" |
|
|
121
120
|
| `documentation-writer` | 文档编写 | "写文档", "创建 README(说明文档)", "生成 API 文档" |
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: refactoring-patterns
|
|
3
|
+
description: 遗留系统的安全重构模式。适用于代码异味治理、模块拆分、接口迁移与低风险迭代重构。
|
|
4
|
+
allowed-tools: Read, Write, Edit, Grep, Glob
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 重构模式(Refactoring Patterns)
|
|
8
|
+
|
|
9
|
+
## 目标
|
|
10
|
+
|
|
11
|
+
在不破坏现有行为的前提下,逐步提升可读性、可测试性与可维护性。
|
|
12
|
+
|
|
13
|
+
## 适用场景
|
|
14
|
+
|
|
15
|
+
- 巨型函数、深层嵌套、重复逻辑。
|
|
16
|
+
- 历史模块耦合严重,改一处影响多处。
|
|
17
|
+
- 需要在持续交付中逐步替换旧实现,而非一次性重写。
|
|
18
|
+
|
|
19
|
+
## 执行顺序(强制)
|
|
20
|
+
|
|
21
|
+
1. 先锁定行为:补齐回归测试或特征测试(characterization tests)。
|
|
22
|
+
2. 小步提交:每次只做一种重构动作(如提取函数、重命名、移动模块)。
|
|
23
|
+
3. 每步验证:确保测试通过后再进入下一步。
|
|
24
|
+
4. 接口稳定优先:对外 API 先兼容,内部再逐层替换。
|
|
25
|
+
|
|
26
|
+
## 常用模式
|
|
27
|
+
|
|
28
|
+
- 提取函数(Extract Function):把多职责逻辑拆成具名步骤。
|
|
29
|
+
- 引入门面(Facade):先封装旧接口,再在门面后逐步替换实现。
|
|
30
|
+
- 依赖倒置(Dependency Inversion):把硬编码依赖替换为可注入接口。
|
|
31
|
+
- 删除死代码(Dead Code Removal):仅在有覆盖和调用链确认后执行。
|
|
32
|
+
|
|
33
|
+
## 禁止事项
|
|
34
|
+
|
|
35
|
+
- 无测试直接大规模重写。
|
|
36
|
+
- 同一提交混入功能变更与重构变更。
|
|
37
|
+
- 修改外部契约却不提供迁移路径或兼容层。
|
|
38
|
+
|
|
39
|
+
## 完成标准
|
|
40
|
+
|
|
41
|
+
- 行为保持一致(回归测试通过)。
|
|
42
|
+
- 复杂度下降(函数长度、嵌套层级、重复率可观测改善)。
|
|
43
|
+
- 变更说明清晰(记录重构动机、范围与风险点)。
|
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,27 @@
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [3.0.0] - 2026-03-13
|
|
11
|
+
|
|
12
|
+
### 重大变更
|
|
13
|
+
|
|
14
|
+
- **仓库模板源统一**:仓库内统一收敛到 `.agents/` 作为唯一 Canonical 模板源;旧 `.agent/` 仅保留输入兼容,不再作为主路径。
|
|
15
|
+
- **项目级 Codex 体系稳定化**:Codex 项目安装/更新统一落到 `.agents/`,并继续支持从遗留 `.codex/` 自动迁移。
|
|
16
|
+
- **全局安装模型重构**:`ag-kit global sync/status` 成为统一的全局 Skills 安装/更新入口。
|
|
17
|
+
|
|
18
|
+
### 新增
|
|
19
|
+
|
|
20
|
+
- **全局 Skills 同步**:
|
|
21
|
+
- `codex` 同步到 `~/.codex/skills/`
|
|
22
|
+
- `gemini` 同时同步到 `~/.gemini/skills/` 与 `~/.gemini/antigravity/skills/`
|
|
23
|
+
- **状态契约收紧**:`ag-kit status --quiet` 与 `ag-kit global status --quiet` 统一输出 `installed / broken / missing`,并使用固定退出码 `0 / 1 / 2`。
|
|
24
|
+
- **跨平台验证增强**:新增 `ci:verify`、Node 版 `health-check` 与 GitHub Actions 跨平台工作流。
|
|
25
|
+
|
|
26
|
+
### 修复
|
|
27
|
+
|
|
28
|
+
- **旧索引兼容**:`update-all` 现在能自动归一化历史索引中的 `targets.full`,不再要求手工清理索引。
|
|
29
|
+
- **全局路径对齐真实工具**:修正之前全局路径和真实消费端不一致的问题,确保文档、测试、CI 与实际工具行为一致。
|
|
30
|
+
|
|
10
31
|
|
|
11
32
|
## [2.0.2] - 2026-02-04
|
|
12
33
|
|
package/README.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
# Antigravity Kit CN
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@mison/ag-kit-cn)
|
|
4
|
+
[](https://www.npmjs.com/package/@mison/ag-kit-cn)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
|
|
7
|
+
> 面向 Antigravity 与 Codex 的中文 AI Agent 模板工具包,提供 Skills、Agents、Workflows 与 ag-kit CLI 的一键安装、更新和治理。
|
|
4
8
|
>
|
|
5
9
|
> [!NOTE]
|
|
6
10
|
> 本仓库基于上游 vudovn/antigravity-kit 同步更新并进行中文化,同时提供 Codex(代码智能体环境)适配。
|
|
@@ -11,6 +15,12 @@
|
|
|
11
15
|
npm install -g @mison/ag-kit-cn
|
|
12
16
|
```
|
|
13
17
|
|
|
18
|
+
或使用 Bun:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
bun install -g @mison/ag-kit-cn
|
|
22
|
+
```
|
|
23
|
+
|
|
14
24
|
然后在你的目标项目中初始化:
|
|
15
25
|
|
|
16
26
|
```bash
|
|
@@ -37,12 +47,37 @@ npm install -g .
|
|
|
37
47
|
|
|
38
48
|
这会把所选目标结构安装到你的项目中(`gemini -> .agent`,`codex -> .agents`),并把 Codex 托管内容注入工作区 `AGENTS.md` 与 `antigravity.rules`(说明性托管区块,不是 Codex 官方 `.rules` 审批策略文件)。
|
|
39
49
|
|
|
50
|
+
### 全局安装(跨项目复用 Skills)
|
|
51
|
+
|
|
52
|
+
为区分“项目安装”和“全局安装”,提供专用命令面:
|
|
53
|
+
|
|
54
|
+
- 项目安装:`ag-kit init` / `ag-kit update`(功能最完整)
|
|
55
|
+
- 全局安装:`ag-kit global sync`(仅同步 Skills,跨项目复用)
|
|
56
|
+
- 默认行为:`ag-kit global sync` 未指定 `--target/--targets` 时,同步 `codex + gemini`
|
|
57
|
+
- 真实落盘:
|
|
58
|
+
- `codex` -> `~/.codex/skills/`
|
|
59
|
+
- `gemini` -> 同时写入 `~/.gemini/skills/` 与 `~/.gemini/antigravity/skills/`
|
|
60
|
+
|
|
61
|
+
示例:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
ag-kit global sync
|
|
65
|
+
ag-kit global sync --target codex
|
|
66
|
+
ag-kit global sync --target gemini
|
|
67
|
+
ag-kit global status
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
全局安装只同步 Skills,不写入 Rules/Agents/Workflows,避免全局副作用。
|
|
71
|
+
覆盖同名 Skill 前会自动备份;手动回滚方式见 `docs/TECH.md`。
|
|
72
|
+
|
|
73
|
+
规划与边界细节见:`docs/PLAN.md`(规划)与 `docs/TECH.md`(技术)。
|
|
74
|
+
|
|
40
75
|
### Codex 规则边界说明
|
|
41
76
|
|
|
42
77
|
- `antigravity.rules`:本项目生成并注入的托管说明文件,用于记录受管资源与运维约束。
|
|
43
78
|
- `.rules`(如 `~/.codex/rules/default.rules`):Codex 官方的命令审批/执行策略文件(Starlark 规则,支持 `prefix_rule()`)。
|
|
44
79
|
- 默认行为:本项目不会自动写入你的全局 `~/.codex/rules`,避免引入不可预期的全局副作用。
|
|
45
|
-
- 如需启用官方 `.rules` 审批策略,请参考 `docs/
|
|
80
|
+
- 如需启用官方 `.rules` 审批策略,请参考 `docs/TECH.md` 的「Codex 官方 `.rules`(手动配置)」小节。
|
|
46
81
|
|
|
47
82
|
### ⚠️ 关于 `.gitignore` 的重要说明
|
|
48
83
|
|
|
@@ -133,6 +168,8 @@ CLI(命令行界面)工具:
|
|
|
133
168
|
| `ag-kit update` | 更新当前项目已安装目标 |
|
|
134
169
|
| `ag-kit update-all` | 批量更新所有已登记工作区 |
|
|
135
170
|
| `ag-kit doctor` | 诊断安装完整性(可 `--fix` 自愈) |
|
|
171
|
+
| `ag-kit global sync` | 全局同步 Skills(默认同步 codex + gemini;其中 gemini 同步到 gemini-cli 与 antigravity) |
|
|
172
|
+
| `ag-kit global status` | 查看全局 Skills 安装状态 |
|
|
136
173
|
| `ag-kit exclude` | 管理全局索引排除清单 |
|
|
137
174
|
| `ag-kit status` | 检查安装状态 |
|
|
138
175
|
|
|
@@ -156,6 +193,13 @@ ag-kit exclude add --path /path/to/dir # 新增排除路径
|
|
|
156
193
|
ag-kit exclude remove --path /path/to/dir # 删除排除路径
|
|
157
194
|
```
|
|
158
195
|
|
|
196
|
+
### 状态命令约定
|
|
197
|
+
|
|
198
|
+
- `ag-kit status --quiet`:输出 `installed` / `broken` / `missing`
|
|
199
|
+
- `ag-kit global status --quiet`:输出 `installed` / `broken` / `missing`
|
|
200
|
+
- 退出码:`0=installed`,`1=broken`,`2=missing`
|
|
201
|
+
- `status` 面向自动化健康判断;如需问题明细,使用 `ag-kit doctor`
|
|
202
|
+
|
|
159
203
|
### 批量更新机制
|
|
160
204
|
|
|
161
205
|
- 执行 `ag-kit init` / `ag-kit update` 时,会把工作区路径登记到全局索引文件:
|
|
@@ -173,19 +217,21 @@ ag-kit exclude remove --path /path/to/dir # 删除排除路径
|
|
|
173
217
|
### 开发维护命令
|
|
174
218
|
|
|
175
219
|
```bash
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
220
|
+
bun run clean # 清理本地生成产物(如 web/.next、web/node_modules)
|
|
221
|
+
bun run clean:dry-run # 预览将被清理的路径
|
|
222
|
+
bun run test # 只执行 tests/ 目录下测试
|
|
223
|
+
bun run health-check # 一键执行全链路健康复检
|
|
180
224
|
```
|
|
181
225
|
|
|
182
226
|
如果你在 `web/` 子项目内开发,可按需执行:
|
|
183
227
|
|
|
184
228
|
```bash
|
|
185
|
-
|
|
186
|
-
|
|
229
|
+
bun install --cwd web
|
|
230
|
+
bun run lint --cwd web
|
|
187
231
|
```
|
|
188
232
|
|
|
233
|
+
> 说明:若你通过 `bun install -g` 安装 CLI,Bun 默认会阻止本包 `postinstall`。上游同名包冲突提示会在首次执行 `ag-kit init/update/update-all/global sync` 时给出。
|
|
234
|
+
|
|
189
235
|
## 卸载
|
|
190
236
|
|
|
191
237
|
### 卸载本机全局 CLI
|
package/bin/adapters/codex.js
CHANGED
|
@@ -132,16 +132,17 @@ class CodexAdapter extends BaseAdapter {
|
|
|
132
132
|
const CodexBuilder = require("../core/builder");
|
|
133
133
|
let buildTemp = "";
|
|
134
134
|
|
|
135
|
-
const
|
|
135
|
+
const hasAgentsRoot = fs.existsSync(path.join(installSource, ".agents"));
|
|
136
|
+
const hasLegacyAgentRoot = fs.existsSync(path.join(installSource, ".agent"));
|
|
136
137
|
const hasSkillsDir = fs.existsSync(path.join(installSource, "skills"));
|
|
137
138
|
const isCodexPrebuilt = fs.existsSync(path.join(installSource, "manifest.json"));
|
|
138
139
|
|
|
139
140
|
if (!isCodexPrebuilt) {
|
|
140
141
|
if (hasSkillsDir) {
|
|
141
|
-
this.log("🛠️
|
|
142
|
+
this.log("🛠️ 检测到模板目录格式,正在构建 Codex 结构...");
|
|
142
143
|
const mockRoot = fs.mkdtempSync(path.join(os.tmpdir(), "ag-kit-build-root-"));
|
|
143
|
-
const
|
|
144
|
-
this._copyDir(installSource,
|
|
144
|
+
const mockAgents = path.join(mockRoot, ".agents");
|
|
145
|
+
this._copyDir(installSource, mockAgents);
|
|
145
146
|
|
|
146
147
|
buildTemp = fs.mkdtempSync(path.join(os.tmpdir(), "ag-kit-build-out-"));
|
|
147
148
|
CodexBuilder.build(mockRoot, buildTemp);
|
|
@@ -154,8 +155,8 @@ class CodexAdapter extends BaseAdapter {
|
|
|
154
155
|
fs.rmSync(mockRoot, { recursive: true, force: true });
|
|
155
156
|
fs.rmSync(buildTemp, { recursive: true, force: true });
|
|
156
157
|
};
|
|
157
|
-
} else if (
|
|
158
|
-
this.log("🛠️
|
|
158
|
+
} else if (hasAgentsRoot) {
|
|
159
|
+
this.log("🛠️ 检测到仓库根目录格式(.agents),正在构建 Codex 结构...");
|
|
159
160
|
buildTemp = fs.mkdtempSync(path.join(os.tmpdir(), "ag-kit-build-out-"));
|
|
160
161
|
CodexBuilder.build(installSource, buildTemp);
|
|
161
162
|
installSource = buildTemp;
|
|
@@ -166,6 +167,23 @@ class CodexAdapter extends BaseAdapter {
|
|
|
166
167
|
if (previousCleanup) previousCleanup();
|
|
167
168
|
fs.rmSync(buildTemp, { recursive: true, force: true });
|
|
168
169
|
};
|
|
170
|
+
} else if (hasLegacyAgentRoot) {
|
|
171
|
+
this.log("🛠️ 检测到旧版仓库根目录格式(.agent),正在构建 Codex 结构...");
|
|
172
|
+
const mockRoot = fs.mkdtempSync(path.join(os.tmpdir(), "ag-kit-build-root-"));
|
|
173
|
+
const mockAgents = path.join(mockRoot, ".agents");
|
|
174
|
+
this._copyDir(path.join(installSource, ".agent"), mockAgents);
|
|
175
|
+
|
|
176
|
+
buildTemp = fs.mkdtempSync(path.join(os.tmpdir(), "ag-kit-build-out-"));
|
|
177
|
+
CodexBuilder.build(mockRoot, buildTemp);
|
|
178
|
+
installSource = buildTemp;
|
|
179
|
+
sourceLabel = `${sourceLabel}:compiled`;
|
|
180
|
+
|
|
181
|
+
const previousCleanup = cleanup;
|
|
182
|
+
cleanup = () => {
|
|
183
|
+
if (previousCleanup) previousCleanup();
|
|
184
|
+
fs.rmSync(mockRoot, { recursive: true, force: true });
|
|
185
|
+
fs.rmSync(buildTemp, { recursive: true, force: true });
|
|
186
|
+
};
|
|
169
187
|
}
|
|
170
188
|
}
|
|
171
189
|
|
|
@@ -320,6 +338,11 @@ class CodexAdapter extends BaseAdapter {
|
|
|
320
338
|
|
|
321
339
|
const manager = new ManifestManager(manifestPath, { target: "codex" });
|
|
322
340
|
manager.load();
|
|
341
|
+
if (manager.lastLoadError) {
|
|
342
|
+
result.status = "broken";
|
|
343
|
+
result.issues.push("Critical: manifest.json invalid JSON");
|
|
344
|
+
return result;
|
|
345
|
+
}
|
|
323
346
|
const drift = manager.checkDrift(managedDir);
|
|
324
347
|
|
|
325
348
|
if (drift.missing.length > 0) {
|
package/bin/adapters/gemini.js
CHANGED
|
@@ -11,11 +11,9 @@ class GeminiAdapter extends BaseAdapter {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
getInstalledVersion() {
|
|
14
|
-
// In v1, version was not strictly tracked per target in a file.
|
|
15
|
-
// We assume check existence of .agent/agents directory.
|
|
16
14
|
const agentDir = path.join(this.workspaceRoot, ".agent");
|
|
17
15
|
if (fs.existsSync(agentDir)) {
|
|
18
|
-
return
|
|
16
|
+
return null;
|
|
19
17
|
}
|
|
20
18
|
return null;
|
|
21
19
|
}
|
|
@@ -126,6 +124,28 @@ class GeminiAdapter extends BaseAdapter {
|
|
|
126
124
|
if (!fs.existsSync(agentDir)) {
|
|
127
125
|
return { status: "missing", issues: [".agent directory missing"] };
|
|
128
126
|
}
|
|
127
|
+
|
|
128
|
+
const issues = [];
|
|
129
|
+
const requiredDirs = ["agents", "skills", "rules", "workflows"];
|
|
130
|
+
for (const relPath of requiredDirs) {
|
|
131
|
+
const absPath = path.join(agentDir, relPath);
|
|
132
|
+
if (!fs.existsSync(absPath) || !fs.statSync(absPath).isDirectory()) {
|
|
133
|
+
issues.push(`Missing required directory: .agent/${relPath}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
const requiredFiles = ["rules/GEMINI.md", "agents/orchestrator.md"];
|
|
138
|
+
for (const relPath of requiredFiles) {
|
|
139
|
+
const absPath = path.join(agentDir, relPath);
|
|
140
|
+
if (!fs.existsSync(absPath) || !fs.statSync(absPath).isFile()) {
|
|
141
|
+
issues.push(`Missing required file: .agent/${relPath}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (issues.length > 0) {
|
|
146
|
+
return { status: "broken", issues };
|
|
147
|
+
}
|
|
148
|
+
|
|
129
149
|
return { status: "ok", issues: [] };
|
|
130
150
|
}
|
|
131
151
|
|