ai-spector 0.3.0 → 0.3.2

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.
Files changed (84) hide show
  1. package/README.md +136 -14
  2. package/dist/cli.js +97 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/comments.d.ts +41 -0
  5. package/dist/commands/comments.d.ts.map +1 -0
  6. package/dist/commands/comments.js +138 -0
  7. package/dist/commands/comments.js.map +1 -0
  8. package/dist/commands/init.d.ts +4 -0
  9. package/dist/commands/init.d.ts.map +1 -1
  10. package/dist/commands/init.js +22 -5
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/sync-cursor.d.ts +6 -0
  13. package/dist/commands/sync-cursor.d.ts.map +1 -0
  14. package/dist/commands/sync-cursor.js +18 -0
  15. package/dist/commands/sync-cursor.js.map +1 -0
  16. package/dist/comments/anchor.d.ts +16 -0
  17. package/dist/comments/anchor.d.ts.map +1 -0
  18. package/dist/comments/anchor.js +59 -0
  19. package/dist/comments/anchor.js.map +1 -0
  20. package/dist/comments/inbox.d.ts +83 -0
  21. package/dist/comments/inbox.d.ts.map +1 -0
  22. package/dist/comments/inbox.js +180 -0
  23. package/dist/comments/inbox.js.map +1 -0
  24. package/dist/comments/paths.d.ts +12 -0
  25. package/dist/comments/paths.d.ts.map +1 -0
  26. package/dist/comments/paths.js +54 -0
  27. package/dist/comments/paths.js.map +1 -0
  28. package/dist/comments/plan.d.ts +20 -0
  29. package/dist/comments/plan.d.ts.map +1 -0
  30. package/dist/comments/plan.js +62 -0
  31. package/dist/comments/plan.js.map +1 -0
  32. package/dist/comments/storage.d.ts +30 -0
  33. package/dist/comments/storage.d.ts.map +1 -0
  34. package/dist/comments/storage.js +272 -0
  35. package/dist/comments/storage.js.map +1 -0
  36. package/dist/comments/types.d.ts +54 -0
  37. package/dist/comments/types.d.ts.map +1 -0
  38. package/dist/comments/types.js +2 -0
  39. package/dist/comments/types.js.map +1 -0
  40. package/dist/config/load.d.ts +2 -0
  41. package/dist/config/load.d.ts.map +1 -1
  42. package/dist/config/load.js +4 -0
  43. package/dist/config/load.js.map +1 -1
  44. package/dist/graph/detail-sections.js +1 -1
  45. package/dist/graph/detail-sections.js.map +1 -1
  46. package/dist/graph/doc-extract.d.ts +9 -3
  47. package/dist/graph/doc-extract.d.ts.map +1 -1
  48. package/dist/graph/doc-extract.js +86 -58
  49. package/dist/graph/doc-extract.js.map +1 -1
  50. package/dist/postinstall.d.ts +3 -0
  51. package/dist/postinstall.d.ts.map +1 -0
  52. package/dist/postinstall.js +44 -0
  53. package/dist/postinstall.js.map +1 -0
  54. package/documents-basic-design.json +1 -1
  55. package/package.json +3 -5
  56. package/scaffold/.ai-spector/.docflow/config/dag.basic-design.graph-seeds.json +11 -7
  57. package/scaffold/.ai-spector/.docflow/config/dag.basic-design.json +1 -1
  58. package/scaffold/{.cursor → cursor}/commands/_generate-graph.md +10 -2
  59. package/scaffold/{.cursor → cursor}/commands/_workflow.md +7 -3
  60. package/scaffold/{.cursor → cursor}/commands/generate-basic-design.md +27 -17
  61. package/scaffold/cursor/commands/resolve-comments.md +145 -0
  62. package/scaffold/cursor/skills/_skill-router.md +22 -0
  63. package/scaffold/cursor/skills/ai-spector/SKILL.md +47 -0
  64. package/scaffold/cursor/skills/ai-spector-generate/SKILL.md +41 -0
  65. package/scaffold/cursor/skills/ai-spector-graph/SKILL.md +39 -0
  66. package/scaffold/cursor/skills/ai-spector-resolve-comments/SKILL.md +42 -0
  67. package/templates/basic_design/detail-api-template.md +2 -2
  68. package/templates/basic_design/detail-screen-template.md +2 -2
  69. package/scaffold/.cursor/skills/ai-spector/SKILL.md +0 -62
  70. /package/scaffold/{.cursor → cursor}/commands/_cli-failures.md +0 -0
  71. /package/scaffold/{.cursor → cursor}/commands/_graph.md +0 -0
  72. /package/scaffold/{.cursor → cursor}/commands/_prerequisites.md +0 -0
  73. /package/scaffold/{.cursor → cursor}/commands/analyze.md +0 -0
  74. /package/scaffold/{.cursor → cursor}/commands/generate-detail-design.md +0 -0
  75. /package/scaffold/{.cursor → cursor}/commands/generate-srs.md +0 -0
  76. /package/scaffold/{.cursor → cursor}/commands/graph-impact.md +0 -0
  77. /package/scaffold/{.cursor → cursor}/commands/impact.md +0 -0
  78. /package/scaffold/{.cursor → cursor}/commands/index.md +0 -0
  79. /package/scaffold/{.cursor → cursor}/commands/link-graph.md +0 -0
  80. /package/scaffold/{.cursor → cursor}/commands/summary.md +0 -0
  81. /package/scaffold/{.cursor → cursor}/commands/sync-graph.md +0 -0
  82. /package/scaffold/{.cursor → cursor}/commands/validate-graph.md +0 -0
  83. /package/scaffold/{.cursor → cursor}/commands/visualize-graph.md +0 -0
  84. /package/scaffold/{.cursor → cursor}/mcp.json +0 -0
