jarvis-agent-factory 4.3.8 → 4.4.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/README.md +49 -48
- package/dist/package.json +1 -1
- package/dist/src/cli/commands/deepinit.d.ts +2 -0
- package/dist/src/cli/commands/deepinit.js +98 -0
- package/dist/src/cli/commands/deepinit.js.map +1 -0
- package/dist/src/cli/index.js +1 -0
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/utils/args.d.ts +9 -0
- package/dist/src/cli/utils/args.js +21 -1
- package/dist/src/cli/utils/args.js.map +1 -1
- package/dist/src/deepinit/generator.d.ts +79 -0
- package/dist/src/deepinit/generator.js +594 -0
- package/dist/src/deepinit/generator.js.map +1 -0
- package/dist/src/deepinit/index.d.ts +4 -0
- package/dist/src/deepinit/index.js +4 -0
- package/dist/src/deepinit/index.js.map +1 -0
- package/dist/src/deepinit/manifest.d.ts +43 -0
- package/dist/src/deepinit/manifest.js +198 -0
- package/dist/src/deepinit/manifest.js.map +1 -0
- package/dist/src/deepinit/scanner.d.ts +33 -0
- package/dist/src/deepinit/scanner.js +125 -0
- package/dist/src/deepinit/scanner.js.map +1 -0
- package/dist/src/engine/server.js +124 -3
- package/dist/src/engine/server.js.map +1 -1
- package/dist/src/install.js +39 -0
- package/dist/src/install.js.map +1 -1
- package/dist/src/templates/deepinit/AGENTS.md.tmpl +33 -0
- package/dist/src/templates/deepinit/CLAUDE.md.tmpl +7 -0
- package/dist/src/templates/platforms/claude/agents/algorithm-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/android-dev-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/android-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/android-state-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/android-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/android-ui-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/api-contract-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/api-test-expert.md +2 -1
- package/dist/src/templates/platforms/claude/agents/backend-api-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/backend-architect.md +1 -1
- package/dist/src/templates/platforms/claude/agents/backend-data-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/backend-dev-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/backend-logic-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/backend-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/backend-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/browser-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/browser-use-expert.md +3 -1
- package/dist/src/templates/platforms/claude/agents/change-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/code-explore-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/database-architect.md +1 -1
- package/dist/src/templates/platforms/claude/agents/diff-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/docs-engineer.md +1 -1
- package/dist/src/templates/platforms/claude/agents/docs-research-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/e2e-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/expo-dev-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/expo-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/expo-state-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/expo-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/expo-ui-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/external-resource-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/flutter-dev-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/flutter-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/flutter-state-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/flutter-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/flutter-ui-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/frontend-architect.md +1 -1
- package/dist/src/templates/platforms/claude/agents/frontend-dev-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/frontend-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/frontend-state-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/frontend-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/frontend-ui-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/infra-deploy-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/ios-dev-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/ios-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/ios-state-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/ios-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/ios-ui-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/perf-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/perf-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/planner.md +1 -1
- package/dist/src/templates/platforms/claude/agents/project-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/qa-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/react-native-dev-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/react-native-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/react-native-state-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/react-native-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/react-native-ui-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/remediation-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/remediation-planner.md +1 -1
- package/dist/src/templates/platforms/claude/agents/review-fix-optimize.md +1 -1
- package/dist/src/templates/platforms/claude/agents/review-only.md +1 -1
- package/dist/src/templates/platforms/claude/agents/security-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/skill-assignment-expert.md +2 -1
- package/dist/src/templates/platforms/claude/agents/taro-dev-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/taro-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/taro-state-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/taro-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/taro-ui-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/task-design.md +1 -1
- package/dist/src/templates/platforms/claude/agents/test-doc-writer.md +1 -1
- package/dist/src/templates/platforms/claude/agents/test-executor.md +2 -1
- package/dist/src/templates/platforms/claude/commands/ask.md +1 -1
- package/dist/src/templates/platforms/claude/commands/auto.md +1 -1
- package/dist/src/templates/platforms/claude/commands/backend.md +47 -1
- package/dist/src/templates/platforms/claude/commands/browser.md +60 -0
- package/dist/src/templates/platforms/claude/commands/bug-fix.md +3 -1
- package/dist/src/templates/platforms/claude/commands/cancel.md +129 -0
- package/dist/src/templates/platforms/claude/commands/consult.md +50 -0
- package/dist/src/templates/platforms/claude/commands/debug.md +14 -1
- package/dist/src/templates/platforms/claude/commands/evaluate.md +13 -1
- package/dist/src/templates/platforms/claude/commands/frontend.md +47 -1
- package/dist/src/templates/platforms/claude/commands/hotfix.md +13 -1
- package/dist/src/templates/platforms/claude/commands/improve.md +1 -1
- package/dist/src/templates/platforms/claude/commands/jarvis.md +46 -1
- package/dist/src/templates/platforms/claude/commands/migrate.md +13 -1
- package/dist/src/templates/platforms/claude/commands/mobile.md +218 -0
- package/dist/src/templates/platforms/claude/commands/publish.md +3 -1
- package/dist/src/templates/platforms/claude/commands/refactor.md +1 -1
- package/dist/src/templates/platforms/claude/commands/release.md +14 -1
- package/dist/src/templates/platforms/claude/commands/research.md +1 -1
- package/dist/src/templates/platforms/claude/commands/review-fix.md +3 -1
- package/dist/src/templates/platforms/claude/commands/review.md +3 -1
- package/dist/src/templates/platforms/claude/commands/simplify.md +1 -1
- package/dist/src/templates/platforms/claude/commands/skill-flow.md +1 -1
- package/dist/src/templates/platforms/claude/commands/sync.md +3 -1
- package/dist/src/templates/platforms/claude/commands/task-design.md +92 -0
- package/dist/src/templates/platforms/claude/commands/test-e2e.md +1 -1
- package/dist/src/templates/platforms/claude/commands/test-integration.md +1 -1
- package/dist/src/templates/platforms/claude/commands/test-perf.md +1 -1
- package/dist/src/templates/platforms/claude/commands/test-security.md +1 -1
- package/dist/src/templates/platforms/claude/commands/test-unit.md +1 -1
- package/dist/src/templates/platforms/claude/commands/trace.md +1 -1
- package/dist/src/templates/platforms/claude/skills/agent-browser/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/behavioral-guidelines/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/browser-testing/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/browser-use/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/browser-use/references/cdp-python.md +1 -1
- package/dist/src/templates/platforms/claude/skills/browser-use/references/multi-session.md +1 -1
- package/dist/src/templates/platforms/claude/skills/chinese-documentation/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/code-quality-gate/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/code-review-and-quality/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/code-simplification/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/code-standards/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/context-engineering/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/debugging-and-error-recovery/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/debugging-deep/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/documentation-and-adrs/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/find-docs/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/find-skills/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/finishing-a-development-branch/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/frontend-design/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/git-workflow-and-versioning/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/idea-refine/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/incremental-implementation/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/jarvis-reference/SKILL.md +12 -20
- package/dist/src/templates/platforms/claude/skills/mcp-builder/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/perf-testing/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/planning-and-task-breakdown/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/refactoring/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/security-and-hardening/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/security-testing/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/shipping-and-launch/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/source-driven-development/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/spec-driven-development/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/test-data-factory/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/test-driven-development/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/using-agent-skills/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/verification-before-completion/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/writing-skills/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/writing-skills/anthropic-best-practices.md +1 -1
- package/dist/src/templates/platforms/claude/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +1 -1
- package/dist/src/templates/platforms/claude/skills/writing-skills/persuasion-principles.md +1 -1
- package/dist/src/templates/platforms/claude/skills/writing-skills/testing-skills-with-subagents.md +1 -1
- package/dist/web/commands-reference.html +74 -138
- package/dist/web/guide.html +500 -0
- package/package.json +1 -1
- package/dist/src/templates/platforms/claude/commands/algorithm-expert.md +0 -47
- package/dist/src/templates/platforms/claude/commands/android.md +0 -163
- package/dist/src/templates/platforms/claude/commands/backend-architect.md +0 -47
- package/dist/src/templates/platforms/claude/commands/browser-explore.md +0 -159
- package/dist/src/templates/platforms/claude/commands/browser-test.md +0 -145
- package/dist/src/templates/platforms/claude/commands/expo.md +0 -167
- package/dist/src/templates/platforms/claude/commands/flutter.md +0 -168
- package/dist/src/templates/platforms/claude/commands/frontend-architect.md +0 -47
- package/dist/src/templates/platforms/claude/commands/ios.md +0 -164
- package/dist/src/templates/platforms/claude/commands/react-native.md +0 -168
- package/dist/src/templates/platforms/claude/commands/taro.md +0 -165
- package/dist/src/templates/platforms/claude/commands/task-bdd.md +0 -52
- package/dist/src/templates/platforms/claude/commands/task-ddd.md +0 -57
- package/dist/src/templates/platforms/claude/commands/task-tdd.md +0 -54
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Jarvis Agent Factory · 贾维斯智能体工厂
|
|
2
2
|
|
|
3
3
|
[](./LICENSE)
|
|
4
|
-
[](https://github.com/Wjl1224734792/Jarvis-Agent-Factory/releases)
|
|
5
5
|
[](https://www.npmjs.com/package/jarvis-agent-factory)
|
|
6
6
|
[](https://github.com/Wjl1224734792/visual-primitives-mcp)
|
|
7
7
|
<br>💡 **纯文本模型(如 DeepSeek)主力用户** → 搭配 [Visual Primitives MCP](https://github.com/Wjl1224734792/visual-primitives-mcp) 获得视觉理解能力
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
AI 编程助手配置集 + MCP 编排引擎。从想法到交付的完整软件开发流水线,<br>**仅支持 Claude Code**。
|
|
11
11
|
|
|
12
|
-
> **v4.
|
|
12
|
+
> **v4.4.0** — 新增 /cancel 取消指令,完善会话生命周期管理
|
|
13
13
|
|
|
14
14
|
## 快速开始
|
|
15
15
|
|
|
@@ -175,7 +175,8 @@ GITHUB_TOKEN=xxx # GitHub 个人访问令牌(sync-github-releases 需要
|
|
|
175
175
|
| 流水线看板 | `#/dashboard` | 会话列表(任务名/指令标签/Gate状态)· MCP 平台接入状态 · 置顶/归档/删除 |
|
|
176
176
|
| 归档记录 | `#/archive` | 已归档运行记录 · 按任务名搜索过滤 · 恢复到看板 · 永久删除 |
|
|
177
177
|
| 智能体配置 | `#/agents` | MCP 接入指示 · Agent 搜索/筛选 · 模型/思考等级配置 · 文件同步 |
|
|
178
|
-
| 项目介绍 | `/commands-reference.html` | 项目概览 ·
|
|
178
|
+
| 项目介绍 | `/commands-reference.html` | 项目概览 · 31条指令流程详解 · 71个Agent目录 · 流水线架构 · 使用推荐 |
|
|
179
|
+
| 操作指南 | `/guide.html` | 完整使用指南:架构原理 · 编排机制 · 15条流水线 · 31条指令 · 71个Agent · 场景推荐 |
|
|
179
180
|
|
|
180
181
|
侧边栏实时显示 Claude Code 的 MCP 连接状态:绿点 = 已接入,灰点 = 未接入。
|
|
181
182
|
|
|
@@ -325,7 +326,7 @@ test-doc-writer → test-executor → remediation-expert
|
|
|
325
326
|
| | Claude Code |
|
|
326
327
|
|---|:--:|
|
|
327
328
|
| Agents | 71 |
|
|
328
|
-
| Commands |
|
|
329
|
+
| Commands | 30 |
|
|
329
330
|
| Skills | 35 |
|
|
330
331
|
| Pipeline | 15 条流水线(full/lite/frontend/backend/refactor/hotfix/migrate/evaluate/debug/research/release/ask/simplify/trace/improve) |
|
|
331
332
|
| 钩子 | settings.json |
|
|
@@ -358,7 +359,7 @@ test-doc-writer → test-executor → remediation-expert
|
|
|
358
359
|
- 测试套件全部通过(`npm test`)
|
|
359
360
|
- 失败 → 修复 → 重跑全部,最多 2 轮
|
|
360
361
|
2. 更新 `package.json` 版本号(语义化版本)
|
|
361
|
-
3. **同步更新 AGENTS.md / README.md /
|
|
362
|
+
3. **同步更新 AGENTS.md / README.md / docs/README.md**
|
|
362
363
|
4. 提交 + 打 Tag:`git tag -a v<version> -m "v<version> - <概要>"`
|
|
363
364
|
5. 推送 GitHub **含 Tag**:`git push origin main && git push origin v<version>`
|
|
364
365
|
6. GitHub Actions:Release 工作流自动执行(质量检查 → Changelog → GitHub Release + 单 HTML 面板 → npm publish)
|
|
@@ -368,52 +369,52 @@ test-doc-writer → test-executor → remediation-expert
|
|
|
368
369
|
|
|
369
370
|
## 命令流程图
|
|
370
371
|
|
|
371
|
-
每个 Claude Code 命令的完整介绍,包含项目概览、
|
|
372
|
+
每个 Claude Code 命令的完整介绍,包含项目概览、31条指令的详细流程(含 Gate 序列和 Agent spawn 关系)、71个智能体目录、流水线架构和使用推荐:[项目介绍页](https://github.com/Wjl1224734792/Jarvis-Agent-Factory/blob/main/web/public/commands-reference.html)
|
|
372
373
|
|
|
373
374
|
| 分类 | 命令 | 流程图 | Gate 序列 |
|
|
374
375
|
|------|------|--------|----------|
|
|
375
|
-
| **核心编排** | `/jarvis` | [jarvis.md](
|
|
376
|
-
| | `/auto` | [auto.md](
|
|
377
|
-
| **前端** | `/frontend` | [frontend.md](
|
|
378
|
-
| **后端** | `/backend` | [backend.md](
|
|
379
|
-
| **移动端** | `/android` | [android.md](
|
|
380
|
-
| | `/ios` | [ios.md](
|
|
381
|
-
| **跨端** | `/flutter` | [flutter.md](
|
|
382
|
-
| | `/expo` | [expo.md](
|
|
383
|
-
| | `/taro` | [taro.md](
|
|
384
|
-
| | `/react-native` | [react-native.md](
|
|
385
|
-
| **测试/修复** | `/browser-test` | [browser-test.md](
|
|
386
|
-
| | `/bug-fix` | [bug-fix.md](
|
|
387
|
-
| **审查** | `/review` | [review.md](
|
|
388
|
-
| | `/review-fix` | [review-fix.md](
|
|
389
|
-
| **架构/专家** | `/frontend-architect` | [frontend-architect.md](
|
|
390
|
-
| | `/backend-architect` | [backend-architect.md](
|
|
391
|
-
| | `/algorithm-expert` | [algorithm-expert.md](
|
|
392
|
-
| **测试体系** | `/test-unit` | [test-unit.md](
|
|
393
|
-
| | `/test-integration` | [test-integration.md](
|
|
394
|
-
| | `/test-e2e` | [test-e2e.md](
|
|
395
|
-
| | `/test-perf` | [test-perf.md](
|
|
396
|
-
| | `/test-security` | [test-security.md](
|
|
397
|
-
| **工程** | `/refactor` | [refactor.md](
|
|
398
|
-
| | `/hotfix` | [hotfix.md](
|
|
399
|
-
| | `/migrate` | [migrate.md](
|
|
400
|
-
| | `/evaluate` | [evaluate.md](
|
|
401
|
-
| | `/debug` | [debug.md](
|
|
402
|
-
|
|
403
|
-
| **研究** | `/research` | [research.md](
|
|
404
|
-
| **发布** | `/release` | [release.md](
|
|
405
|
-
| **探询** | `/ask` | [ask.md](
|
|
406
|
-
| **简化** | `/simplify` | [simplify.md](
|
|
407
|
-
| **追踪** | `/trace` | [trace.md](
|
|
408
|
-
| **改进** | `/improve` | [improve.md](
|
|
409
|
-
| **核心编排** | `/publish` | [publish.md](
|
|
410
|
-
| | `/sync` | [sync.md](
|
|
411
|
-
| | `/skill-flow` | [skill-flow.md](
|
|
412
|
-
| | `/browser-explore` | [browser-explore.md](
|
|
413
|
-
| | `/task-bdd` | [task-bdd.md](
|
|
414
|
-
| | `/task-ddd` | [task-ddd.md](
|
|
415
|
-
| | `/task-tdd` | [task-tdd.md](
|
|
416
|
-
> 所有流程图使用 `flowchart TD` 统一风格。读取
|
|
376
|
+
| **核心编排** | `/jarvis` | [jarvis.md](docs/flows/jarvis.md) | A→B→B1→C→C-impl→C1→C1.5→C2→D→E (10门) |
|
|
377
|
+
| | `/auto` | [auto.md](docs/flows/auto.md) | 自动检测任务→路由最优流水线→跳过无关Gate→分配Agent |
|
|
378
|
+
| **前端** | `/frontend` | [frontend.md](docs/flows/frontend.md) | A→B→B1→C→C-impl→C1→C1.5→C2→D→E (C1.5强制) |
|
|
379
|
+
| **后端** | `/backend` | [backend.md](docs/flows/backend.md) | A→B→B1→C→C-impl→C1→C2→D→E (跳过C1.5) |
|
|
380
|
+
| **移动端** | `/android` | [android.md](docs/flows/android.md) | A→B→B1→C→C-impl→C1→C1.5→C2→D→E (C1.5强制) |
|
|
381
|
+
| | `/ios` | [ios.md](docs/flows/ios.md) | A→B→B1→C→C-impl→C1→C1.5→C2→D→E (C1.5强制) |
|
|
382
|
+
| **跨端** | `/flutter` | [flutter.md](docs/flows/flutter.md) | A→B→B1→C→C-impl→C1→C1.5→C2→D→E (C1.5强制) |
|
|
383
|
+
| | `/expo` | [expo.md](docs/flows/expo.md) | A→B→B1→C→C-impl→C1→C1.5→C2→D→E (C1.5强制) |
|
|
384
|
+
| | `/taro` | [taro.md](docs/flows/taro.md) | A→B→B1→C→C-impl→C1→C1.5→C2→D→E (C1.5强制) |
|
|
385
|
+
| | `/react-native` | [react-native.md](docs/flows/react-native.md) | A→B→B1→C→C-impl→C1→C1.5→C2→D→E (C1.5强制) |
|
|
386
|
+
| **测试/修复** | `/browser-test` | [browser-test.md](docs/flows/browser-test.md) | 用例编写→执行→修复重测闭环 |
|
|
387
|
+
| | `/bug-fix` | [bug-fix.md](docs/flows/bug-fix.md) | 复现→根因→修复→验证 7步闭环 |
|
|
388
|
+
| **审查** | `/review` | [review.md](docs/flows/review.md) | 只读审查,不修改文件 |
|
|
389
|
+
| | `/review-fix` | [review-fix.md](docs/flows/review-fix.md) | 初审→规划→执行→验证→复审 |
|
|
390
|
+
| **架构/专家** | `/frontend-architect` | [frontend-architect.md](docs/flows/frontend-architect.md) | 问题收集→spawn架构师→呈现输出 |
|
|
391
|
+
| | `/backend-architect` | [backend-architect.md](docs/flows/backend-architect.md) | 问题收集→spawn架构师→呈现输出 |
|
|
392
|
+
| | `/algorithm-expert` | [algorithm-expert.md](docs/flows/algorithm-expert.md) | 问题收集→spawn算法专家→呈现输出 |
|
|
393
|
+
| **测试体系** | `/test-unit` | [test-unit.md](docs/flows/test-unit.md) | 检测框架→分析代码→生成(Red)→运行(Green)→重构 |
|
|
394
|
+
| | `/test-integration` | [test-integration.md](docs/flows/test-integration.md) | 识别契约→启动环境→生成→运行→清理 |
|
|
395
|
+
| | `/test-e2e` | [test-e2e.md](docs/flows/test-e2e.md) | 用户故事→选工具→编写→运行→报告 |
|
|
396
|
+
| | `/test-perf` | [test-perf.md](docs/flows/test-perf.md) | 定义目标→选择工具→建立基线→负载测试→定位瓶颈 |
|
|
397
|
+
| | `/test-security` | [test-security.md](docs/flows/test-security.md) | 确认授权→爬取→主动扫描→修复→报告 |
|
|
398
|
+
| **工程** | `/refactor` | [refactor.md](docs/flows/refactor.md) | R1边界→R2基线→R3重构→R4漂移检测→R5报告 (5门) |
|
|
399
|
+
| | `/hotfix` | [hotfix.md](docs/flows/hotfix.md) | H0声明→H1修复→H2验证→H3审计 (4门) |
|
|
400
|
+
| | `/migrate` | [migrate.md](docs/flows/migrate.md) | M1规则→M2迁移→M3编译→M4 Lint (4门) |
|
|
401
|
+
| | `/evaluate` | [evaluate.md](docs/flows/evaluate.md) | E0标准→E1原型→E2指标→E3报告 (4门) |
|
|
402
|
+
| | `/debug` | [debug.md](docs/flows/debug.md) | D0收集→D1复现→D2调试→D3诊断→D4报告 (5门) |
|
|
403
|
+
|
|
404
|
+
| **研究** | `/research` | [research.md](docs/flows/research.md) | RS0课题→RS1收集→RS2分析→RS3验证→RS4报告 (5门) |
|
|
405
|
+
| **发布** | `/release` | [release.md](docs/flows/release.md) | RL0检测→RL1质量→RL2版本→RL3发布→RL4验证 (5门) |
|
|
406
|
+
| **探询** | `/ask` | [ask.md](docs/flows/ask.md) | K0摄入→K1收集→K2分析→K3产出 (4门,4模式自适应) |
|
|
407
|
+
| **简化** | `/simplify` | [simplify.md](docs/flows/simplify.md) | S0分析→S1简化→S2验证→S3报告 (4门) |
|
|
408
|
+
| **追踪** | `/trace` | [trace.md](docs/flows/trace.md) | T0框架→T1假设→T2证据→T3分析→T4方案 (5门) |
|
|
409
|
+
| **改进** | `/improve` | [improve.md](docs/flows/improve.md) | IM0目标→IM1研究→IM2计划→IM3执行→IM4评估 (5门,迭代循环) |
|
|
410
|
+
| **核心编排** | `/publish` | [publish.md](docs/flows/publish.md) | 环境检测→质量门→测试→版本→commit→push→PR→合并→tag→发布 |
|
|
411
|
+
| | `/sync` | [sync.md](docs/flows/sync.md) | 检查并同步核心文档与代码一致性 |
|
|
412
|
+
| | `/skill-flow` | [skill-flow.md](docs/flows/skill-flow.md) | 会话流程导出为Skill模板(export/save/list/apply) |
|
|
413
|
+
| | `/browser-explore` | [browser-explore.md](docs/flows/browser-explore.md) | browser-use自主探索+UI bug发现+结构化报告 |
|
|
414
|
+
| | `/task-bdd` | [task-bdd.md](docs/flows/task-bdd.md) | BDD行为驱动:Gherkin场景编写 |
|
|
415
|
+
| | `/task-ddd` | [task-ddd.md](docs/flows/task-ddd.md) | DDD领域驱动:聚合/实体/值对象分析 |
|
|
416
|
+
| | `/task-tdd` | [task-tdd.md](docs/flows/task-tdd.md) | TDD测试驱动:测试骨架+任务包生成 |
|
|
417
|
+
> 所有流程图使用 `flowchart TD` 统一风格。读取 `docs/flows/` 目录下的 `.md` 文件可在支持 Mermaid 的 Markdown 渲染器中查看。
|
|
417
418
|
|
|
418
419
|
## License
|
|
419
420
|
|
package/dist/package.json
CHANGED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { resolve, join } from 'node:path';
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
import { scanDirectory, flattenTree, generateAll, generateAllParallel, generateAllSmart, writeDocs, generateIncremental, generateIncrementalParallel, validateHierarchy, scanDirectories, loadManifest, saveManifest, computeDiff, changedPaths, } from '../../deepinit/index.js';
|
|
4
|
+
export async function execute(opts, positional) {
|
|
5
|
+
const target = resolve(positional[1] || process.cwd());
|
|
6
|
+
const force = opts.yes || false;
|
|
7
|
+
const smart = opts.smart || false;
|
|
8
|
+
const parallel = opts.parallel !== false; // Default: parallel on
|
|
9
|
+
const jobs = typeof opts.jobs === 'number' ? opts.jobs : 0; // 0 = unlimited
|
|
10
|
+
if (!existsSync(target)) {
|
|
11
|
+
console.error(`\n❌ Target directory does not exist: ${target}`);
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|
|
14
|
+
const manifestPath = join(target, '.omc', 'deepinit-manifest.json');
|
|
15
|
+
const prevManifest = loadManifest(manifestPath);
|
|
16
|
+
const isFirstRun = !prevManifest;
|
|
17
|
+
console.log(`\n🔍 Scanning project tree: ${target}`);
|
|
18
|
+
const modeTags = [];
|
|
19
|
+
if (smart)
|
|
20
|
+
modeTags.push('smart dispatch');
|
|
21
|
+
if (parallel && !smart)
|
|
22
|
+
modeTags.push('parallel');
|
|
23
|
+
if (!parallel && !smart)
|
|
24
|
+
modeTags.push('sequential');
|
|
25
|
+
if (isFirstRun) {
|
|
26
|
+
console.log(` (first run — full generation, ${modeTags.join(' + ')})\n`);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
console.log(` (incremental — manifest from ${prevManifest.generatedAt}, ${modeTags.join(' + ')})\n`);
|
|
30
|
+
}
|
|
31
|
+
// 1. Scan directory tree
|
|
32
|
+
const root = scanDirectory(target);
|
|
33
|
+
if (!root) {
|
|
34
|
+
console.error('❌ No files found in target directory.');
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
const flat = flattenTree(root);
|
|
38
|
+
// 2. Scan manifest-structured directories for diff
|
|
39
|
+
const dirs = scanDirectories(target);
|
|
40
|
+
const diff = computeDiff(prevManifest?.directories ?? null, dirs);
|
|
41
|
+
const changed = new Set(changedPaths(diff));
|
|
42
|
+
// 3. Generate (full or incremental, smart/parallel/sequential)
|
|
43
|
+
let results;
|
|
44
|
+
if (isFirstRun || force) {
|
|
45
|
+
if (smart) {
|
|
46
|
+
results = generateAllSmart(flat, target);
|
|
47
|
+
}
|
|
48
|
+
else if (parallel) {
|
|
49
|
+
results = generateAllParallel(flat, target, jobs);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
results = generateAll(flat, target);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
if (parallel) {
|
|
57
|
+
results = generateIncrementalParallel(flat, changed, target, jobs);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
results = generateIncremental(flat, changed, target);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (results.length === 0 && !isFirstRun) {
|
|
64
|
+
console.log(' No directories changed since last run.');
|
|
65
|
+
console.log(`\n✅ DeepInit complete (nothing to update).\n`);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
// 4. Write
|
|
69
|
+
const stats = writeDocs(results, { force });
|
|
70
|
+
// 5. Validate
|
|
71
|
+
const allDirs = flat.map(e => e.absPath);
|
|
72
|
+
const validation = validateHierarchy(target, allDirs.map(d => {
|
|
73
|
+
const rel = d.replace(target, '').replace(/^[/\\]/, '');
|
|
74
|
+
return rel || '.';
|
|
75
|
+
}));
|
|
76
|
+
// 6. Save manifest for next run
|
|
77
|
+
saveManifest(manifestPath, dirs);
|
|
78
|
+
// 7. Report
|
|
79
|
+
const dirCount = Object.keys(dirs).length;
|
|
80
|
+
const changedCount = diff.summary.added + diff.summary.modified + diff.summary.deleted;
|
|
81
|
+
console.log(` Written: ${stats.written} AGENTS.md${stats.skipped > 0 ? ` (${stats.skipped} skipped)` : ''}`);
|
|
82
|
+
console.log(` Manifest: ${dirCount} directories tracked`);
|
|
83
|
+
console.log(` Diff: +${diff.summary.added} ~${diff.summary.modified} -${diff.summary.deleted} =${diff.summary.unchanged} unchanged (${changedCount} affected)`);
|
|
84
|
+
if (smart) {
|
|
85
|
+
console.log(` Mode: smart dispatch (deep file analysis + project type detection)`);
|
|
86
|
+
}
|
|
87
|
+
else if (parallel) {
|
|
88
|
+
console.log(` Mode: parallel (by-depth grouping${jobs > 0 ? `, ${jobs} jobs` : ''})`);
|
|
89
|
+
}
|
|
90
|
+
if (!validation.valid) {
|
|
91
|
+
console.log(` ⚠ Validation: ${validation.issues.length} issues found`);
|
|
92
|
+
for (const issue of validation.issues.slice(0, 5)) {
|
|
93
|
+
console.log(` - ${issue}`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
console.log(`\n✅ DeepInit complete.\n`);
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=deepinit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepinit.js","sourceRoot":"","sources":["../../../../src/cli/commands/deepinit.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/index.js
CHANGED
|
@@ -16,6 +16,7 @@ const COMMANDS = {
|
|
|
16
16
|
resolve: () => import('./commands/resolve.js'),
|
|
17
17
|
doctor: () => import('./commands/doctor.js'),
|
|
18
18
|
check: () => import('./commands/doctor.js'),
|
|
19
|
+
deepinit: () => import('./commands/deepinit.js'),
|
|
19
20
|
};
|
|
20
21
|
export async function run() {
|
|
21
22
|
const { opts, positional } = parseArgs(process.argv.slice(2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,OAAO,yBAAyB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAgB,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK3D,MAAM,QAAQ,GAA6C;IACzD,IAAI,EAAK,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC;IAC3C,GAAG,EAAM,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAC1C,MAAM,EAAG,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC7C,EAAE,EAAO,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC;IAC9C,MAAM,EAAG,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC;IAC9C,IAAI,EAAK,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC;IAC3C,MAAM,EAAG,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC7C,IAAI,EAAK,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC;IAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC;IAC9C,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,OAAO,yBAAyB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAgB,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK3D,MAAM,QAAQ,GAA6C;IACzD,IAAI,EAAK,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC;IAC3C,GAAG,EAAM,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAC1C,MAAM,EAAG,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC7C,EAAE,EAAO,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC;IAC9C,MAAM,EAAG,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC;IAC9C,IAAI,EAAK,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC;IAC3C,MAAM,EAAG,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC7C,IAAI,EAAK,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC;IAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC;IAC9C,MAAM,EAAI,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC9C,KAAK,EAAK,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC9C,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC;CACjD,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,GAAG;IACvB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D,SAAS;IACT,IAAI,IAAI,CAAC,IAAI,EAAK,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACzD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,KAAK,WAAW,EAAE,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;QAC7B,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,eAAe,QAAQ,SAAS,CAAC,CAAC;QAChF,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IAEpC,8CAA8C;IAC9C,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC5D,MAAM,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;IAC3B,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -7,6 +7,12 @@ export interface CliOpts {
|
|
|
7
7
|
globalExplicit: boolean;
|
|
8
8
|
help?: boolean;
|
|
9
9
|
version?: boolean;
|
|
10
|
+
/** DeepInit: 启用智能分派模式(深度文件分析 + 项目类型检测) */
|
|
11
|
+
smart?: boolean;
|
|
12
|
+
/** DeepInit: 禁用并行生成(默认启用) */
|
|
13
|
+
parallel?: boolean;
|
|
14
|
+
/** DeepInit: 并行任务数限制(0 = 无限制) */
|
|
15
|
+
jobs?: number;
|
|
10
16
|
}
|
|
11
17
|
/**
|
|
12
18
|
* 手动解析命令行参数(不引入 Commander.js,遵循 ADR-5)
|
|
@@ -16,6 +22,9 @@ export interface CliOpts {
|
|
|
16
22
|
* -g, --global 全局安装
|
|
17
23
|
* -h, --help 显示帮助
|
|
18
24
|
* -v, --version 显示版本
|
|
25
|
+
* --smart DeepInit 智能分派模式
|
|
26
|
+
* --no-parallel DeepInit 禁用并行生成
|
|
27
|
+
* --jobs <n> DeepInit 并行任务数限制
|
|
19
28
|
*
|
|
20
29
|
* @param raw - process.argv.slice(2) 原始参数数组
|
|
21
30
|
* @returns 解析后的选项和位置参数
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
* -g, --global 全局安装
|
|
7
7
|
* -h, --help 显示帮助
|
|
8
8
|
* -v, --version 显示版本
|
|
9
|
+
* --smart DeepInit 智能分派模式
|
|
10
|
+
* --no-parallel DeepInit 禁用并行生成
|
|
11
|
+
* --jobs <n> DeepInit 并行任务数限制
|
|
9
12
|
*
|
|
10
13
|
* @param raw - process.argv.slice(2) 原始参数数组
|
|
11
14
|
* @returns 解析后的选项和位置参数
|
|
@@ -13,7 +16,8 @@
|
|
|
13
16
|
export function parseArgs(raw) {
|
|
14
17
|
const opts = { yes: false, global: false, globalExplicit: false };
|
|
15
18
|
const positional = [];
|
|
16
|
-
for (
|
|
19
|
+
for (let i = 0; i < raw.length; i++) {
|
|
20
|
+
const a = raw[i];
|
|
17
21
|
if (a === '-y' || a === '--yes') {
|
|
18
22
|
opts.yes = true;
|
|
19
23
|
}
|
|
@@ -29,6 +33,22 @@ export function parseArgs(raw) {
|
|
|
29
33
|
opts.version = true;
|
|
30
34
|
return { opts, positional };
|
|
31
35
|
}
|
|
36
|
+
else if (a === '--smart') {
|
|
37
|
+
opts.smart = true;
|
|
38
|
+
}
|
|
39
|
+
else if (a === '--no-parallel') {
|
|
40
|
+
opts.parallel = false;
|
|
41
|
+
}
|
|
42
|
+
else if (a === '--jobs' && i + 1 < raw.length) {
|
|
43
|
+
const n = parseInt(raw[++i], 10);
|
|
44
|
+
if (!isNaN(n) && n > 0)
|
|
45
|
+
opts.jobs = n;
|
|
46
|
+
}
|
|
47
|
+
else if (a.startsWith('--jobs=')) {
|
|
48
|
+
const n = parseInt(a.slice(7), 10);
|
|
49
|
+
if (!isNaN(n) && n > 0)
|
|
50
|
+
opts.jobs = n;
|
|
51
|
+
}
|
|
32
52
|
else {
|
|
33
53
|
positional.push(a);
|
|
34
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../../src/cli/utils/args.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../../src/cli/utils/args.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,SAAS,CAAC,GAAa;IACrC,MAAM,IAAI,GAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAC3E,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAClB,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9B,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9B,CAAC;aAAM,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;aAAM,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { DirEntry } from './scanner.js';
|
|
2
|
+
export interface GenContext {
|
|
3
|
+
entry: DirEntry;
|
|
4
|
+
rootDir: string;
|
|
5
|
+
now: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* 为单个目录生成 AGENTS.md 内容。
|
|
9
|
+
*/
|
|
10
|
+
export declare function generateAgentsMd(entry: DirEntry, parentRel: string | null, ctx: GenContext): string;
|
|
11
|
+
/**
|
|
12
|
+
* 为单个目录生成 CLAUDE.md 内容(极简引导)。
|
|
13
|
+
* 仅当目录是根或包含 src/ 等关键目录时生成。
|
|
14
|
+
*/
|
|
15
|
+
export declare function generateClaudeMd(entry: DirEntry, hasParentAgents: boolean, ctx: GenContext): string;
|
|
16
|
+
/**
|
|
17
|
+
* 生成整个目录树的文档文件(顺序模式,保证层级兼容)。
|
|
18
|
+
*/
|
|
19
|
+
export declare function generateAll(flatEntries: DirEntry[], rootDir: string): {
|
|
20
|
+
dir: string;
|
|
21
|
+
agents: string;
|
|
22
|
+
claude: string | null;
|
|
23
|
+
}[];
|
|
24
|
+
/**
|
|
25
|
+
* 并行生成整个目录树的文档文件。
|
|
26
|
+
* 按深度分层:同层目录并行处理,层间串行保证父子引用正确。
|
|
27
|
+
*/
|
|
28
|
+
export declare function generateAllParallel(flatEntries: DirEntry[], rootDir: string, concurrency?: number): {
|
|
29
|
+
dir: string;
|
|
30
|
+
agents: string;
|
|
31
|
+
claude: string | null;
|
|
32
|
+
}[];
|
|
33
|
+
/**
|
|
34
|
+
* 将生成的文档写入文件系统。
|
|
35
|
+
*/
|
|
36
|
+
export declare function writeDocs(results: {
|
|
37
|
+
dir: string;
|
|
38
|
+
agents: string;
|
|
39
|
+
claude: string | null;
|
|
40
|
+
}[], opts?: {
|
|
41
|
+
force?: boolean;
|
|
42
|
+
}): {
|
|
43
|
+
written: number;
|
|
44
|
+
skipped: number;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* 增量生成:基于 manifest diff 结果,仅重新生成变化目录的文档。
|
|
48
|
+
* 祖先级联已在 computeDiff 中处理——变化的祖先目录自动包含在 changedRelPaths 中。
|
|
49
|
+
*/
|
|
50
|
+
export declare function generateIncremental(flatEntries: DirEntry[], changedRelPaths: Set<string>, rootDir: string): {
|
|
51
|
+
dir: string;
|
|
52
|
+
agents: string;
|
|
53
|
+
claude: string | null;
|
|
54
|
+
}[];
|
|
55
|
+
/**
|
|
56
|
+
* 并行增量生成:按深度分层,同层并行处理变更目录。
|
|
57
|
+
*/
|
|
58
|
+
export declare function generateIncrementalParallel(flatEntries: DirEntry[], changedRelPaths: Set<string>, rootDir: string, concurrency?: number): {
|
|
59
|
+
dir: string;
|
|
60
|
+
agents: string;
|
|
61
|
+
claude: string | null;
|
|
62
|
+
}[];
|
|
63
|
+
/**
|
|
64
|
+
* 验证生成的 AGENTS.md 层级完整性。
|
|
65
|
+
* 检查:父级引用可解析、无孤儿文件、目录覆盖完整。
|
|
66
|
+
*/
|
|
67
|
+
export declare function validateHierarchy(rootDir: string, generatedDirs: string[]): {
|
|
68
|
+
valid: boolean;
|
|
69
|
+
issues: string[];
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Agent 智能分派模式:深度读取文件内容,检测项目类型,生成更精准的文档。
|
|
73
|
+
* 对应 OMC 的 explore agent(目录扫描)+ architect agent(文件分析)+ writer agent(内容生成)三层分派。
|
|
74
|
+
*/
|
|
75
|
+
export declare function generateAllSmart(flatEntries: DirEntry[], rootDir: string): {
|
|
76
|
+
dir: string;
|
|
77
|
+
agents: string;
|
|
78
|
+
claude: string | null;
|
|
79
|
+
}[];
|