ai-dev-analytics 1.0.4 → 1.1.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 +28 -17
- package/README.zh-CN.md +28 -17
- package/dist/cli/commands/build.d.ts +2 -0
- package/dist/cli/commands/build.d.ts.map +1 -0
- package/dist/cli/commands/build.js +46 -0
- package/dist/cli/commands/build.js.map +1 -0
- package/dist/cli/commands/dashboard.js +1 -1
- package/dist/cli/commands/dashboard.js.map +1 -1
- package/dist/cli/commands/import.d.ts +2 -0
- package/dist/cli/commands/import.d.ts.map +1 -0
- package/dist/cli/commands/import.js +62 -0
- package/dist/cli/commands/import.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +110 -312
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/merge.d.ts +2 -0
- package/dist/cli/commands/merge.d.ts.map +1 -0
- package/dist/cli/commands/merge.js +47 -0
- package/dist/cli/commands/merge.js.map +1 -0
- package/dist/cli/commands/migrate-dir.d.ts +6 -0
- package/dist/cli/commands/migrate-dir.d.ts.map +1 -0
- package/dist/cli/commands/migrate-dir.js +98 -0
- package/dist/cli/commands/migrate-dir.js.map +1 -0
- package/dist/cli/commands/migrate-legacy.d.ts +2 -0
- package/dist/cli/commands/migrate-legacy.d.ts.map +1 -0
- package/dist/cli/commands/migrate-legacy.js +95 -0
- package/dist/cli/commands/migrate-legacy.js.map +1 -0
- package/dist/cli/commands/migrate.js +5 -5
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/report.js +1 -1
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/rules.d.ts +5 -0
- package/dist/cli/commands/rules.d.ts.map +1 -1
- package/dist/cli/commands/rules.js +143 -38
- package/dist/cli/commands/rules.js.map +1 -1
- package/dist/cli/commands/skills.d.ts +7 -0
- package/dist/cli/commands/skills.d.ts.map +1 -0
- package/dist/cli/commands/skills.js +180 -0
- package/dist/cli/commands/skills.js.map +1 -0
- package/dist/cli/commands/start.js +4 -4
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +14 -7
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +36 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/server/api.js +2 -2
- package/dist/server/api.js.map +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/utils/ai-build.d.ts +19 -0
- package/dist/utils/ai-build.d.ts.map +1 -0
- package/dist/utils/ai-build.js +278 -0
- package/dist/utils/ai-build.js.map +1 -0
- package/dist/utils/fs.d.ts +9 -0
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +31 -0
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/guide.d.ts +5 -4
- package/dist/utils/guide.d.ts.map +1 -1
- package/dist/utils/guide.js +80 -13
- package/dist/utils/guide.js.map +1 -1
- package/dist/utils/import.d.ts +38 -0
- package/dist/utils/import.d.ts.map +1 -0
- package/dist/utils/import.js +308 -0
- package/dist/utils/import.js.map +1 -0
- package/dist/utils/paths.d.ts +2 -2
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +8 -8
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/prompt.d.ts +15 -0
- package/dist/utils/prompt.d.ts.map +1 -0
- package/dist/utils/prompt.js +193 -0
- package/dist/utils/prompt.js.map +1 -0
- package/dist/utils/rules.d.ts +6 -1
- package/dist/utils/rules.d.ts.map +1 -1
- package/dist/utils/rules.js +126 -6
- package/dist/utils/rules.js.map +1 -1
- package/dist/utils/run-data.d.ts +1 -1
- package/dist/utils/run-data.js +4 -4
- package/dist/utils/run-data.js.map +1 -1
- package/dist/utils/skills.d.ts +37 -0
- package/dist/utils/skills.d.ts.map +1 -0
- package/dist/utils/skills.js +228 -0
- package/dist/utils/skills.js.map +1 -0
- package/package.json +1 -1
- package/src/assets/skills/audit.md +6 -6
- package/src/assets/skills/bug-fixer.md +4 -4
- package/src/assets/skills/code-generator.md +4 -4
- package/src/assets/skills/dashboard-generator.md +2 -2
- package/src/assets/skills/dev-flower.md +3 -3
- package/src/assets/skills/deviation-recorder.md +7 -7
- package/src/assets/skills/mcp-reviewer.md +2 -2
- package/src/assets/skills/requirement-analyzer.md +4 -4
- package/src/assets/skills/rules-evolver.md +7 -7
- package/src/assets/skills/self-reviewer.md +4 -4
- package/src/assets/skills/task-splitter.md +5 -5
- package/src/assets/skills/workflow-orchestrator.md +11 -11
- package/src/assets/templates/demo-run.json +7 -7
package/README.md
CHANGED
|
@@ -14,16 +14,16 @@ One line to integrate. Zero workflow changes.
|
|
|
14
14
|
{ "mcpServers": { "aida": { "command": "npx", "args": ["-y", "ai-dev-analytics", "mcp"] } } }
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
[](https://www.npmjs.com/package/ai-dev-analytics)
|
|
18
18
|
[](./LICENSE)
|
|
19
19
|
[](https://nodejs.org)
|
|
20
|
-
[](#testing)
|
|
21
21
|
[](https://lwtlong.github.io/ai-dev-analytics/)
|
|
22
22
|
[](https://glama.ai/mcp/servers/LWTlong/ai-dev-analytics)
|
|
23
23
|
|
|
24
24
|
[](https://glama.ai/mcp/servers/LWTlong/ai-dev-analytics)
|
|
25
25
|
|
|
26
|
-
[One-Line Setup](#-30-second-setup) · [Data-Driven Loop](#-the-data-driven-loop) · [Dashboard](#-the-dashboard) · [SOP Workflow](#-standardized-ai-development-workflow) · [Data for Reports](#-data-sedimentation--performance-reports) · [中文文档](./README.zh-CN.md)
|
|
26
|
+
[One-Line Setup](#-30-second-setup) · [Data-Driven Loop](#-the-data-driven-loop) · [Dashboard](#-the-dashboard) · [SOP Workflow](#-standardized-ai-development-workflow) · [Data for Reports](#-data-sedimentation--performance-reports) · [Commands](./COMMANDS.md) · [Docs](./docs/INDEX.md) · [中文文档](./README.zh-CN.md)
|
|
27
27
|
|
|
28
28
|
</div>
|
|
29
29
|
|
|
@@ -60,7 +60,7 @@ Vibe Coding Session
|
|
|
60
60
|
"9 deviations → 56% hallucination, 44% rule-missing"
|
|
61
61
|
↓
|
|
62
62
|
Deviation patterns identified → AI suggests rules → user confirms → sedimented
|
|
63
|
-
.
|
|
63
|
+
.aida/rules/ ← your AI's growing knowledge base
|
|
64
64
|
↓
|
|
65
65
|
AI reads rules next session → same mistakes eliminated
|
|
66
66
|
↓
|
|
@@ -86,7 +86,7 @@ Vibe Coding Session
|
|
|
86
86
|
|
|
87
87
|

|
|
88
88
|
|
|
89
|
-
The `.
|
|
89
|
+
The `.aida/rules/` directory is your **project-specific AI knowledge base**. It grows with every run. The more you use AI, the smarter it gets at *your* project.
|
|
90
90
|
|
|
91
91
|
---
|
|
92
92
|
|
|
@@ -119,7 +119,15 @@ Run `npx ai-dev-analytics dashboard` to see **your own project's data** in secon
|
|
|
119
119
|
|
|
120
120
|
### 🔒 100% Local. Zero External Requests.
|
|
121
121
|
|
|
122
|
-
AIDA writes JSON files to `.
|
|
122
|
+
AIDA writes JSON files to `.aida/` in your project directory. **The codebase contains zero HTTP calls to external services** — no telemetry, no cloud sync, no analytics, no tracking. Zero runtime dependencies. Your code and data never leave your machine. Period.
|
|
123
|
+
|
|
124
|
+
## Command Reference
|
|
125
|
+
|
|
126
|
+
Detailed CLI usage, command behavior, supported AI tools, merge/import/build flow, and migration notes are documented in [COMMANDS.md](./COMMANDS.md).
|
|
127
|
+
|
|
128
|
+
## Documentation
|
|
129
|
+
|
|
130
|
+
For public documentation navigation, schema references, workflow notes, and dashboard-related docs, see [docs/INDEX.md](./docs/INDEX.md).
|
|
123
131
|
|
|
124
132
|
---
|
|
125
133
|
|
|
@@ -248,7 +256,7 @@ Quarter: Complete development record — exportable, analyzable, presentable
|
|
|
248
256
|
| **Team Leader Report** | Per-developer stats, deviation hotspots, which modules need better rules, team-wide AI maturity |
|
|
249
257
|
| **Project Handover** | Full development history — someone new can see exactly what happened, what rules exist, and why |
|
|
250
258
|
|
|
251
|
-
All data is structured JSON in `.
|
|
259
|
+
All data is structured JSON in `.aida/`. No vendor lock-in. Export it, query it, pipe it into any reporting tool. Run `aida report` to generate a summary at any time.
|
|
252
260
|
|
|
253
261
|
---
|
|
254
262
|
|
|
@@ -257,9 +265,9 @@ All data is structured JSON in `.aidevos/`. No vendor lock-in. Export it, query
|
|
|
257
265
|
```mermaid
|
|
258
266
|
flowchart LR
|
|
259
267
|
A["Your AI Tool\nClaude Code / Cursor"] -->|Vibe Coding| B{"AIDA MCP Server\n10 Tools"}
|
|
260
|
-
B -->|Silent Data Collection| C[".
|
|
268
|
+
B -->|Silent Data Collection| C[".aida/run.json"]
|
|
261
269
|
C -->|Visualization| D["Dashboard\nlocalhost:2375"]
|
|
262
|
-
C -->|Pattern Analysis| E[".
|
|
270
|
+
C -->|Pattern Analysis| E[".aida/rules/"]
|
|
263
271
|
E -->|AI Reads Rules| A
|
|
264
272
|
```
|
|
265
273
|
|
|
@@ -289,10 +297,10 @@ All data is local JSON. No database, no cloud.
|
|
|
289
297
|
|
|
290
298
|
| Level | File | What it contains |
|
|
291
299
|
|-------|------|-----------------|
|
|
292
|
-
| **Run** | `.
|
|
293
|
-
| **Branch** | `.
|
|
294
|
-
| **Project** | `.
|
|
295
|
-
| **Rules** | `.
|
|
300
|
+
| **Run** | `.aida/runs/{branch}/{dev}/run.json` | Every task, bug, deviation, review, file change |
|
|
301
|
+
| **Branch** | `.aida/runs/{branch}/requirement.json` | Aggregated stats per requirement |
|
|
302
|
+
| **Project** | `.aida/index.json` | Cross-branch overview for team leads |
|
|
303
|
+
| **Rules** | `.aida/rules/` | Sedimented project rules — your AI's growing knowledge base |
|
|
296
304
|
|
|
297
305
|
All structured JSON — ready for export, analysis, or feeding into reports.
|
|
298
306
|
|
|
@@ -337,6 +345,7 @@ Every step produces structured data. Every deviation can become a rule. The SOP
|
|
|
337
345
|
|
|
338
346
|
```bash
|
|
339
347
|
aida init # Interactive project setup
|
|
348
|
+
aida migrate-legacy # Upgrade legacy .aidevos project in one command
|
|
340
349
|
aida start # Create a new development run
|
|
341
350
|
aida status # Show current run status
|
|
342
351
|
aida dashboard # Launch dashboard (default port 2375)
|
|
@@ -352,6 +361,8 @@ aida update # Update skills to latest version
|
|
|
352
361
|
aida migrate # Migrate old data to current schema
|
|
353
362
|
```
|
|
354
363
|
|
|
364
|
+
`aida init` and `aida build` now use interactive multi-select prompts in TTY terminals, with automatic fallback to comma-separated numeric input in non-interactive environments.
|
|
365
|
+
|
|
355
366
|
</details>
|
|
356
367
|
|
|
357
368
|
<details>
|
|
@@ -380,16 +391,16 @@ Rules are the compounding asset of AIDA. Here's how they work in a team setting.
|
|
|
380
391
|
### Architecture
|
|
381
392
|
|
|
382
393
|
```
|
|
383
|
-
.
|
|
394
|
+
.aida/rules.json ← source of truth, committed to git
|
|
384
395
|
↓
|
|
385
396
|
aida rules build
|
|
386
397
|
↓
|
|
387
|
-
.
|
|
398
|
+
.aida/rules/*.md ← auto-generated views, gitignored
|
|
388
399
|
↓
|
|
389
400
|
AI reads rules next session
|
|
390
401
|
```
|
|
391
402
|
|
|
392
|
-
`aida init` automatically adds `.
|
|
403
|
+
`aida init` automatically adds `.aida/rules/*.md` to your `.gitignore`. Never edit the `.md` files manually — they are always regenerated from `rules.json`.
|
|
393
404
|
|
|
394
405
|
### Daily workflow
|
|
395
406
|
|
|
@@ -408,7 +419,7 @@ When two developers add rules on separate branches and merge, `rules.json` may g
|
|
|
408
419
|
# After git merge produces a conflict in rules.json:
|
|
409
420
|
aida rules merge # fingerprint union — no duplicates, no lost rules
|
|
410
421
|
aida rules build # rebuild .md views
|
|
411
|
-
git add .
|
|
422
|
+
git add .aida/rules.json
|
|
412
423
|
git commit -m "merge: resolve rules conflict"
|
|
413
424
|
```
|
|
414
425
|
|
package/README.zh-CN.md
CHANGED
|
@@ -14,16 +14,16 @@
|
|
|
14
14
|
{ "mcpServers": { "aida": { "command": "npx", "args": ["-y", "ai-dev-analytics", "mcp"] } } }
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
[](https://www.npmjs.com/package/ai-dev-analytics)
|
|
18
18
|
[](./LICENSE)
|
|
19
19
|
[](https://nodejs.org)
|
|
20
|
-
[](#测试)
|
|
21
21
|
[](https://lwtlong.github.io/ai-dev-analytics/)
|
|
22
22
|
[](https://glama.ai/mcp/servers/LWTlong/ai-dev-analytics)
|
|
23
23
|
|
|
24
24
|
[](https://glama.ai/mcp/servers/LWTlong/ai-dev-analytics)
|
|
25
25
|
|
|
26
|
-
[一行接入](#-30-秒上手) · [数据驱动闭环](#-数据驱动闭环) · [数据看板](#-数据看板) · [SOP 流程](#-标准化-ai-开发流程) · [数据沉淀](#-数据沉淀与绩效汇报) · [English](./README.md)
|
|
26
|
+
[一行接入](#-30-秒上手) · [数据驱动闭环](#-数据驱动闭环) · [数据看板](#-数据看板) · [SOP 流程](#-标准化-ai-开发流程) · [数据沉淀](#-数据沉淀与绩效汇报) · [命令文档](./COMMANDS.md) · [文档导航](./docs/INDEX.md) · [English](./README.md)
|
|
27
27
|
|
|
28
28
|
</div>
|
|
29
29
|
|
|
@@ -60,7 +60,7 @@ Vibe Coding 过程
|
|
|
60
60
|
"9 个偏差 → 56% 幻觉, 44% 规则缺失"
|
|
61
61
|
↓
|
|
62
62
|
发现偏差规律 → AI 建议沉淀规则 → 用户确认 → 写入规则库
|
|
63
|
-
.
|
|
63
|
+
.aida/rules/ ← 你的 AI 知识库在成长
|
|
64
64
|
↓
|
|
65
65
|
AI 下次读取规则 → 同样的错误被消除
|
|
66
66
|
↓
|
|
@@ -86,7 +86,7 @@ Vibe Coding 过程
|
|
|
86
86
|
|
|
87
87
|

|
|
88
88
|
|
|
89
|
-
`.
|
|
89
|
+
`.aida/rules/` 目录就是你的**项目专属 AI 知识库**。用 AI 写得越多,它对*你的项目*就越懂。
|
|
90
90
|
|
|
91
91
|
---
|
|
92
92
|
|
|
@@ -119,7 +119,15 @@ AIDA 全方位采集 AI 辅助开发的每个维度,转化为交互式图表
|
|
|
119
119
|
|
|
120
120
|
### 🔒 100% 本地。零外部请求。
|
|
121
121
|
|
|
122
|
-
AIDA 只往项目里的 `.
|
|
122
|
+
AIDA 只往项目里的 `.aida/` 目录写 JSON 文件。**整个代码库不包含任何外部 HTTP 请求** —— 不发遥测、不上传云端、不请求分析服务、不做任何追踪。零运行时依赖。你的代码和数据绝不会离开你的电脑。
|
|
123
|
+
|
|
124
|
+
## 命令文档
|
|
125
|
+
|
|
126
|
+
详细 CLI 用法、命令行为、支持的 AI 工具、merge/import/build 流程、迁移说明,见 [COMMANDS.md](./COMMANDS.md)。
|
|
127
|
+
|
|
128
|
+
## 文档导航
|
|
129
|
+
|
|
130
|
+
公开文档导航、schema 参考、工作流说明、看板相关文档,见 [docs/INDEX.md](./docs/INDEX.md)。
|
|
123
131
|
|
|
124
132
|
---
|
|
125
133
|
|
|
@@ -248,7 +256,7 @@ AIDA 不只是可视化 —— 它**沉淀数据**。每次运行都积累结构
|
|
|
248
256
|
| **团队 Leader 报告** | 各开发者数据、偏差热点、哪个模块需要更好的规则、团队 AI 成熟度 |
|
|
249
257
|
| **项目交接** | 完整开发历史 —— 接手的人能看到做了什么、有什么规则、为什么有这些规则 |
|
|
250
258
|
|
|
251
|
-
所有数据都是 `.
|
|
259
|
+
所有数据都是 `.aida/` 里的结构化 JSON。没有厂商锁定。随时导出、查询、接入任何报表工具。运行 `aida report` 随时生成汇总。
|
|
252
260
|
|
|
253
261
|
---
|
|
254
262
|
|
|
@@ -257,9 +265,9 @@ AIDA 不只是可视化 —— 它**沉淀数据**。每次运行都积累结构
|
|
|
257
265
|
```mermaid
|
|
258
266
|
flowchart LR
|
|
259
267
|
A["你的 AI 工具\nClaude Code / Cursor"] -->|Vibe Coding| B{"AIDA MCP Server\n10 个工具"}
|
|
260
|
-
B -->|静默采集| C[".
|
|
268
|
+
B -->|静默采集| C[".aida/run.json"]
|
|
261
269
|
C -->|可视化| D["数据看板\nlocalhost:2375"]
|
|
262
|
-
C -->|模式分析| E[".
|
|
270
|
+
C -->|模式分析| E[".aida/rules/"]
|
|
263
271
|
E -->|AI 读取规则| A
|
|
264
272
|
```
|
|
265
273
|
|
|
@@ -289,10 +297,10 @@ AI 工具在工作时自动调用 MCP 工具。你不需要手动操作 ——
|
|
|
289
297
|
|
|
290
298
|
| 层级 | 文件 | 内容 |
|
|
291
299
|
|------|------|------|
|
|
292
|
-
| **运行** | `.
|
|
293
|
-
| **分支** | `.
|
|
294
|
-
| **项目** | `.
|
|
295
|
-
| **规则** | `.
|
|
300
|
+
| **运行** | `.aida/runs/{分支}/{开发者}/run.json` | 每个任务、Bug、偏差、审查、文件变更 |
|
|
301
|
+
| **分支** | `.aida/runs/{分支}/requirement.json` | 分支聚合统计 |
|
|
302
|
+
| **项目** | `.aida/index.json` | 跨分支总览 |
|
|
303
|
+
| **规则** | `.aida/rules/` | 沉淀的项目规则 —— AI 持续增长的知识库 |
|
|
296
304
|
|
|
297
305
|
全是结构化 JSON —— 随时可导出、可分析、可生成汇报。
|
|
298
306
|
|
|
@@ -337,6 +345,7 @@ PRD 接入 → 需求分析 → 任务拆分
|
|
|
337
345
|
|
|
338
346
|
```bash
|
|
339
347
|
aida init # 交互式初始化
|
|
348
|
+
aida migrate-legacy # 一条命令升级旧 .aidevos 项目
|
|
340
349
|
aida start # 创建新的开发运行
|
|
341
350
|
aida status # 查看当前运行状态
|
|
342
351
|
aida dashboard # 启动数据看板(默认端口 2375)
|
|
@@ -352,6 +361,8 @@ aida update # 更新 Skills 到最新版本
|
|
|
352
361
|
aida migrate # 迁移旧数据到当前 schema
|
|
353
362
|
```
|
|
354
363
|
|
|
364
|
+
`aida init` 和 `aida build` 现在在 TTY 终端中使用真正的多选交互;在非交互环境里会自动回退为逗号分隔数字输入,便于脚本和 CI 使用。
|
|
365
|
+
|
|
355
366
|
</details>
|
|
356
367
|
|
|
357
368
|
<details>
|
|
@@ -380,16 +391,16 @@ AIDA 使用 [Model Context Protocol](https://modelcontextprotocol.io/) —— AI
|
|
|
380
391
|
### 架构设计
|
|
381
392
|
|
|
382
393
|
```
|
|
383
|
-
.
|
|
394
|
+
.aida/rules.json ← 唯一数据源,提交到 git
|
|
384
395
|
↓
|
|
385
396
|
aida rules build
|
|
386
397
|
↓
|
|
387
|
-
.
|
|
398
|
+
.aida/rules/*.md ← 自动生成的视图文件,加入 gitignore
|
|
388
399
|
↓
|
|
389
400
|
AI 下次读取规则
|
|
390
401
|
```
|
|
391
402
|
|
|
392
|
-
`aida init` 会自动将 `.
|
|
403
|
+
`aida init` 会自动将 `.aida/rules/*.md` 写入 `.gitignore`。不要手动编辑 `.md` 文件——它们始终由 `rules.json` 重新生成。
|
|
393
404
|
|
|
394
405
|
### 日常流程
|
|
395
406
|
|
|
@@ -408,7 +419,7 @@ aida rules build # 从更新后的 rules.json 重新生成本地规则视图
|
|
|
408
419
|
# git merge 在 rules.json 产生冲突后执行:
|
|
409
420
|
aida rules merge # 按 fingerprint 做并集——不丢规则,不产生重复
|
|
410
421
|
aida rules build # 重建 .md 视图
|
|
411
|
-
git add .
|
|
422
|
+
git add .aida/rules.json
|
|
412
423
|
git commit -m "merge: resolve rules conflict"
|
|
413
424
|
```
|
|
414
425
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAqBA,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAoC3C"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { green, red, yellow } from '../../utils/display.js';
|
|
2
|
+
import { buildProjectArtifacts, readConfiguredTools } from '../../utils/ai-build.js';
|
|
3
|
+
import { configPath } from '../../utils/paths.js';
|
|
4
|
+
import { fileExists } from '../../utils/fs.js';
|
|
5
|
+
import { promptMultiSelect } from '../../utils/prompt.js';
|
|
6
|
+
function requestedTools() {
|
|
7
|
+
return process.argv.slice(3);
|
|
8
|
+
}
|
|
9
|
+
async function selectTools(configured) {
|
|
10
|
+
const requested = requestedTools();
|
|
11
|
+
if (requested.length > 0)
|
|
12
|
+
return requested;
|
|
13
|
+
const selected = await promptMultiSelect('Select AI tools to build:', configured.map((tool) => ({ value: tool, label: tool })), { required: false });
|
|
14
|
+
return selected.length > 0 ? selected : configured;
|
|
15
|
+
}
|
|
16
|
+
export async function build() {
|
|
17
|
+
const projectRoot = process.cwd();
|
|
18
|
+
if (!fileExists(configPath(projectRoot))) {
|
|
19
|
+
console.log(red('\n AIDA not initialized. Run `npx aida init` first.\n'));
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const configured = readConfiguredTools(projectRoot);
|
|
23
|
+
if (configured.length === 0) {
|
|
24
|
+
console.log(yellow('\n No AI tools configured in .aida/config.json.\n'));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const targets = await selectTools(configured);
|
|
28
|
+
const result = buildProjectArtifacts(projectRoot, targets);
|
|
29
|
+
console.log(green('\n ✓ AIDA build completed') +
|
|
30
|
+
`: ${result.ruleViews} rule views, ${result.skillViews} skill views, ${result.commandFiles} tool command files\n`);
|
|
31
|
+
if (result.tools.length > 0) {
|
|
32
|
+
console.log(` Targets: ${result.tools.join(', ')}`);
|
|
33
|
+
}
|
|
34
|
+
if (result.mcpFiles.length > 0) {
|
|
35
|
+
console.log(` MCP: ${result.mcpFiles.join(', ')}`);
|
|
36
|
+
}
|
|
37
|
+
if (result.tools.includes('codex')) {
|
|
38
|
+
console.log(' Codex: global ~/.codex/config.toml has been updated for the aida MCP server');
|
|
39
|
+
}
|
|
40
|
+
console.log(` Tool config snapshot: ${result.toolConfigSnapshot}`);
|
|
41
|
+
if (result.gitignoreAdded.length > 0) {
|
|
42
|
+
console.log(` .gitignore: added ${result.gitignoreAdded.join(', ')}`);
|
|
43
|
+
}
|
|
44
|
+
console.log('');
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ function loadDemoData(projectRoot) {
|
|
|
10
10
|
const demoPath = resolve(ASSETS_DIR, 'templates', 'demo-run.json');
|
|
11
11
|
if (!existsSync(demoPath))
|
|
12
12
|
return;
|
|
13
|
-
const demoDir = resolve(projectRoot, '.
|
|
13
|
+
const demoDir = resolve(projectRoot, '.aida', 'runs', 'demo-feature', 'demo-dev');
|
|
14
14
|
ensureDir(demoDir);
|
|
15
15
|
const data = readJson(demoPath);
|
|
16
16
|
writeJson(resolve(demoDir, 'run.json'), data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../src/cli/commands/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,SAAS,YAAY,CAAC,WAAmB;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IACnE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IAElC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../src/cli/commands/dashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/import.ts"],"names":[],"mappings":"AAeA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA8DnD"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { green, red, yellow } from '../../utils/display.js';
|
|
2
|
+
import { configPath } from '../../utils/paths.js';
|
|
3
|
+
import { fileExists } from '../../utils/fs.js';
|
|
4
|
+
import { importProjectSources, importProjectSourcesWithBaseline } from '../../utils/import.js';
|
|
5
|
+
import { buildProjectArtifacts } from '../../utils/ai-build.js';
|
|
6
|
+
function requestedBaseline() {
|
|
7
|
+
const value = process.argv[3]?.trim();
|
|
8
|
+
if (!value)
|
|
9
|
+
return null;
|
|
10
|
+
if (['claude-code', 'cursor', 'vscode-copilot', 'windsurf', 'lingma', 'codex'].includes(value)) {
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
return 'invalid';
|
|
14
|
+
}
|
|
15
|
+
export async function importSources() {
|
|
16
|
+
const projectRoot = process.cwd();
|
|
17
|
+
if (!fileExists(configPath(projectRoot))) {
|
|
18
|
+
console.log(red('\n AIDA not initialized. Run `npx aida init` first.\n'));
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const baseline = requestedBaseline();
|
|
22
|
+
if (baseline === 'invalid') {
|
|
23
|
+
console.log(red(`\n Unknown baseline tool: ${process.argv[3]?.trim()}\n`));
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (baseline) {
|
|
27
|
+
const imported = importProjectSourcesWithBaseline(projectRoot, baseline);
|
|
28
|
+
const result = buildProjectArtifacts(projectRoot, imported.tools);
|
|
29
|
+
console.log(green('\n ✓ Existing project sources imported') +
|
|
30
|
+
`: ${imported.rulesImported} rules, ${imported.skillsImported} skills\n`);
|
|
31
|
+
console.log(` Baseline: ${baseline}`);
|
|
32
|
+
console.log(` Baseline imported: ${imported.baseline.rulesImported} rules, ${imported.baseline.skillsImported} skills`);
|
|
33
|
+
if (imported.tools.length === 0) {
|
|
34
|
+
console.log(yellow(' No existing AI tool configs were discovered.\n'));
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
console.log(` Tools: ${imported.tools.join(', ')}`);
|
|
38
|
+
console.log(` Tool config snapshot: ${imported.snapshotPath}`);
|
|
39
|
+
console.log(` Rebuilt: ${result.ruleViews} rule views, ${result.skillViews} skill views, ${result.commandFiles} tool command files`);
|
|
40
|
+
if (imported.gitignoreAdded.length > 0) {
|
|
41
|
+
console.log(` .gitignore: added ${imported.gitignoreAdded.join(', ')}`);
|
|
42
|
+
}
|
|
43
|
+
console.log('');
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const imported = importProjectSources(projectRoot);
|
|
47
|
+
const result = buildProjectArtifacts(projectRoot, imported.tools);
|
|
48
|
+
console.log(green('\n ✓ Existing project sources imported') +
|
|
49
|
+
`: ${imported.rulesImported} rules, ${imported.skillsImported} skills\n`);
|
|
50
|
+
if (imported.tools.length === 0) {
|
|
51
|
+
console.log(yellow(' No existing AI tool configs were discovered.\n'));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
console.log(` Tools: ${imported.tools.join(', ')}`);
|
|
55
|
+
console.log(` Tool config snapshot: ${imported.snapshotPath}`);
|
|
56
|
+
console.log(` Rebuilt: ${result.ruleViews} rule views, ${result.skillViews} skill views, ${result.commandFiles} tool command files`);
|
|
57
|
+
if (imported.gitignoreAdded.length > 0) {
|
|
58
|
+
console.log(` .gitignore: added ${imported.gitignoreAdded.join(', ')}`);
|
|
59
|
+
}
|
|
60
|
+
console.log('');
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../src/cli/commands/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAqB,MAAM,yBAAyB,CAAC;AAEnF,SAAS,iBAAiB;IACxB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/F,OAAO,KAAqB,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAElC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,8BAA8B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,gCAAgC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAElE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,yCAAyC,CAAC;YAChD,KAAK,QAAQ,CAAC,aAAa,WAAW,QAAQ,CAAC,cAAc,WAAW,CACzE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,wBAAwB,QAAQ,CAAC,QAAQ,CAAC,aAAa,WAAW,QAAQ,CAAC,QAAQ,CAAC,cAAc,SAAS,CAAC,CAAC;QACzH,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CACT,cAAc,MAAM,CAAC,SAAS,gBAAgB,MAAM,CAAC,UAAU,iBAAiB,MAAM,CAAC,YAAY,qBAAqB,CACzH,CAAC;QACF,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,yCAAyC,CAAC;QAChD,KAAK,QAAQ,CAAC,aAAa,WAAW,QAAQ,CAAC,cAAc,WAAW,CACzE,CAAC;IAEF,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CACT,cAAc,MAAM,CAAC,SAAS,gBAAgB,MAAM,CAAC,UAAU,iBAAiB,MAAM,CAAC,YAAY,qBAAqB,CACzH,CAAC;IACF,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AA+GA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAwO1C"}
|