package/README.md CHANGED
@@ -2,25 +2,136 @@
2
2
 
3
3
  Turn project notes and specs into structured documentation (SRS, basic design, detail design) inside [Cursor](https://cursor.com).
4
4
 
5
- You work with **slash commands**. The AI runs the `ai-spector` CLI behind the scenes. You only use the terminal once: **`npx ai-spector init`**.
5
+ You work with **slash commands**. The AI runs the `ai-spector` CLI behind the scenes. You only use the terminal once for setup: **`npx ai-spector init`** (see [Installation](#installation) below).
6
6
 
7
7
  Release history: [CHANGELOG.md](CHANGELOG.md).
8
8
 
9
9
  ---
10
10
 
11
+ ## Installation
12
+
13
+ Package name: **`@kaopiz/ai-spector`**. The CLI binary is still `ai-spector`.
14
+
15
+ ### Recommended — internal registry (Verdaccio)
16
+
17
+ Add scoped registry to your **app project** (not the monorepo package source):
18
+
19
+ ```ini
20
+ # .npmrc in your app root
21
+ @kaopiz:registry=http://10.101.0.239:4873/
22
+ ```
23
+
24
+ One-shot bootstrap (installs the package + runs `init`):
25
+
26
+ ```bash
27
+ cd /path/to/your-app
28
+ npx --registry http://10.101.0.239:4873 @kaopiz/ai-spector-install
29
+ ```
30
+
31
+ Or manual install:
32
+
33
+ ```bash
34
+ npm install -D @kaopiz/ai-spector --registry http://10.101.0.239:4873
35
+ npx ai-spector init
36
+ ```
37
+
38
+ **Local Verdaccio** (maintainers): use `http://localhost:4873` instead. See [devkit-mcp `docs/release-and-publish.md`](../../docs/release-and-publish.md).
39
+
40
+ > **Note:** `@kaopiz/ai-spector` must be **published** to Verdaccio first (`npm run publish:verdaccio` from the `devkit-mcp` monorepo). A 404 on install means the package is not on the registry yet.
41
+
42
+ ### Offline — install from tarball
43
+
44
+ From the `devkit-mcp` monorepo:
45
+
46
+ ```bash
47
+ npm run build -w @kaopiz/ai-spector
48
+ mkdir -p /tmp/packs
49
+ npm pack -w @kaopiz/ai-spector --pack-destination /tmp/packs
50
+ ```
51
+
52
+ In your app:
53
+
54
+ ```bash
55
+ npm install -D /tmp/packs/kaopiz-ai-spector-0.3.1.tgz
56
+ npx ai-spector init
57
+ ```
58
+
59
+ ### With DevKit (optional)
60
+
61
+ AI Spector is **not** bundled in the default DevKit install. To add it when bootstrapping DevKit:
62
+
63
+ ```bash
64
+ npx --registry http://10.101.0.239:4873 @kaopiz/devkit-install --with-ai-spector
65
+ ```
66
+
67
+ ### Local development — `npm link`
68
+
69
+ When hacking on the CLI in `devkit-mcp/packages/ai-spector`:
70
+
71
+ ```bash
72
+ cd devkit-mcp/packages/ai-spector
73
+ npm run build
74
+ npm link # global ai-spector → this package
75
+ ```
76
+
77
+ If `npm link` fails with `EEXIST`, remove an old global install first:
78
+
79
+ ```bash
80
+ npm uninstall -g ai-spector
81
+ npm link
82
+ ```
83
+
84
+ Link into your app:
85
+
86
+ ```bash
87
+ cd /path/to/your-app
88
+ npm link @kaopiz/ai-spector
89
+ npx ai-spector init
90
+ ```
91
+
92
+ After code changes, rebuild: `npm run build` in `packages/ai-spector`.
93
+
94
+ ### Monorepo contributors
95
+
96
+ From `devkit-mcp` root (workspace already includes `@kaopiz/ai-spector`):
97
+
98
+ ```bash
99
+ npm install
100
+ npm run build -w @kaopiz/ai-spector
101
+ npm run ai-spector -- init -C /path/to/your-app
102
+ ```
103
+
104
+ Do **not** commit `.npmrc` under `packages/ai-spector/` — installers write scoped registry lines into **consumer** projects only.
105
+
106
+ ---
107
+
11
108
  ## How you work (Cursor-first)
12
109
 
13
110
  ### Once per project
14
111
 
112
+ After [installation](#installation), run **`init`** once (skip if you used `@kaopiz/ai-spector-install` — it runs init for you):
113
+
15
114
  ```bash
16
- npm install ai-spector
17
115
  npx ai-spector init
18
116
  ```
19
117
 
20
- Put your source files in `docs/data-source/`, open the folder in Cursor, turn on the **ai-spector** skill, and **reload MCP** (init writes `.cursor/mcp.json` for Graphify). Init also copies SRS/basic/detail **templates** into `.ai-spector/templates/` so agents always find them in the project.
118
+ Put your source files in `docs/data-source/`, open the folder in Cursor, **enable all ai-spector skills** (`.cursor/skills/` — see `_skill-router.md`), and **reload MCP** (init writes `.cursor/mcp.json` for Graphify). Init also copies SRS/basic/detail **templates** into `.ai-spector/templates/` so agents always find them in the project.
21
119
 
22
120
  **Graphify requires:** [uv](https://docs.astral.sh/uv/) installed; package `graphifyy` is pulled via `uv tool run` on first MCP start.
23
121
 
122
+ ### Skills (auto-routing)
123
+
124
+ You can use **slash commands** or **natural language** — Cursor picks a task skill from the `description` in each `SKILL.md`:
125
+
126
+ | Skill | Use when you ask about… |
127
+ |-------|-------------------------|
128
+ | `ai-spector` | Core rules, any docflow work |
129
+ | `ai-spector-graph` | Analyze, index, validate, impact, visualize, Graphify |
130
+ | `ai-spector-generate` | SRS, basic design, detail design generation |
131
+ | `ai-spector-resolve-comments` | Review comments, `comments/` threads, resolve C-001 |
132
+
133
+ Router reference: `.cursor/skills/_skill-router.md`. Slash commands still take priority when you type `/analyze`, etc.
134
+
24
135
  ### Slash commands
25
136
 
26
137
  | You run | What happens |
@@ -33,6 +144,7 @@ Put your source files in `docs/data-source/`, open the folder in Cursor, turn on
33
144
  | **`/index`** | Full refresh: registry/bootstrap, knowledge merge, **UC/F from markdown**, Graphify on changed paths, validate, doc indexes — run after **`/generate-srs`** |
34
145
  | **`/summary`** | Optional searchable summaries under `.ai-spector/index/` only (not a full graph refresh) |
35
146
  | **`/impact`** [what changed] | Regen scope from **your description**, git diff, selection, or path — agent resolves seeds (no node id required) |
147
+ | **`/resolve-comments`** [C-001 or file] | IDE: inbox table → plan/impact → propose/apply → **one commit** (doc + comment meta via amend) → push |
36
148
  | **`/visualize-graph`** | Browser report: graph, knowledge, detail docs, sections, **`rendersTo`** to file paths |
37
149
 
38
150
  **Typical path:**
@@ -68,11 +180,11 @@ All structure and traceability live in one file:
68
180
 
69
181
  `.ai-spector/graph/traceability.graph.json`
70
182
 
71
- - Chapters and headings → **sections** in the graph
72
- - Use cases, features, actors → **domain nodes** with links (`listedIn`, `satisfies`, …)
73
- - Originating inputs under `docs/data-source/` → **`derivedFrom`** to repo-relative paths (and `graphify:<id>` when Graphify index matches)
74
- - Generated markdown under `docs/srs/`, `docs/basic-design/`, etc. → linked by **`rendersTo`** (target is the **repo-relative file path**, not a node id)
75
- - Per-UC / per-feature **detail files** → instance `document` nodes (`doc.srs.uc-UC-01`, …), **section** nodes with titles/snippets from generated markdown, **`definedIn`** / **`describedIn`** from domain nodes to those sections
183
+ - Chapters and headings → **sections** in the graph
184
+ - Use cases, features, actors → **domain nodes** with links (`listedIn`, `satisfies`, …)
185
+ - Originating inputs under `docs/data-source/` → **`derivedFrom`** to repo-relative paths (and `graphify:<id>` when Graphify index matches)
186
+ - Generated markdown under `docs/srs/`, `docs/basic-design/`, etc. → linked by **`rendersTo`** (target is the **repo-relative file path**, not a node id)
187
+ - Per-UC / per-feature **detail files** → instance `document` nodes (`doc.srs.uc-UC-01`, …), **section** nodes with titles/snippets from generated markdown, **`definedIn`** / **`describedIn`** from domain nodes to those sections
76
188
 
77
189
  **`/index`** (or `ai-spector index`) parses UC/F/actor ids from SRS and basic-design bodies and wires detail semantics without a full **`/analyze`**. **`/analyze`** is still required for rich Graphify MCP extract into `knowledge.json`.
78
190
 
@@ -110,7 +222,7 @@ See [example/README.md](example/README.md).
110
222
  ```text
111
223
  your-project/
112
224
  .cursor/commands/ # /analyze, /index, /impact, …
113
- .cursor/skills/ai-spector/
225
+ .cursor/skills/ # ai-spector, ai-spector-graph, ai-spector-generate, ai-spector-resolve-comments
114
226
  .ai-spector/
115
227
  templates/ # SRS / basic_design / detail_design (from init)
116
228
  graph/traceability.graph.json
@@ -141,6 +253,8 @@ your-project/
141
253
 
142
254
  The CLI is the engine; Cursor commands wrap it.
143
255
 
256
+ **Edit slash commands and skills in `scaffold/cursor/`** (tracked in git). Root `.gitignore` ignores `.cursor/`; `ai-spector init` copies `scaffold/cursor/` → `.cursor/` in user projects. Task skills live in `scaffold/cursor/skills/` — see `_skill-router.md`.
257
+
144
258
  | Doc | Topic |
145
259
  |-----|--------|
146
260
  | [workflow-overview.md](docs/design/workflow-overview.md) | Graph-centric design |
@@ -169,6 +283,11 @@ npm run init:example
169
283
  | `ai-spector graph visualize [--open]` | HTML report (detail docs, sections, `rendersTo` edges) |
170
284
  | `ai-spector graph query <id> --json` | Context for generation |
171
285
  | `ai-spector graph impact` | Regen scope — `<id>` optional with `--file`, `--heading`, or `--git` |
286
+ | `ai-spector comments inbox` | Thread pick table for IDE chat — JSON has `idePresentation.markdown` (`--json`) |
287
+ | `ai-spector comments plan C-001` | Anchor excerpt + graph impact + resolve workflow hints |
288
+ | `ai-spector comments list` | Open/resolved threads under `comments/` (`--file`, `--status`, `--json`) |
289
+ | `ai-spector comments show <threadId>` | Thread meta, replies, events |
290
+ | `ai-spector comments resolve <threadId> --file <path>` | Local resolve: update `meta_data.json` + append `events.jsonl` |
172
291
 
173
292
  **`ai-spector index` flags:** `--graph-only`, `--docs-only`, `--skip-graphify`, `--skip-docs`, `--skip-merge`, `--skip-doc-semantics`, `--force-graphify`, `--skip-validate`
174
293
 
@@ -176,15 +295,18 @@ Option: `-r <path>` to point at another project root.
176
295
 
177
296
  ---
178
297
 
179
- ## Publish to npm (maintainers)
298
+ ## Publish (maintainers)
299
+
300
+ Published via the **`devkit-mcp`** monorepo to internal Verdaccio (not public npm):
180
301
 
181
302
  ```bash
182
- npm run prepublish:check # build + list tarball contents
183
- npm login
184
- npm publish
303
+ cd devkit-mcp
304
+ cp .env.example .env # set DEFAULT_DEVKIT_REGISTRY
305
+ npm run pack:tarballs
306
+ DEVKIT_REGISTRY=http://10.101.0.239:4873 npm run publish:verdaccio
185
307
  ```
186
308
 
187
- Replace `milky-way-66/ai-spector` in `package.json` (`repository`, `homepage`, `bugs`) before publishing. See [PUBLISHING.md](PUBLISHING.md).
309
+ Packages: `@kaopiz/ai-spector`, `@kaopiz/ai-spector-install`. See [PUBLISHING.md](PUBLISHING.md) and [`docs/release-and-publish.md`](../../docs/release-and-publish.md).
188
310
 
189
311
  ---
190
312
 
package/dist/cli.js CHANGED
@@ -7,6 +7,7 @@ import { buildSectionRegistry } from "./registry/build.js";
7
7
  import { bootstrapFromRegistry } from "./commands/bootstrap.js";
8
8
  import { validateGraph, formatIssues } from "./commands/validate.js";
9
9
  import { runInit } from "./commands/init.js";
10
+ import { runSyncCursor } from "./commands/sync-cursor.js";
10
11
  import { runAnalyzePrep } from "./commands/analyze.js";
11
12
  import { runGraphQuery } from "./commands/graph-query.js";
12
13
  import { runGraphImpact } from "./commands/graph-impact.js";
@@ -17,6 +18,7 @@ import { loadInMemoryGraph } from "./graph/loadGraph.js";
17
18
  import { runGraphVisualize } from "./commands/graph-visualize.js";
18
19
  import { runGraphifyUpdate } from "./commands/graphify-update.js";
19
20
  import { runIndex } from "./commands/index.js";
21
+ import { runCommentsInbox, runCommentsList, runCommentsPlan, runCommentsResolve, runCommentsShow, } from "./commands/comments.js";
20
22
  import { runProvenanceLink } from "./graph/provenance.js";
21
23
  const program = new Command();
22
24
  program
@@ -41,6 +43,15 @@ program
41
43
  force: opts.force,
42
44
  });
43
45
  });
46
+ program
47
+ .command("sync-cursor")
48
+ .description("Refresh .cursor/commands and .cursor/skills from scaffold/cursor/ (no full re-init)")
49
+ .option("-C, --cwd <path>", "Target directory", process.cwd())
50
+ .action(async (opts) => {
51
+ await runSyncCursor({
52
+ targetDir: resolve(opts.cwd ?? process.cwd()),
53
+ });
54
+ });
44
55
  program
45
56
  .command("index")
46
57
  .description("Refresh graph, knowledge merge, Graphify storage, and doc indexes from current project files")
@@ -241,6 +252,92 @@ graph
241
252
  skipKnowledge: opts.noKnowledge,
242
253
  });
243
254
  });
255
+ const comments = program
256
+ .command("comments")
257
+ .description("Git-backed review comment threads under comments/ (local resolve flow)");
258
+ comments
259
+ .command("list")
260
+ .description("List comment threads from comments/{logical_path}/")
261
+ .option("--file <path>", "Filter by logical file path (e.g. srs/01-overview)")
262
+ .option("--status <status>", "open | resolved | all", "open")
263
+ .option("--json", "JSON output for agents")
264
+ .action(async (opts, cmd) => {
265
+ await runCommentsList({
266
+ root: projectRootOpt(cmd),
267
+ filePath: opts.file,
268
+ status: opts.status,
269
+ json: opts.json,
270
+ });
271
+ });
272
+ comments
273
+ .command("inbox")
274
+ .description("Thread pick list for IDE chat (C-001…) — JSON includes idePresentation.markdown table")
275
+ .option("--file <path>", "Filter by logical file path")
276
+ .option("--status <status>", "open | resolved | all", "open")
277
+ .option("--json", "JSON output for agents")
278
+ .action(async (opts, cmd) => {
279
+ await runCommentsInbox({
280
+ root: projectRootOpt(cmd),
281
+ filePath: opts.file,
282
+ status: opts.status,
283
+ json: opts.json,
284
+ });
285
+ });
286
+ comments
287
+ .command("plan [threadId]")
288
+ .description("Resolve plan: anchor excerpt, graph impact, and IDE workflow hints")
289
+ .option("--pick <id>", "Pick id from inbox (e.g. C-001)")
290
+ .option("--file <path>", "Logical file path when thread id alone is ambiguous")
291
+ .option("--json", "JSON output for agents")
292
+ .action(async (threadId, opts, cmd) => {
293
+ const id = opts.pick ?? threadId;
294
+ if (!id) {
295
+ console.error("Provide <threadId> or --pick C-001");
296
+ process.exitCode = 1;
297
+ return;
298
+ }
299
+ await runCommentsPlan({
300
+ root: projectRootOpt(cmd),
301
+ threadId: id,
302
+ filePath: opts.file,
303
+ pick: opts.pick,
304
+ json: opts.json,
305
+ });
306
+ });
307
+ comments
308
+ .command("show <threadId>")
309
+ .description("Show thread metadata, replies, and events")
310
+ .option("--file <path>", "Logical file path when thread id alone is ambiguous")
311
+ .option("--json", "JSON output for agents")
312
+ .action(async (threadId, opts, cmd) => {
313
+ await runCommentsShow({
314
+ root: projectRootOpt(cmd),
315
+ threadId,
316
+ filePath: opts.file,
317
+ json: opts.json,
318
+ });
319
+ });
320
+ comments
321
+ .command("resolve <threadId>")
322
+ .description("Mark thread resolved in meta_data.json and append events.jsonl")
323
+ .requiredOption("--file <path>", "Logical file path (e.g. srs/04-features/auth)")
324
+ .option("--by <author>", "resolvedBy value recorded in meta_data.json", "local")
325
+ .option("--commit-sha <sha>", "resolvedInCommitSha (defaults to git HEAD)")
326
+ .option("--expected-version <n>", "Optimistic lock on meta_data.json version")
327
+ .option("--dry-run", "Preview resolve without writing files")
328
+ .option("--json", "JSON output for agents")
329
+ .action(async (threadId, opts, cmd) => {
330
+ await runCommentsResolve({
331
+ root: projectRootOpt(cmd),
332
+ threadId,
333
+ filePath: opts.file,
334
+ resolvedBy: opts.by,
335
+ commitSha: opts.commitSha,
336
+ expectedVersion: opts.expectedVersion != null ? Number(opts.expectedVersion) : undefined,
337
+ dryRun: opts.dryRun,
338
+ json: opts.json,
339
+ });
340
+ });
244
341
  graph
245
342
  .command("validate")
246
343
  .description("Validate graph against bundled schema and traceability rules")
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ export interface CommentsListOptions {
2
+ root?: string;
3
+ filePath?: string;
4
+ status?: "open" | "resolved" | "all";
5
+ json?: boolean;
6
+ }
7
+ export interface CommentsInboxOptions {
8
+ root?: string;
9
+ filePath?: string;
10
+ status?: "open" | "resolved" | "all";
11
+ json?: boolean;
12
+ }
13
+ export interface CommentsPlanOptions {
14
+ root?: string;
15
+ threadId: string;
16
+ filePath?: string;
17
+ pick?: string;
18
+ json?: boolean;
19
+ }
20
+ export interface CommentsShowOptions {
21
+ root?: string;
22
+ threadId: string;
23
+ filePath?: string;
24
+ json?: boolean;
25
+ }
26
+ export interface CommentsResolveOptions {
27
+ root?: string;
28
+ threadId: string;
29
+ filePath: string;
30
+ resolvedBy?: string;
31
+ commitSha?: string;
32
+ expectedVersion?: number;
33
+ dryRun?: boolean;
34
+ json?: boolean;
35
+ }
36
+ export declare function runCommentsList(opts: CommentsListOptions): Promise<void>;
37
+ export declare function runCommentsInbox(opts: CommentsInboxOptions): Promise<void>;
38
+ export declare function runCommentsPlan(opts: CommentsPlanOptions): Promise<void>;
39
+ export declare function runCommentsShow(opts: CommentsShowOptions): Promise<void>;
40
+ export declare function runCommentsResolve(opts: CommentsResolveOptions): Promise<void>;
41
+ //# sourceMappingURL=comments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB9E;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhF;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C9E;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0C9E;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BpF"}
@@ -0,0 +1,138 @@
1
+ import { resolveProjectPaths } from "../util/paths.js";
2
+ import { formatInboxForChat, formatPlanForChat } from "../comments/inbox.js";
3
+ import { normalizeLogicalPath } from "../comments/paths.js";
4
+ import { buildCommentInboxPayload, buildCommentPlan, pickIdForThread, resolvePickId, } from "../comments/plan.js";
5
+ import { findThreadById, formatThreadListText, getThread, listThreads, resolveThread, } from "../comments/storage.js";
6
+ export async function runCommentsList(opts) {
7
+ const paths = await resolveProjectPaths(opts.root);
8
+ const threads = await listThreads({
9
+ projectRoot: paths.root,
10
+ filePath: opts.filePath,
11
+ status: opts.status ?? "open",
12
+ });
13
+ if (opts.json) {
14
+ console.log(JSON.stringify({ threads, count: threads.length }, null, 2));
15
+ return;
16
+ }
17
+ console.log(formatThreadListText(threads));
18
+ console.log("");
19
+ console.log(`${threads.length} thread(s)`);
20
+ }
21
+ export async function runCommentsInbox(opts) {
22
+ const paths = await resolveProjectPaths(opts.root);
23
+ const inbox = await buildCommentInboxPayload({
24
+ projectRoot: paths.root,
25
+ filePath: opts.filePath,
26
+ status: opts.status ?? "open",
27
+ });
28
+ if (opts.json) {
29
+ console.log(JSON.stringify(inbox, null, 2));
30
+ console.error("");
31
+ console.error("IDE: render inbox.idePresentation.markdown in chat only (see idePresentation.rules).");
32
+ return;
33
+ }
34
+ console.log(formatInboxForChat(inbox));
35
+ }
36
+ export async function runCommentsPlan(opts) {
37
+ const paths = await resolveProjectPaths(opts.root);
38
+ let threadId = opts.threadId;
39
+ let filePath = opts.filePath;
40
+ let pickId = opts.pick;
41
+ if (pickId || /^C-\d{3}$/i.test(threadId)) {
42
+ const token = pickId ?? threadId;
43
+ const inbox = await buildCommentInboxPayload({
44
+ projectRoot: paths.root,
45
+ filePath: opts.filePath,
46
+ status: "open",
47
+ });
48
+ const item = resolvePickId(inbox, token);
49
+ if (!item) {
50
+ throw new Error(`Unknown pick id or thread: ${token}. Run: ai-spector comments inbox --json`);
51
+ }
52
+ threadId = item.threadId;
53
+ filePath = item.filePath;
54
+ pickId = item.pickId;
55
+ }
56
+ else if (!filePath) {
57
+ const inbox = await buildCommentInboxPayload({
58
+ projectRoot: paths.root,
59
+ status: "open",
60
+ });
61
+ pickId = pickIdForThread(inbox, threadId);
62
+ }
63
+ const plan = await buildCommentPlan({
64
+ projectRoot: paths.root,
65
+ graphPath: paths.graph,
66
+ rulesPath: paths.rulesImpact,
67
+ threadId,
68
+ filePath,
69
+ pickId,
70
+ });
71
+ if (opts.json) {
72
+ console.log(JSON.stringify(plan, null, 2));
73
+ return;
74
+ }
75
+ console.log(formatPlanForChat(plan));
76
+ }
77
+ export async function runCommentsShow(opts) {
78
+ const paths = await resolveProjectPaths(opts.root);
79
+ const thread = opts.filePath
80
+ ? await getThread(paths.root, normalizeLogicalPath(opts.filePath), opts.threadId)
81
+ : await findThreadById(paths.root, opts.threadId);
82
+ if (!thread) {
83
+ throw new Error(opts.filePath
84
+ ? `Thread not found: ${opts.threadId} under ${normalizeLogicalPath(opts.filePath)}`
85
+ : `Thread not found: ${opts.threadId}`);
86
+ }
87
+ if (opts.json) {
88
+ console.log(JSON.stringify(thread, null, 2));
89
+ return;
90
+ }
91
+ console.log(`Thread: ${thread.threadId}`);
92
+ console.log(`File: ${thread.filePath}`);
93
+ console.log(`Doc: ${thread.docPath ?? "(unknown)"}`);
94
+ console.log(`Status: ${thread.status} (v${thread.version})`);
95
+ console.log(`Anchor: lines ${thread.anchor.startLine}-${thread.anchor.endLine} (${thread.anchor.language}) on ${thread.anchor.branchName}@${thread.anchor.baseCommitSha.slice(0, 7)}`);
96
+ if (thread.anchor.lineExcerpt) {
97
+ console.log(`Excerpt: ${thread.anchor.lineExcerpt}`);
98
+ }
99
+ console.log("");
100
+ console.log("Comments:");
101
+ for (const c of thread.comments) {
102
+ console.log(` [${c.createdAt}] ${c.authorId}: ${c.body}`);
103
+ }
104
+ if (thread.events.length > 0) {
105
+ console.log("");
106
+ console.log("Events:");
107
+ for (const e of thread.events) {
108
+ console.log(` ${e.at} ${e.type}${e.by != null ? ` by ${e.by}` : ""}`);
109
+ }
110
+ }
111
+ }
112
+ export async function runCommentsResolve(opts) {
113
+ const paths = await resolveProjectPaths(opts.root);
114
+ const result = await resolveThread({
115
+ projectRoot: paths.root,
116
+ logicalPath: normalizeLogicalPath(opts.filePath),
117
+ threadId: opts.threadId,
118
+ resolvedBy: opts.resolvedBy,
119
+ resolvedInCommitSha: opts.commitSha,
120
+ expectedVersion: opts.expectedVersion,
121
+ dryRun: opts.dryRun,
122
+ });
123
+ if (opts.json) {
124
+ console.log(JSON.stringify(result, null, 2));
125
+ return;
126
+ }
127
+ const prefix = result.dryRun ? "[dry-run] " : "";
128
+ console.log(`${prefix}Resolved thread ${opts.threadId} on ${result.thread.filePath}`);
129
+ console.log(`Suggested commit message: ${result.commitMessageSuggestion}`);
130
+ if (result.dryRun) {
131
+ console.log("No files written (--dry-run).");
132
+ }
133
+ else {
134
+ console.log(`Updated: comments/${result.thread.filePath}/${opts.threadId}/meta_data.json`);
135
+ console.log(`Appended: comments/${result.thread.filePath}/${opts.threadId}/events.jsonl`);
136
+ }
137
+ }
138
+ //# sourceMappingURL=comments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,9 @@ export interface InitOptions {
2
2
  targetDir: string;
3
3
  force?: boolean;
4
4
  }
5
+ /** Copy bundled `scaffold/cursor/` → project `.cursor/`. */
6
+ export declare function copyCursorToProject(projectRoot: string): Promise<void>;
7
+ /** Copy scaffold into project; `scaffold/cursor/` → `.cursor/` at project root. */
8
+ export declare function copyScaffoldToProject(projectRoot: string): Promise<void>;
5
9
  export declare function runInit(opts: InitOptions): Promise<void>;
6
10
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA8D9D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,4DAA4D;AAC5D,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E;AAED,mFAAmF;AACnF,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9E;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+D9D"}