milens 0.6.8 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/.agents/skills/analyzer/SKILL.md +81 -79
  2. package/.agents/skills/docs/SKILL.md +78 -79
  3. package/.agents/skills/milens/SKILL.md +319 -318
  4. package/.agents/skills/orchestrator/SKILL.md +61 -61
  5. package/.agents/skills/parser/SKILL.md +83 -82
  6. package/.agents/skills/root/SKILL.md +88 -86
  7. package/.agents/skills/scripts/SKILL.md +54 -45
  8. package/.agents/skills/security/SKILL.md +67 -66
  9. package/.agents/skills/server/SKILL.md +74 -73
  10. package/.agents/skills/store/SKILL.md +76 -75
  11. package/.agents/skills/test/SKILL.md +153 -152
  12. package/.agents/skills/ui/SKILL.md +51 -0
  13. package/README.md +568 -522
  14. package/adapters/claude-code/.claude/mcp.json +9 -9
  15. package/adapters/claude-code/CLAUDE.md +79 -79
  16. package/adapters/gemini/.gemini/context.md +81 -81
  17. package/adapters/opencode/.opencode/config.json +8 -9
  18. package/adapters/zed/.zed/settings.json +8 -8
  19. package/dist/analyzer/review.d.ts.map +1 -1
  20. package/dist/analyzer/review.js +5 -1
  21. package/dist/analyzer/review.js.map +1 -1
  22. package/dist/cli.js +1 -1
  23. package/dist/security/rules.d.ts +2 -1
  24. package/dist/security/rules.d.ts.map +1 -1
  25. package/dist/security/rules.js +276 -61
  26. package/dist/security/rules.js.map +1 -1
  27. package/dist/server/hooks.d.ts.map +1 -1
  28. package/dist/server/hooks.js +10 -0
  29. package/dist/server/hooks.js.map +1 -1
  30. package/dist/server/mcp.d.ts.map +1 -1
  31. package/dist/server/mcp.js +84 -19
  32. package/dist/server/mcp.js.map +1 -1
  33. package/dist/server/test-plan.d.ts +1 -1
  34. package/dist/server/test-plan.d.ts.map +1 -1
  35. package/dist/server/test-plan.js +48 -4
  36. package/dist/server/test-plan.js.map +1 -1
  37. package/dist/skills.js +3 -3
  38. package/dist/store/db.d.ts.map +1 -1
  39. package/dist/store/db.js +19 -21
  40. package/dist/store/db.js.map +1 -1
  41. package/docs/README.md +25 -25
  42. package/package.json +2 -2
