ai-spector 0.8.7 → 0.8.16
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 +147 -36
- package/README.vi.md +218 -0
- package/dist/core/prototype/validate.d.ts.map +1 -1
- package/dist/core/prototype/validate.js +11 -0
- package/dist/core/prototype/validate.js.map +1 -1
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -1,57 +1,139 @@
|
|
|
1
1
|
# AI Spector
|
|
2
2
|
|
|
3
|
-
Documentation workflow in **Cursor**: traceability graph, SRS
|
|
3
|
+
Documentation workflow in **Cursor** or **Claude Code**: traceability graph, SRS, basic design, and UI prototypes (static HTML or SPA static build). **Describe what you need in chat** — skills route the agent, which runs `ai-spector` CLI or MCP tools. You usually do not run CLI yourself.
|
|
4
4
|
|
|
5
|
-
**Needs:** Node 20+, [Cursor](https://cursor.com)
|
|
5
|
+
**Needs:** Node 20+, Git, [Cursor](https://cursor.com) and/or [Claude Code](https://docs.anthropic.com/en/docs/claude-code), Python 3.11+ *(optional — CocoIndex semantic search)*.
|
|
6
|
+
|
|
7
|
+
**Course (step-by-step):** [docs/course/README.md](docs/course/README.md)
|
|
8
|
+
|
|
9
|
+
**Tiếng Việt:** [README.vi.md](README.vi.md)
|
|
10
|
+
|
|
11
|
+
---
|
|
6
12
|
|
|
7
13
|
## Setup (once)
|
|
8
14
|
|
|
9
|
-
|
|
15
|
+
### Prerequisites
|
|
16
|
+
|
|
17
|
+
| Requirement | Check |
|
|
18
|
+
|-------------|-------|
|
|
19
|
+
| Node.js ≥ 20 | `node --version` |
|
|
20
|
+
| Git repository | `git status` |
|
|
21
|
+
| Cursor and/or Claude Code | IDE open in project root |
|
|
22
|
+
| Python ≥ 3.11 *(optional)* | only for CocoIndex semantic search |
|
|
23
|
+
|
|
24
|
+
---
|
|
10
25
|
|
|
11
|
-
|
|
26
|
+
### Step 1 — Scaffold *(only CLI step)*
|
|
27
|
+
|
|
28
|
+
Run once at your project root. On the **first** run, pass `--registry` so `npx` can download the package from the internal Verdaccio registry (`http://10.101.0.239:4873`). No `npm login` required.
|
|
12
29
|
|
|
13
30
|
```bash
|
|
14
|
-
|
|
15
|
-
npx ai-spector setup # guided wizard
|
|
16
|
-
npx ai-spector setup -y -l en,jp # non-interactive
|
|
17
|
-
npx ai-spector setup --check # audit checklist
|
|
31
|
+
npx ai-spector@latest init --registry http://10.101.0.239:4873
|
|
18
32
|
```
|
|
19
33
|
|
|
20
|
-
|
|
21
|
-
2. Put source material in `docs/data-source/`.
|
|
34
|
+
The wizard prompts for editor (Cursor, Claude Code, or both), languages, git hook, and optional CocoIndex.
|
|
22
35
|
|
|
23
|
-
|
|
36
|
+
This creates:
|
|
24
37
|
|
|
25
|
-
|
|
38
|
+
- `.ai-spector/` — config, graph, templates
|
|
39
|
+
- `docs/data-source/`, `docs/srs/`, `docs/basic-design/`
|
|
40
|
+
- **Cursor:** `.cursor/` — skills, rules, `mcp.json`
|
|
41
|
+
- **Claude Code:** `CLAUDE.md` + `.claude/skills/` + `.mcp.json`
|
|
42
|
+
- Pre-commit hook (when git is available)
|
|
26
43
|
|
|
27
|
-
|
|
44
|
+
---
|
|
28
45
|
|
|
29
|
-
###
|
|
46
|
+
### Step 2 — Finish setup in chat
|
|
47
|
+
|
|
48
|
+
Open the project in **Cursor** or **Claude Code** and say:
|
|
30
49
|
|
|
31
50
|
```text
|
|
32
|
-
|
|
33
|
-
“validate the graph”
|
|
34
|
-
“generate the SRS”
|
|
35
|
-
“refresh the index”
|
|
51
|
+
setup ai-spector project
|
|
36
52
|
```
|
|
37
53
|
|
|
38
|
-
|
|
54
|
+
The agent installs the npm dependency (if needed), verifies the checklist, offers CocoIndex, and reminds you what is left to do manually.
|
|
39
55
|
|
|
40
|
-
|
|
56
|
+
---
|
|
41
57
|
|
|
42
|
-
|
|
43
|
-
|
|
58
|
+
### Step 3 — Enable the agent *(manual, one-time)*
|
|
59
|
+
|
|
60
|
+
**Cursor**
|
|
61
|
+
|
|
62
|
+
1. **Settings → Rules → Agent Skills** — enable **all** folders under `.cursor/skills/` (see `.cursor/skills/README.md`)
|
|
63
|
+
2. **Reload MCP** — `.cursor/mcp.json` registers the `ai-spector` MCP server
|
|
64
|
+
|
|
65
|
+
**Claude Code**
|
|
66
|
+
|
|
67
|
+
1. Skills load automatically from `.claude/skills/` (see `CLAUDE.md`)
|
|
68
|
+
2. **Reload MCP** — `.mcp.json` registers the `ai-spector` MCP server
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### Step 4 — Add source material
|
|
73
|
+
|
|
74
|
+
Drop requirements docs, meeting notes, user stories, or any input into `docs/data-source/`. Supported formats: `.md`, `.txt`, `.pdf`.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
### Step 5 — Start the pipeline
|
|
79
|
+
|
|
80
|
+
In chat:
|
|
81
|
+
|
|
82
|
+
```text
|
|
83
|
+
analyze my data source
|
|
44
84
|
```
|
|
45
85
|
|
|
46
|
-
|
|
86
|
+
Then continue in chat as needed — see [Workflow](#workflow) below.
|
|
47
87
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
### Optional — CocoIndex semantic search
|
|
91
|
+
|
|
92
|
+
Enables `docs_search` and `graph_query_fuzzy` MCP tools. Requires Python ≥ 3.11.
|
|
93
|
+
|
|
94
|
+
In chat:
|
|
95
|
+
|
|
96
|
+
```text
|
|
97
|
+
enable CocoIndex for this project
|
|
52
98
|
```
|
|
53
99
|
|
|
54
|
-
|
|
100
|
+
See [docs/setup-guide.md](docs/setup-guide.md) for Postgres / OpenAI embedding options.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
### Add another editor later
|
|
105
|
+
|
|
106
|
+
In chat:
|
|
107
|
+
|
|
108
|
+
```text
|
|
109
|
+
add Claude Code support to ai-spector
|
|
110
|
+
sync ai-spector cursor skills
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
After upgrading ai-spector, say **"sync ai-spector cursor skills"** in chat.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Workflow
|
|
118
|
+
|
|
119
|
+
See `.cursor/WORKFLOW.md` (Cursor) or `CLAUDE.md` (Claude Code) after `init`.
|
|
120
|
+
|
|
121
|
+
### First run
|
|
122
|
+
|
|
123
|
+
Say in chat:
|
|
124
|
+
|
|
125
|
+
```text
|
|
126
|
+
“analyze the data source”
|
|
127
|
+
“validate the graph”
|
|
128
|
+
“generate the SRS”
|
|
129
|
+
“refresh the index”
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Then: **“generate basic design”** as needed.
|
|
133
|
+
|
|
134
|
+
**Prototype** — static HTML (default) or SPA (React/Vue/etc. built to static files in `prototype/dist/`). Say **“generate prototype”** or **“generate HTML prototype”** for plain HTML; **“generate prototype with Vue”** (or React) for SPA. If no theme is saved, the agent recommends 3 themes, opens previews, and waits for you to pick. Or name one upfront: **“prototype with stripe theme”**.
|
|
135
|
+
|
|
136
|
+
Then: **“generate prototype for all screens”**. For SPA, run the framework build and `npx ai-spector prototype sync`.
|
|
55
137
|
|
|
56
138
|
### Day to day
|
|
57
139
|
|
|
@@ -60,9 +142,11 @@ Then ask: “generate HTML prototype for all screens” → `npx ai-spector prot
|
|
|
60
142
|
| New or changed data source | “analyze data source” |
|
|
61
143
|
| Check graph | “validate the graph” |
|
|
62
144
|
| Regenerate docs | “generate SRS”, “generate basic design”, … |
|
|
63
|
-
| HTML
|
|
145
|
+
| Prototype (HTML or SPA) | “generate prototype”, “generate prototype with Vue”, “prototype with stripe theme” |
|
|
64
146
|
| Choose a theme | “help me pick a prototype theme”, “show me theme options” |
|
|
65
147
|
| After doc edits | “re-index the graph” |
|
|
148
|
+
| Multi-language sync | “add language vi”, “resolve translations”, “translation status” — [Work 10](docs/course/10-multi-language.md) |
|
|
149
|
+
| Custom templates | “set up template pack”, “template list”, `generate <pack-name>` — [Work 17](docs/course/17-custom-template-packs.md) |
|
|
66
150
|
| What to redo | “what’s the impact of my changes” |
|
|
67
151
|
| Review comments | “resolve comments” |
|
|
68
152
|
| Explore graph | “visualize the graph” |
|
|
@@ -71,25 +155,50 @@ Then ask: “generate HTML prototype for all screens” → `npx ai-spector prot
|
|
|
71
155
|
|
|
72
156
|
```text
|
|
73
157
|
docs/data-source/ → analyze → validate graph → generate SRS → index
|
|
74
|
-
→ generate basic design
|
|
75
|
-
→ prototype setup → generate HTML
|
|
158
|
+
→ generate basic design
|
|
159
|
+
→ prototype setup → generate screens (HTML or SPA build)
|
|
76
160
|
```
|
|
77
161
|
|
|
162
|
+
---
|
|
163
|
+
|
|
78
164
|
## CLI (optional)
|
|
79
165
|
|
|
80
|
-
For scripts or debugging: `npx ai-spector index`, `graph validate`, `graph visualize --open`, `graph impact --git`, `prototype auth|themes|preview|setup|manifest|validate`. See `npx ai-spector --help`.
|
|
166
|
+
For scripts or debugging only: `npx ai-spector index`, `graph validate`, `graph visualize --open`, `graph impact --git`, `prototype auth|themes|preview|setup|manifest|validate`. See `npx ai-spector --help`.
|
|
167
|
+
|
|
168
|
+
---
|
|
81
169
|
|
|
82
170
|
## If something breaks
|
|
83
171
|
|
|
84
172
|
| Issue | Fix |
|
|
85
173
|
|-------|-----|
|
|
86
|
-
|
|
|
87
|
-
|
|
|
88
|
-
|
|
|
174
|
+
| MCP tools unavailable | Reload MCP; confirm `.cursor/mcp.json` or `.mcp.json` has `ai-spector` server |
|
|
175
|
+
| Setup incomplete | In chat: **“check ai-spector setup”** |
|
|
176
|
+
| Skills not routing (Cursor) | Re-enable all folders under `.cursor/skills/` in Settings → Rules |
|
|
177
|
+
| Validate errors after edits | In chat: **“re-index the graph”** |
|
|
178
|
+
| Pre-commit hook missing | In chat: **“install ai-spector git hook”** |
|
|
179
|
+
| Agent stuck on CLI error | `.cursor/skills/ai-spector/references/cli-failures.md` |
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Node SDK
|
|
184
|
+
|
|
185
|
+
For **scripts, CI, or custom backends** that call the same operations as the CLI and MCP server:
|
|
186
|
+
|
|
187
|
+
- **[SDK guide](docs/sdk.md)** — install, entry points, examples, API reference
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
npm install ai-spector
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
```ts
|
|
194
|
+
import { runIndex, runGraphImpact, validateGraph } from "ai-spector";
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
---
|
|
89
198
|
|
|
90
199
|
## Web / graph SDK
|
|
91
200
|
|
|
92
|
-
For **browser or custom dashboards** (not the Cursor CLI), use the read-only npm package **`ai-spector-graph`**. Your backend serves repo JSON; the frontend loads it into `ProjectSession`.
|
|
201
|
+
For **browser or custom dashboards** (not the Cursor/Claude CLI), use the read-only npm package **`ai-spector-graph`**. Your backend serves repo JSON; the frontend loads it into `ProjectSession`.
|
|
93
202
|
|
|
94
203
|
- **[Integration guide](docs/ai-spector-graph-integration-guide.md)** — architecture, API examples, React, recipes
|
|
95
204
|
- **[API reference](docs/ai-spector-graph.md)** — types and exports
|
|
@@ -98,6 +207,8 @@ For **browser or custom dashboards** (not the Cursor CLI), use the read-only npm
|
|
|
98
207
|
npm install ai-spector-graph
|
|
99
208
|
```
|
|
100
209
|
|
|
210
|
+
---
|
|
211
|
+
|
|
101
212
|
## Develop
|
|
102
213
|
|
|
103
214
|
```bash
|
package/README.vi.md
ADDED
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# AI Spector
|
|
2
|
+
|
|
3
|
+
Công cụ làm tài liệu phần mềm trên **Cursor** hoặc **Claude Code**: sơ đồ liên kết, SRS, basic design và prototype UI (HTML tĩnh hoặc SPA build ra file tĩnh). **Bạn chỉ cần nói trong chat** — agent sẽ tự chạy lệnh `ai-spector` hoặc MCP. Thường bạn không cần gõ lệnh terminal.
|
|
4
|
+
|
|
5
|
+
**Cần có:** Node 20+, Git, [Cursor](https://cursor.com) và/hoặc [Claude Code](https://docs.anthropic.com/en/docs/claude-code), Python 3.11+ *(không bắt buộc — dùng cho tìm kiếm thông minh với CocoIndex)*.
|
|
6
|
+
|
|
7
|
+
Hướng dẫn chi tiết: [docs/setup-guide.md](docs/setup-guide.md)
|
|
8
|
+
|
|
9
|
+
**English:** [README.md](README.md)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Cài đặt (làm một lần)
|
|
14
|
+
|
|
15
|
+
### Cần chuẩn bị gì
|
|
16
|
+
|
|
17
|
+
| Cần có | Cách kiểm tra |
|
|
18
|
+
|--------|---------------|
|
|
19
|
+
| Node.js ≥ 20 | `node --version` |
|
|
20
|
+
| Git | `git status` |
|
|
21
|
+
| Cursor và/hoặc Claude Code | Mở IDE ở thư mục gốc project |
|
|
22
|
+
| Python ≥ 3.11 *(không bắt buộc)* | chỉ cần nếu bật CocoIndex |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
### Bước 1 — Khởi tạo project *(bước duy nhất cần gõ lệnh)*
|
|
27
|
+
|
|
28
|
+
Chạy một lần ở thư mục gốc project. **Lần đầu** cần thêm `--registry` để `npx` tải gói từ registry nội bộ (`http://10.101.0.239:4873`). **Không cần** `npm login`.
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npx ai-spector@latest init --registry http://10.101.0.239:4873
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Lệnh sẽ hỏi: dùng Cursor, Claude Code hay cả hai; ngôn ngữ tài liệu; git hook; và có bật CocoIndex không.
|
|
35
|
+
|
|
36
|
+
Sau khi chạy xong sẽ có:
|
|
37
|
+
|
|
38
|
+
- `.ai-spector/` — cấu hình, sơ đồ, mẫu tài liệu
|
|
39
|
+
- `docs/data-source/`, `docs/srs/`, `docs/basic-design/`
|
|
40
|
+
- **Cursor:** `.cursor/` — skills, rules, `mcp.json`
|
|
41
|
+
- **Claude Code:** `CLAUDE.md` + `.claude/skills/` + `.mcp.json`
|
|
42
|
+
- Hook git trước khi commit *(nếu project có git)*
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
### Bước 2 — Hoàn tất setup trong chat
|
|
47
|
+
|
|
48
|
+
Mở project bằng **Cursor** hoặc **Claude Code**, rồi gõ:
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
setup ai-spector project
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Agent sẽ cài gói npm (nếu thiếu), kiểm tra xem còn thiếu gì, hỏi bạn có muốn bật CocoIndex không, và nhắc các bước còn lại.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### Bước 3 — Bật skills *(làm tay một lần)*
|
|
59
|
+
|
|
60
|
+
**Cursor**
|
|
61
|
+
|
|
62
|
+
1. Vào **Settings → Rules → Agent Skills** — bật **hết** các thư mục trong `.cursor/skills/` (xem `.cursor/skills/README.md`)
|
|
63
|
+
2. **Reload MCP** — file `.cursor/mcp.json` đã cấu hình sẵn server `ai-spector`
|
|
64
|
+
|
|
65
|
+
**Claude Code**
|
|
66
|
+
|
|
67
|
+
1. Skills tự load từ `.claude/skills/` (xem `CLAUDE.md`)
|
|
68
|
+
2. **Reload MCP** — file `.mcp.json` đã cấu hình sẵn server `ai-spector`
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### Bước 4 — Thêm tài liệu đầu vào
|
|
73
|
+
|
|
74
|
+
Copy file yêu cầu, biên bản họp, user story… vào `docs/data-source/`. Hỗ trợ: `.md`, `.txt`, `.pdf`.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
### Bước 5 — Bắt đầu làm việc
|
|
79
|
+
|
|
80
|
+
Trong chat, gõ:
|
|
81
|
+
|
|
82
|
+
```text
|
|
83
|
+
analyze my data source
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Các bước tiếp theo cũng nói trong chat — xem [Quy trình làm việc](#quy-trình-làm-việc) bên dưới.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
### Tùy chọn — Bật CocoIndex (tìm kiếm thông minh)
|
|
91
|
+
|
|
92
|
+
Giúp agent tìm tài liệu và sơ đồ theo nghĩa, không chỉ theo từ khóa. Cần Python ≥ 3.11.
|
|
93
|
+
|
|
94
|
+
Trong chat:
|
|
95
|
+
|
|
96
|
+
```text
|
|
97
|
+
enable CocoIndex for this project
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Xem thêm [docs/setup-guide.md](docs/setup-guide.md) nếu muốn dùng Postgres hoặc OpenAI embedding.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
### Thêm editor khác sau này
|
|
105
|
+
|
|
106
|
+
Trong chat:
|
|
107
|
+
|
|
108
|
+
```text
|
|
109
|
+
add Claude Code support to ai-spector
|
|
110
|
+
sync ai-spector cursor skills
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Sau khi nâng cấp ai-spector, gõ **"sync ai-spector cursor skills"** trong chat.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Quy trình làm việc
|
|
118
|
+
|
|
119
|
+
Sau khi `init`, xem thêm `.cursor/WORKFLOW.md` (Cursor) hoặc `CLAUDE.md` (Claude Code).
|
|
120
|
+
|
|
121
|
+
### Lần đầu chạy
|
|
122
|
+
|
|
123
|
+
Gõ trong chat:
|
|
124
|
+
|
|
125
|
+
```text
|
|
126
|
+
“analyze the data source”
|
|
127
|
+
“validate the graph”
|
|
128
|
+
“generate the SRS”
|
|
129
|
+
“refresh the index”
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Tiếp theo: **“generate basic design”** khi cần.
|
|
133
|
+
|
|
134
|
+
**Prototype** — HTML tĩnh (mặc định) hoặc SPA (React/Vue/… build ra `prototype/dist/`). Gõ **“generate prototype”** hoặc **“generate HTML prototype”** cho HTML; **“generate prototype with Vue”** (hoặc React) cho SPA. Nếu chưa chọn theme, agent gợi ý 3 theme, mở xem trên trình duyệt, rồi chờ bạn chọn. Hoặc nói luôn: **“prototype with stripe theme”**.
|
|
135
|
+
|
|
136
|
+
Sau đó: **“generate prototype for all screens”**. Với SPA, chạy build framework rồi `npx ai-spector prototype sync`.
|
|
137
|
+
|
|
138
|
+
### Dùng hàng ngày
|
|
139
|
+
|
|
140
|
+
| Khi nào | Gõ trong chat (ví dụ) |
|
|
141
|
+
|---------|------------------------|
|
|
142
|
+
| Có tài liệu nguồn mới hoặc sửa | “analyze data source” |
|
|
143
|
+
| Kiểm tra sơ đồ | “validate the graph” |
|
|
144
|
+
| Tạo lại tài liệu | “generate SRS”, “generate basic design”, … |
|
|
145
|
+
| Prototype (HTML hoặc SPA) | “generate prototype”, “generate prototype with Vue”, “prototype with stripe theme” |
|
|
146
|
+
| Chọn theme | “help me pick a prototype theme”, “show me theme options” |
|
|
147
|
+
| Vừa sửa tài liệu xong | “re-index the graph” |
|
|
148
|
+
| Đồng bộ đa ngôn ngữ | “add language vi”, “resolve translations”, “translation status” — [Work 10](docs/course/10-multi-language.md) |
|
|
149
|
+
| Template tùy chỉnh | “set up template pack”, “template list”, `generate <pack-name>` — [Work 17](docs/course/17-custom-template-packs.md) |
|
|
150
|
+
| Xem phần nào bị ảnh hưởng | “what’s the impact of my changes” |
|
|
151
|
+
| Xử lý comment | “resolve comments” |
|
|
152
|
+
| Xem sơ đồ trực quan | “visualize the graph” |
|
|
153
|
+
|
|
154
|
+
### Quy trình thường gặp
|
|
155
|
+
|
|
156
|
+
```text
|
|
157
|
+
docs/data-source/ → analyze → validate graph → generate SRS → index
|
|
158
|
+
→ generate basic design
|
|
159
|
+
→ prototype setup → generate screens (HTML hoặc SPA build)
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## CLI (nếu cần)
|
|
165
|
+
|
|
166
|
+
Chỉ dùng khi viết script hoặc debug: `npx ai-spector index`, `graph validate`, `graph visualize --open`, `graph impact --git`, `prototype auth|themes|preview|setup|manifest|validate`. Gõ `npx ai-spector --help` để xem đầy đủ.
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Gặp lỗi thì làm gì
|
|
171
|
+
|
|
172
|
+
| Lỗi | Cách xử lý |
|
|
173
|
+
|-----|------------|
|
|
174
|
+
| MCP không chạy | Reload MCP; kiểm tra `.cursor/mcp.json` hoặc `.mcp.json` có server `ai-spector` |
|
|
175
|
+
| Setup chưa xong | Trong chat: **“check ai-spector setup”** |
|
|
176
|
+
| Agent không hiểu lệnh (Cursor) | Bật lại hết thư mục trong `.cursor/skills/` ở Settings → Rules |
|
|
177
|
+
| Validate báo lỗi sau khi sửa | Trong chat: **“re-index the graph”** |
|
|
178
|
+
| Thiếu hook git | Trong chat: **“install ai-spector git hook”** |
|
|
179
|
+
| Agent bị kẹt vì lỗi CLI | Xem `.cursor/skills/ai-spector/references/cli-failures.md` |
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Node SDK
|
|
184
|
+
|
|
185
|
+
Dùng khi bạn viết **script, CI, hoặc backend tùy chỉnh** — cùng các thao tác typed như CLI và MCP:
|
|
186
|
+
|
|
187
|
+
- **[Hướng dẫn SDK](docs/sdk.md)** — cài đặt, entry points, ví dụ, tham chiếu API
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
npm install ai-spector
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
```ts
|
|
194
|
+
import { runIndex, runGraphImpact, validateGraph } from "ai-spector";
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Web / graph SDK
|
|
200
|
+
|
|
201
|
+
Dùng khi bạn muốn **hiển thị sơ đồ trên web hoặc dashboard riêng** (không qua Cursor/Claude). Cài gói **`ai-spector-graph`**, backend trả JSON từ repo, frontend load vào `ProjectSession`.
|
|
202
|
+
|
|
203
|
+
- **[Hướng dẫn tích hợp](docs/ai-spector-graph-integration-guide.md)** — kiến trúc, ví dụ API, React
|
|
204
|
+
- **[Tham chiếu API](docs/ai-spector-graph.md)** — types và exports
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
npm install ai-spector-graph
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Phát triển (cho người đóng góp code)
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
npm install && npm run build && npm test
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
MIT — [LICENSE](LICENSE).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/core/prototype/validate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,YAAY,CAAC;AASrE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,wBAAwB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/core/prototype/validate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,YAAY,CAAC;AASrE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,wBAAwB,EAAE,CAAC,CA2JrC;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,CAOhF"}
|
|
@@ -105,6 +105,17 @@ export async function validatePrototype(opts) {
|
|
|
105
105
|
// SPA mode: validate the single build entrypoint (replaces per-screen HTML checks above).
|
|
106
106
|
if (buildMode === "spa") {
|
|
107
107
|
const buildDest = opts.config.buildDest?.trim() || `${opts.config.prototypeDir}/dist`;
|
|
108
|
+
const allowedPrefixes = [
|
|
109
|
+
`${opts.config.prototypeDir}/dist`,
|
|
110
|
+
`${opts.config.prototypeDir}/out`,
|
|
111
|
+
];
|
|
112
|
+
if (!allowedPrefixes.some((p) => buildDest === p || buildDest.startsWith(p + "/"))) {
|
|
113
|
+
issues.push({
|
|
114
|
+
severity: "error",
|
|
115
|
+
code: "SPA_BUILD_DEST_INVALID",
|
|
116
|
+
message: `SPA buildDest must be under ${opts.config.prototypeDir}/dist or ${opts.config.prototypeDir}/out (got: "${buildDest}") — update prototype.buildDest in docflow.config.json`,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
108
119
|
const indexPath = join(opts.projectRoot, buildDest, "index.html");
|
|
109
120
|
if (!(await pathExists(indexPath))) {
|
|
110
121
|
issues.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/core/prototype/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,iBAAiB,GACrB,gFAAgF,CAAC;AAgBnF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAA8B;IAE9B,MAAM,MAAM,GAA+B,EAAE,CAAC;IAE9C,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EACL,6IAA6I;SAChJ,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACtE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,WAAW,IAAI,CAAC,MAAM,CAAC,YAAY,qDAAqD;gBACjG,IAAI,EAAE,YAAY;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACvF,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,WAAW,IAAI,CAAC,MAAM,CAAC,YAAY,sDAAsD;YAClG,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAoB,YAAY,CAAC,CAAC;IACjE,IAAI,QAAQ,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,uCAAuC,QAAQ,CAAC,aAAa,EAAE;SACzE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,uFAAuF;SACjG,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC;IAEpD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,4BAA4B,MAAM,CAAC,aAAa,EAAE;aAC5D,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAEhC,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,OAAO,CAAC,CAAC;YAC5F,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;oBACxC,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,oBAAoB,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,OAAO;oBACrG,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,mBAAmB,KAAK,KAAK,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC9C,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,MAAM,CAAC,IAAI,CAAC;wBACV,QAAQ,EAAE,MAAM;wBAChB,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,4BAA4B,MAAM,CAAC,aAAa,kDAAkD;wBAC3G,IAAI,EAAE,QAAQ;qBACf,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC;wBACV,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;wBACxC,IAAI,EAAE,qBAAqB;wBAC3B,OAAO,EAAE,+BAA+B,MAAM,CAAC,aAAa,UAAU,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,qEAAqE;wBACrN,IAAI,EAAE,QAAQ;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,8BAA8B,MAAM,CAAC,SAAS,EAAE;gBACzD,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0FAA0F;IAC1F,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/core/prototype/validate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-spector",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.16",
|
|
4
4
|
"description": "Cursor-first documentation workflow: traceability graph, SRS/basic/detail design templates, and ai-spector CLI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"scaffold",
|
|
35
35
|
"assets",
|
|
36
36
|
"README.md",
|
|
37
|
+
"README.vi.md",
|
|
37
38
|
"LICENSE"
|
|
38
39
|
],
|
|
39
40
|
"exports": {
|
|
@@ -63,7 +64,9 @@
|
|
|
63
64
|
"graph:visualize": "node dist/cli.js -r example graph visualize --open",
|
|
64
65
|
"ai-spector": "node dist/cli.js",
|
|
65
66
|
"themes:install-previews": "node dist/cli.js prototype install-previews",
|
|
66
|
-
"themes:preview": "node dist/cli.js prototype preview"
|
|
67
|
+
"themes:preview": "node dist/cli.js prototype preview",
|
|
68
|
+
"deploy": "bash scripts/deploy.sh",
|
|
69
|
+
"deploy:npm": "bash scripts/deploy.sh --npm"
|
|
67
70
|
},
|
|
68
71
|
"dependencies": {
|
|
69
72
|
"@modelcontextprotocol/sdk": "^1.29.0",
|