@@ -1,9 +1,9 @@
1
- {
2
- "mcpServers": {
3
- "milens": {
4
- "command": "npx",
5
- "args": ["milens", "serve"],
6
- "env": { "MILENS_PROFILE": "standard" }
7
- }
8
- }
9
- }
1
+ {
2
+ "mcpServers": {
3
+ "milens": {
4
+ "command": "milens",
5
+ "args": ["serve", "-p", "."],
6
+ "env": { "MILENS_PROFILE": "standard" }
7
+ }
8
+ }
9
+ }
@@ -1,79 +1,79 @@
1
- # Milens — Code Intelligence for Claude Code
2
-
3
- ## ⚠️ BEFORE ANYTHING ELSE
4
-
5
- This project is indexed by **milens**. You have MCP tools that are faster and more accurate than reading files directly.
6
-
7
- **HARD RULE: Use milens tools BEFORE built-in search/read tools.**
8
-
9
- | Situation | Built-in approach (❌) | Milens approach (✅) |
10
- |---|---|---|
11
- | Understand a function | Read 3-10 files | `mcp_milens_overview({name: "X"})` — 1 call |
12
- | Find references | grep in files | `mcp_milens_grep({pattern: "X"})` — searches everything |
13
- | Check edit safety | Hope nothing breaks | `mcp_milens_impact({target: "X"})` — exact blast radius |
14
- | Start working | Read README, explore files | `mcp_milens_codebase_summary()` — 500 token overview |
15
- | Before commit | `git diff` manually | `mcp_milens_detect_changes()` — symbols + risk scores |
16
-
17
- **If you skip milens tools, you're wasting tokens and risking breaking changes.**
18
-
19
- ## ⭐ Core Tools (Use Every Session)
20
-
21
- | Tool | Purpose |
22
- |---|---|
23
- | `mcp_milens_overview` | **Use this first.** Context + impact + grep combined. 1 call replaces 3-5 file reads. |
24
- | `mcp_milens_impact` | Blast radius BEFORE editing. Shows what WILL BREAK. |
25
- | `mcp_milens_edit_check` | Pre-edit safety: callers, export status, re-export chains, test coverage |
26
- | `mcp_milens_context` | 360° view: incoming refs + outgoing deps |
27
- | `mcp_milens_query` | Find symbol definitions by name (camelCase/PascalCase/snake_case) |
28
- | `mcp_milens_grep` | Text search ALL project files (code, templates, docs, configs, styles) |
29
- | `mcp_milens_detect_changes` | Pre-commit: changed symbols + dependents + risk scores |
30
- | `mcp_milens_codebase_summary` | 500-token project overview. Use instead of reading README. |
31
-
32
- ### 🔧 Situational Tools (Use When Needed)
33
-
34
- | Tool | Purpose | Use when... |
35
- |---|---|---|
36
- | `mcp_milens_guard_edit_check` | Hard pre-edit gate with audit tracking | Before every edit |
37
- | `mcp_milens_trace` | Execution flow from entrypoints | Debugging call chains |
38
- | `mcp_milens_explain_relationship` | Shortest path between two symbols | Understanding connections |
39
- | `mcp_milens_get_file_symbols` | All symbols in a file with ref/dep counts | Exploring a file |
40
- | `mcp_milens_get_type_hierarchy` | Inheritance/implementation tree | Class exploration |
41
- | `mcp_milens_find_dead_code` | Unused exported symbols | Before major refactors |
42
- | `mcp_milens_status` | Index health: symbols, links, files, coverage | Session start |
43
-
44
- All tool calls must include `repo` set to the absolute workspace root.
45
-
46
- ## Session Workflow
47
-
48
- 1. **Start** — The milens MCP server connects via `npx milens serve`. Verify with `mcp_milens_status`.
49
- 2. **Recall** — When asked to work on a symbol, use `mcp_milens_overview` for a combined view of context, impact, and text references.
50
- 3. **Code** — Make changes following the edit-safety rules below.
51
- 4. **Verify** — Before committing, run `mcp_milens_detect_changes` to confirm only expected files changed.
52
- 5. **Annotate** — After significant changes, run `npx milens analyze -p . --force` to keep the index fresh.
53
-
54
- ## Edit Safety (Mandatory)
55
-
56
- **Before editing any function, class, or method:**
57
- 1. Call `mcp_milens_edit_check` on the target symbol to see callers and export status.
58
- 2. If depth-1 dependents > 5, **stop and warn the user** before proceeding.
59
- 3. Call `mcp_milens_context` to understand the full caller/callee picture.
60
- 4. Only then make the edit.
61
-
62
- **Before deleting or renaming:**
63
- 1. `mcp_milens_grep` — find ALL text references (templates, configs, docs).
64
- 2. `mcp_milens_impact` with `direction: "upstream"` — find code-level dependents.
65
- 3. Combine both results before acting.
66
-
67
- **Before committing:**
68
- - Call `mcp_milens_detect_changes` — if unexpected files appear, stop and report.
69
-
70
- ## Tool Selection
71
-
72
- - Use `mcp_milens_query` for symbol names (camelCase, PascalCase, snake_case).
73
- - Use `mcp_milens_grep` for multi-word phrases, UI labels, error messages, or text in templates/configs/docs.
74
- - When in doubt, use `mcp_milens_grep` first — it searches everything.
75
-
76
- ## Reference
77
-
78
- See `AGENTS.md` at the repo root for project-specific context and codebase structure.
79
- Skill files at `.agents/skills/milens/SKILL.md` provide advanced workflow guides.
1
+ # Milens — Code Intelligence for Claude Code
2
+
3
+ ## ⚠️ BEFORE ANYTHING ELSE
4
+
5
+ This project is indexed by **milens**. You have MCP tools that are faster and more accurate than reading files directly.
6
+
7
+ **HARD RULE: Use milens tools BEFORE built-in search/read tools.**
8
+
9
+ | Situation | Built-in approach (❌) | Milens approach (✅) |
10
+ |---|---|---|
11
+ | Understand a function | Read 3-10 files | `mcp_milens_overview({name: "X"})` — 1 call |
12
+ | Find references | grep in files | `mcp_milens_grep({pattern: "X"})` — searches everything |
13
+ | Check edit safety | Hope nothing breaks | `mcp_milens_impact({target: "X"})` — exact blast radius |
14
+ | Start working | Read README, explore files | `mcp_milens_codebase_summary()` — 500 token overview |
15
+ | Before commit | `git diff` manually | `mcp_milens_detect_changes()` — symbols + risk scores |
16
+
17
+ **If you skip milens tools, you're wasting tokens and risking breaking changes.**
18
+
19
+ ## ⭐ Core Tools (Use Every Session)
20
+
21
+ | Tool | Purpose |
22
+ |---|---|
23
+ | `mcp_milens_overview` | **Use this first.** Context + impact + grep combined. 1 call replaces 3-5 file reads. |
24
+ | `mcp_milens_impact` | Blast radius BEFORE editing. Shows what WILL BREAK. |
25
+ | `mcp_milens_edit_check` | Pre-edit safety: callers, export status, re-export chains, test coverage |
26
+ | `mcp_milens_context` | 360° view: incoming refs + outgoing deps |
27
+ | `mcp_milens_query` | Find symbol definitions by name (camelCase/PascalCase/snake_case) |
28
+ | `mcp_milens_grep` | Text search ALL project files (code, templates, docs, configs, styles) |
29
+ | `mcp_milens_detect_changes` | Pre-commit: changed symbols + dependents + risk scores |
30
+ | `mcp_milens_codebase_summary` | 500-token project overview. Use instead of reading README. |
31
+
32
+ ### 🔧 Situational Tools (Use When Needed)
33
+
34
+ | Tool | Purpose | Use when... |
35
+ |---|---|---|
36
+ | `mcp_milens_guard_edit_check` | Hard pre-edit gate with audit tracking | Before every edit |
37
+ | `mcp_milens_trace` | Execution flow from entrypoints | Debugging call chains |
38
+ | `mcp_milens_explain_relationship` | Shortest path between two symbols | Understanding connections |
39
+ | `mcp_milens_get_file_symbols` | All symbols in a file with ref/dep counts | Exploring a file |
40
+ | `mcp_milens_get_type_hierarchy` | Inheritance/implementation tree | Class exploration |
41
+ | `mcp_milens_find_dead_code` | Unused exported symbols | Before major refactors |
42
+ | `mcp_milens_status` | Index health: symbols, links, files, coverage | Session start |
43
+
44
+ All tool calls must include `repo` set to the absolute workspace root.
45
+
46
+ ## Session Workflow
47
+
48
+ 1. **Start** — The milens MCP server connects via `milens serve -p .`. Verify with `mcp_milens_status`.
49
+ 2. **Recall** — When asked to work on a symbol, use `mcp_milens_overview` for a combined view of context, impact, and text references.
50
+ 3. **Code** — Make changes following the edit-safety rules below.
51
+ 4. **Verify** — Before committing, run `mcp_milens_detect_changes` to confirm only expected files changed.
52
+ 5. **Annotate** — After significant changes, run `npx milens analyze -p . --force` to keep the index fresh.
53
+
54
+ ## Edit Safety (Mandatory)
55
+
56
+ **Before editing any function, class, or method:**
57
+ 1. Call `mcp_milens_edit_check` on the target symbol to see callers and export status.
58
+ 2. If depth-1 dependents > 5, **stop and warn the user** before proceeding.
59
+ 3. Call `mcp_milens_context` to understand the full caller/callee picture.
60
+ 4. Only then make the edit.
61
+
62
+ **Before deleting or renaming:**
63
+ 1. `mcp_milens_grep` — find ALL text references (templates, configs, docs).
64
+ 2. `mcp_milens_impact` with `direction: "upstream"` — find code-level dependents.
65
+ 3. Combine both results before acting.
66
+
67
+ **Before committing:**
68
+ - Call `mcp_milens_detect_changes` — if unexpected files appear, stop and report.
69
+
70
+ ## Tool Selection
71
+
72
+ - Use `mcp_milens_query` for symbol names (camelCase, PascalCase, snake_case).
73
+ - Use `mcp_milens_grep` for multi-word phrases, UI labels, error messages, or text in templates/configs/docs.
74
+ - When in doubt, use `mcp_milens_grep` first — it searches everything.
75
+
76
+ ## Reference
77
+
78
+ See `AGENTS.md` at the repo root for project-specific context and codebase structure.
79
+ Skill files at `.agents/skills/milens/SKILL.md` provide advanced workflow guides.
@@ -1,81 +1,81 @@
1
- # Milens — Code Intelligence
2
-
3
- ## ⚠️ BEFORE ANYTHING ELSE
4
-
5
- This project is indexed by **milens**. You have MCP tools that are faster and more accurate than reading files directly.
6
-
7
- **HARD RULE: Use milens tools BEFORE built-in search/read tools.**
8
-
9
- | Situation | Built-in approach (❌) | Milens approach (✅) |
10
- |---|---|---|
11
- | Understand a function | Read 3-10 files | `mcp_milens_overview({name: "X"})` — 1 call |
12
- | Find references | grep in files | `mcp_milens_grep({pattern: "X"})` — searches everything |
13
- | Check edit safety | Hope nothing breaks | `mcp_milens_impact({target: "X"})` — exact blast radius |
14
- | Start working | Read README, explore files | `mcp_milens_codebase_summary()` — 500 token overview |
15
- | Before commit | `git diff` manually | `mcp_milens_detect_changes()` — symbols + risk scores |
16
-
17
- **If you skip milens tools, you're wasting tokens and risking breaking changes.**
18
-
19
- ## MCP Connection
20
-
21
- ```json
22
- {
23
- "mcpServers": {
24
- "milens": {
25
- "command": "npx",
26
- "args": ["milens", "serve"],
27
- "env": { "MILENS_PROFILE": "standard" }
28
- }
29
- }
30
- }
31
- ```
32
-
33
- All milens MCP calls require the `repo` parameter set to the absolute workspace root.
34
-
35
- ## ⭐ Core Tools (Use Every Session)
36
-
37
- | Tool | Description |
38
- |---|---|
39
- | `mcp_milens_overview` | **Use this first.** Context + impact + grep combined. 1 call replaces 3-5 file reads. |
40
- | `mcp_milens_impact` | Blast radius BEFORE editing. Shows what WILL BREAK. |
41
- | `mcp_milens_edit_check` | Pre-edit safety: callers, export status, re-export chains, test coverage |
42
- | `mcp_milens_context` | Full incoming + outgoing dependency view |
43
- | `mcp_milens_query` | Symbol search by name |
44
- | `mcp_milens_grep` | Text search everywhere (templates, configs, docs, styles) |
45
- | `mcp_milens_detect_changes` | Pre-commit: changed symbols + dependents + risk scores |
46
- | `mcp_milens_codebase_summary` | 500-token project overview. Use instead of reading README. |
47
-
48
- ### 🔧 Situational Tools (Use When Needed)
49
-
50
- | Tool | Description | Use when... |
51
- |---|---|---|
52
- | `mcp_milens_guard_edit_check` | Hard pre-edit gate with audit tracking | Before every edit |
53
- | `mcp_milens_trace` | Execution flow from entrypoints | Debugging call chains |
54
- | `mcp_milens_explain_relationship` | Shortest dependency path | Understanding connections |
55
- | `mcp_milens_get_type_hierarchy` | Class inheritance tree | Class exploration |
56
- | `mcp_milens_find_dead_code` | Unused exported symbols | Before major refactors |
57
- | `mcp_milens_status` | Index health: symbols, links, files, coverage | Session start |
58
-
59
- ## Workflow
60
-
61
- **Every session follows this pattern:**
62
-
63
- 1. **Start** — `mcp_milens_status` to verify the index is healthy.
64
- 2. **Understand** — `mcp_milens_overview({name, repo})` for any symbol mentioned.
65
- 3. **Edit safely** — `mcp_milens_edit_check` before touching hub/shared code. Halt if dependents > 5.
66
- 4. **Verify** — `mcp_milens_detect_changes` before committing. Report unexpected changes.
67
- 5. **Refresh** — `npx milens analyze -p . --force` after significant edits.
68
-
69
- ## Mandatory Safety Rules
70
-
71
- - **Never edit** a symbol without `mcp_milens_edit_check` first.
72
- - **Never delete/rename** without `mcp_milens_grep` AND `mcp_milens_impact`.
73
- - **Never commit** without `mcp_milens_detect_changes`.
74
- - **Never omit** the `repo` parameter from milens calls.
75
- - **Use `mcp_milens_grep`** (not `mcp_milens_query`) for phrases, UI text, config strings.
76
-
77
- ## Codebase Structure
78
-
79
- - `.agents/skills/milens/SKILL.md` — full milens documentation
80
- - `.agents/skills/` — area-specific skill files (analyzer, parser, server, store, etc.)
81
- - `AGENTS.md` — project-level instructions and conventions
1
+ # Milens — Code Intelligence
2
+
3
+ ## ⚠️ BEFORE ANYTHING ELSE
4
+
5
+ This project is indexed by **milens**. You have MCP tools that are faster and more accurate than reading files directly.
6
+
7
+ **HARD RULE: Use milens tools BEFORE built-in search/read tools.**
8
+
9
+ | Situation | Built-in approach (❌) | Milens approach (✅) |
10
+ |---|---|---|
11
+ | Understand a function | Read 3-10 files | `mcp_milens_overview({name: "X"})` — 1 call |
12
+ | Find references | grep in files | `mcp_milens_grep({pattern: "X"})` — searches everything |
13
+ | Check edit safety | Hope nothing breaks | `mcp_milens_impact({target: "X"})` — exact blast radius |
14
+ | Start working | Read README, explore files | `mcp_milens_codebase_summary()` — 500 token overview |
15
+ | Before commit | `git diff` manually | `mcp_milens_detect_changes()` — symbols + risk scores |
16
+
17
+ **If you skip milens tools, you're wasting tokens and risking breaking changes.**
18
+
19
+ ## MCP Connection
20
+
21
+ ```json
22
+ {
23
+ "mcpServers": {
24
+ "milens": {
25
+ "command": "milens",
26
+ "args": ["serve", "-p", "${workspaceFolder}"],
27
+ "env": { "MILENS_PROFILE": "standard" }
28
+ }
29
+ }
30
+ }
31
+ ```
32
+
33
+ All milens MCP calls require the `repo` parameter set to the absolute workspace root.
34
+
35
+ ## ⭐ Core Tools (Use Every Session)
36
+
37
+ | Tool | Description |
38
+ |---|---|
39
+ | `mcp_milens_overview` | **Use this first.** Context + impact + grep combined. 1 call replaces 3-5 file reads. |
40
+ | `mcp_milens_impact` | Blast radius BEFORE editing. Shows what WILL BREAK. |
41
+ | `mcp_milens_edit_check` | Pre-edit safety: callers, export status, re-export chains, test coverage |
42
+ | `mcp_milens_context` | Full incoming + outgoing dependency view |
43
+ | `mcp_milens_query` | Symbol search by name |
44
+ | `mcp_milens_grep` | Text search everywhere (templates, configs, docs, styles) |
45
+ | `mcp_milens_detect_changes` | Pre-commit: changed symbols + dependents + risk scores |
46
+ | `mcp_milens_codebase_summary` | 500-token project overview. Use instead of reading README. |
47
+
48
+ ### 🔧 Situational Tools (Use When Needed)
49
+
50
+ | Tool | Description | Use when... |
51
+ |---|---|---|
52
+ | `mcp_milens_guard_edit_check` | Hard pre-edit gate with audit tracking | Before every edit |
53
+ | `mcp_milens_trace` | Execution flow from entrypoints | Debugging call chains |
54
+ | `mcp_milens_explain_relationship` | Shortest dependency path | Understanding connections |
55
+ | `mcp_milens_get_type_hierarchy` | Class inheritance tree | Class exploration |
56
+ | `mcp_milens_find_dead_code` | Unused exported symbols | Before major refactors |
57
+ | `mcp_milens_status` | Index health: symbols, links, files, coverage | Session start |
58
+
59
+ ## Workflow
60
+
61
+ **Every session follows this pattern:**
62
+
63
+ 1. **Start** — `mcp_milens_status` to verify the index is healthy.
64
+ 2. **Understand** — `mcp_milens_overview({name, repo})` for any symbol mentioned.
65
+ 3. **Edit safely** — `mcp_milens_edit_check` before touching hub/shared code. Halt if dependents > 5.
66
+ 4. **Verify** — `mcp_milens_detect_changes` before committing. Report unexpected changes.
67
+ 5. **Refresh** — `npx milens analyze -p . --force` after significant edits.
68
+
69
+ ## Mandatory Safety Rules
70
+
71
+ - **Never edit** a symbol without `mcp_milens_edit_check` first.
72
+ - **Never delete/rename** without `mcp_milens_grep` AND `mcp_milens_impact`.
73
+ - **Never commit** without `mcp_milens_detect_changes`.
74
+ - **Never omit** the `repo` parameter from milens calls.
75
+ - **Use `mcp_milens_grep`** (not `mcp_milens_query`) for phrases, UI text, config strings.
76
+
77
+ ## Codebase Structure
78
+
79
+ - `.agents/skills/milens/SKILL.md` — full milens documentation
80
+ - `.agents/skills/` — area-specific skill files (analyzer, parser, server, store, etc.)
81
+ - `AGENTS.md` — project-level instructions and conventions
@@ -1,9 +1,8 @@
1
- {
2
- "mcp": {
3
- "milens": {
4
- "command": "npx",
5
- "args": ["milens", "serve"],
6
- "env": { "MILENS_PROFILE": "standard" }
7
- }
8
- }
9
- }
1
+ {
2
+ "mcp": {
3
+ "milens": {
4
+ "type": "local",
5
+ "command": ["milens", "serve", "-p", "."]
6
+ }
7
+ }
8
+ }
@@ -1,8 +1,8 @@
1
- {
2
- "context_servers": {
3
- "milens": {
4
- "command": "npx milens serve",
5
- "env": { "MILENS_PROFILE": "minimal" }
6
- }
7
- }
8
- }
1
+ {
2
+ "context_servers": {
3
+ "milens": {
4
+ "command": "milens serve -p .",
5
+ "env": { "MILENS_PROFILE": "minimal" }
6
+ }
7
+ }
8
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/analyzer/review.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AA+PD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CA8G9F;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAY1E"}
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/analyzer/review.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAmQD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CA8G9F;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAY1E"}
@@ -79,7 +79,11 @@ function getChangedFiles(root, ref, base) {
79
79
  const staged = execFileSync('git', ['diff', '--cached', '--name-only', ref], { cwd: root, encoding: 'utf-8' });
80
80
  const stagedFiles = staged.trim().split('\n').filter(Boolean)
81
81
  .filter(f => !isFixtureOrTest(f) && !isNonSourceFile(f));
82
- return [...new Set([...sourceFiles, ...stagedFiles])];
82
+ // Also include unstaged working tree changes (for pre-commit review)
83
+ const unstaged = execFileSync('git', ['diff', '--name-only'], { cwd: root, encoding: 'utf-8' });
84
+ const unstagedFiles = unstaged.trim().split('\n').filter(Boolean)
85
+ .filter(f => !isFixtureOrTest(f) && !isNonSourceFile(f));
86
+ return [...new Set([...sourceFiles, ...stagedFiles, ...unstagedFiles])];
83
87
  }
84
88
  return [...new Set(sourceFiles)];
85
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/analyzer/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/analyzer/review.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -1186,7 +1186,7 @@ program
1186
1186
  console.log('Choose a profile:');
1187
1187
  console.log(' 1. minimal — Core tools only (10 tools, ~500 token overhead)');
1188
1188
  console.log(' 2. standard — Full vibe coding toolkit (25 tools) [Recommended]');
1189
- console.log(' 3. full — Everything including experimental features (33 tools)');
1189
+ console.log(' 3. full — Everything including experimental features (43 tools)');
1190
1190
  const profileChoice = await ask('\nProfile [2]: ');
1191
1191
  const profileMap = { '1': 'minimal', '2': 'standard', '3': 'full', '': 'standard' };
1192
1192
  opts.profile = profileMap[profileChoice.trim()] || 'standard';
@@ -1,4 +1,4 @@
1
- export type SecurityCategory = 'secrets' | 'injection' | 'unicode' | 'dangerous' | 'config' | 'data-leak' | 'crypto' | 'auth' | 'file-access';
1
+ export type SecurityCategory = 'secrets' | 'injection' | 'rce' | 'xss' | 'deserialization' | 'ssrf' | 'xxe' | 'path-traversal' | 'file-upload' | 'unicode' | 'dangerous' | 'config' | 'data-leak' | 'crypto' | 'auth' | 'jwt' | 'cors-headers' | 'dependency' | 'cloud' | 'docker' | 'kubernetes' | 'iac' | 'business-logic' | 'api-security' | 'misc' | 'file-access';
2
2
  export interface SecurityRule {
3
3
  id: string;
4
4
  category: SecurityCategory;
@@ -11,6 +11,7 @@ export interface SecurityRule {
11
11
  excludeGlob?: string;
12
12
  fix?: string;
13
13
  confidence: number;
14
+ falsePositiveRisk?: 'high' | 'medium' | 'low';
14
15
  enabled: boolean;
15
16
  }
16
17
  export interface SecurityMatch {
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/security/rules.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,WAAW,GACX,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,MAAM,GACN,aAAa,CAAC;AAElB,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWnD,CAAC;AAMF,eAAO,MAAM,SAAS,EAAE,YAAY,EA28BnC,CAAC;AAIF,wBAAgB,SAAS,IAAI,YAAY,EAAE,CAK1C;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAE7E;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAEnE"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/security/rules.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,WAAW,GACX,KAAK,GACL,KAAK,GACL,iBAAiB,GACjB,MAAM,GACN,KAAK,GACL,gBAAgB,GAChB,aAAa,GACb,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,MAAM,GACN,KAAK,GACL,cAAc,GACd,YAAY,GACZ,OAAO,GACP,QAAQ,GACR,YAAY,GACZ,KAAK,GACL,gBAAgB,GAChB,cAAc,GACd,MAAM,GACN,aAAa,CAAC;AAElB,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC9C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWnD,CAAC;AAiBF,eAAO,MAAM,SAAS,EAAE,YAAY,EA+qCnC,CAAC;AAIF,wBAAgB,SAAS,IAAI,YAAY,EAAE,CAK1C;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAE7E;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAEnE"}