activo 0.2.2 → 0.3.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 (64) hide show
  1. package/README.md +79 -3
  2. package/dist/core/llm/ollama.d.ts +2 -0
  3. package/dist/core/llm/ollama.d.ts.map +1 -1
  4. package/dist/core/llm/ollama.js +26 -0
  5. package/dist/core/llm/ollama.js.map +1 -1
  6. package/dist/core/tools/ast.d.ts +81 -0
  7. package/dist/core/tools/ast.d.ts.map +1 -0
  8. package/dist/core/tools/ast.js +700 -0
  9. package/dist/core/tools/ast.js.map +1 -0
  10. package/dist/core/tools/cache.d.ts +19 -0
  11. package/dist/core/tools/cache.d.ts.map +1 -0
  12. package/dist/core/tools/cache.js +497 -0
  13. package/dist/core/tools/cache.js.map +1 -0
  14. package/dist/core/tools/cssAnalysis.d.ts +3 -0
  15. package/dist/core/tools/cssAnalysis.d.ts.map +1 -0
  16. package/dist/core/tools/cssAnalysis.js +270 -0
  17. package/dist/core/tools/cssAnalysis.js.map +1 -0
  18. package/dist/core/tools/embeddings.d.ts +8 -0
  19. package/dist/core/tools/embeddings.d.ts.map +1 -0
  20. package/dist/core/tools/embeddings.js +631 -0
  21. package/dist/core/tools/embeddings.js.map +1 -0
  22. package/dist/core/tools/frontendAst.d.ts +6 -0
  23. package/dist/core/tools/frontendAst.d.ts.map +1 -0
  24. package/dist/core/tools/frontendAst.js +680 -0
  25. package/dist/core/tools/frontendAst.js.map +1 -0
  26. package/dist/core/tools/htmlAnalysis.d.ts +3 -0
  27. package/dist/core/tools/htmlAnalysis.d.ts.map +1 -0
  28. package/dist/core/tools/htmlAnalysis.js +398 -0
  29. package/dist/core/tools/htmlAnalysis.js.map +1 -0
  30. package/dist/core/tools/index.d.ts +10 -0
  31. package/dist/core/tools/index.d.ts.map +1 -1
  32. package/dist/core/tools/index.js +21 -1
  33. package/dist/core/tools/index.js.map +1 -1
  34. package/dist/core/tools/javaAst.d.ts +6 -0
  35. package/dist/core/tools/javaAst.d.ts.map +1 -0
  36. package/dist/core/tools/javaAst.js +678 -0
  37. package/dist/core/tools/javaAst.js.map +1 -0
  38. package/dist/core/tools/memory.d.ts +11 -0
  39. package/dist/core/tools/memory.d.ts.map +1 -0
  40. package/dist/core/tools/memory.js +551 -0
  41. package/dist/core/tools/memory.js.map +1 -0
  42. package/dist/core/tools/mybatisAnalysis.d.ts +3 -0
  43. package/dist/core/tools/mybatisAnalysis.d.ts.map +1 -0
  44. package/dist/core/tools/mybatisAnalysis.js +251 -0
  45. package/dist/core/tools/mybatisAnalysis.js.map +1 -0
  46. package/dist/core/tools/sqlAnalysis.d.ts +3 -0
  47. package/dist/core/tools/sqlAnalysis.d.ts.map +1 -0
  48. package/dist/core/tools/sqlAnalysis.js +250 -0
  49. package/dist/core/tools/sqlAnalysis.js.map +1 -0
  50. package/package.json +2 -1
  51. package/src/core/llm/ollama.ts +30 -0
  52. package/src/core/tools/ast.ts +826 -0
  53. package/src/core/tools/cache.ts +570 -0
  54. package/src/core/tools/cssAnalysis.ts +324 -0
  55. package/src/core/tools/embeddings.ts +746 -0
  56. package/src/core/tools/frontendAst.ts +802 -0
  57. package/src/core/tools/htmlAnalysis.ts +466 -0
  58. package/src/core/tools/index.ts +21 -1
  59. package/src/core/tools/javaAst.ts +812 -0
  60. package/src/core/tools/memory.ts +655 -0
  61. package/src/core/tools/mybatisAnalysis.ts +322 -0
  62. package/src/core/tools/sqlAnalysis.ts +298 -0
  63. package/FINAL_SIMPLIFIED_SPEC.md +0 -456
  64. package/TODO.md +0 -193
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ACTIVO
2
2
 
3
- AI 기반 코드 품질 분석 CLI 도구
3
+ AI 기반 코드 품질 분석 CLI 도구 (Ollama 전용)
4
4
 
5
5
  ![Screenshot](screenshot.png)
6
6
 
@@ -32,11 +32,84 @@ activo --model qwen2.5:7b
32
32
 
33
33
  ## 주요 기능
34
34
 
35
- - **자연어 인터페이스**: 한글로 명령 입력
36
- - **Tool Calling**: 파일 읽기/쓰기, 검색, 명령 실행
35
+ ### 기본 도구
36
+ - **파일 작업**: 읽기, 쓰기, 디렉토리 목록
37
+ - **검색**: grep (패턴), glob (파일명)
38
+ - **명령 실행**: 셸 명령 (안전 필터 적용)
39
+
40
+ ### 코드 분석
41
+ - **AST 분석**: 함수, 클래스, 타입 구조 파악 (TypeScript Compiler API)
42
+ - **복잡도 분석**: 순환 복잡도 계산 및 리포트
43
+ - **호출 그래프**: 함수 간 호출 관계 추적
44
+ - **심볼 사용처**: 특정 심볼이 어디서 사용되는지 검색
45
+
46
+ ### 파일 요약 캐싱
47
+ - **LLM 요약**: 파일 내용을 LLM으로 요약 후 캐싱
48
+ - **아웃라인**: 함수/클래스 시그니처 빠른 추출 (LLM 없음)
49
+ - **변경 감지**: 파일 해시로 변경 시에만 재생성
50
+
51
+ ### 의미 기반 검색 (RAG)
52
+ - **코드베이스 인덱싱**: 벡터 임베딩 생성 (`nomic-embed-text`)
53
+ - **의미 검색**: "로그인 관련 코드" → 관련 코드 찾기
54
+ - **유사 코드 찾기**: 코드 패턴 검색
55
+
56
+ ### 프로젝트 메모리
57
+ - **컨텍스트 저장**: 프로젝트 정보, 기술 스택, 컨벤션
58
+ - **노트/사실**: 중요 정보 기억
59
+ - **대화 요약**: 세션 간 컨텍스트 유지
60
+
61
+ ### 프론트엔드 분석
62
+ - **React**: 컴포넌트 구조, Hooks 사용, 클래스 컴포넌트 감지
63
+ - **Vue**: Options/Composition/Script Setup API 분석
64
+ - **jQuery**: deprecated 메서드 검출 (bind, live, size 등)
65
+
66
+ ### SQL/데이터베이스 분석
67
+ - **SQL**: Java 내 @Query, JDBC 쿼리 분석 (SELECT *, N+1 패턴)
68
+ - **MyBatis**: XML 매퍼 분석, ${} 인젝션 위험, 동적 SQL
69
+
70
+ ### 웹 표준 분석
71
+ - **CSS/SCSS/LESS**: !important, 중첩 깊이, vendor prefix
72
+ - **HTML/JSP**: 접근성(a11y), SEO, 시맨틱 태그, deprecated 태그
73
+
74
+ ### 개발 표준
37
75
  - **PDF 변환**: 개발표준 PDF → Markdown 변환
38
76
  - **코드 품질 분석**: 규칙 기반 코드 점검
39
77
 
78
+ ## 도구 목록
79
+
80
+ | 카테고리 | 도구 | 설명 |
81
+ |----------|------|------|
82
+ | **기본** | `read_file` | 파일 읽기 |
83
+ | | `write_file` | 파일 쓰기 |
84
+ | | `list_directory` | 디렉토리 목록 |
85
+ | | `grep_search` | 패턴 검색 |
86
+ | | `glob_search` | 파일명 검색 |
87
+ | | `run_command` | 셸 명령 실행 |
88
+ | **캐시** | `summarize_file` | 파일 요약 (LLM + 캐싱) |
89
+ | | `get_file_outline` | 구조 추출 (빠름) |
90
+ | | `batch_summarize` | 다중 파일 요약 |
91
+ | **AST (TS/JS)** | `ast_analyze` | 심층 코드 분석 |
92
+ | | `get_call_graph` | 호출 그래프 |
93
+ | | `find_symbol_usage` | 심볼 사용처 |
94
+ | | `complexity_report` | 복잡도 리포트 |
95
+ | **Java** | `java_analyze` | Java AST 분석 |
96
+ | | `java_complexity` | Java 복잡도 리포트 |
97
+ | | `spring_check` | Spring 패턴 검사 |
98
+ | **Frontend** | `react_check` | React 컴포넌트/Hooks 분석 |
99
+ | | `vue_check` | Vue 컴포넌트 분석 |
100
+ | | `jquery_check` | jQuery deprecated 메서드 검사 |
101
+ | **SQL/DB** | `sql_check` | Java 내 SQL 쿼리 분석 |
102
+ | | `mybatis_check` | MyBatis XML 매퍼 분석 |
103
+ | **Web** | `css_check` | CSS/SCSS/LESS 분석 |
104
+ | | `html_check` | HTML/JSP 접근성/SEO 분석 |
105
+ | **RAG** | `index_codebase` | 벡터 인덱싱 |
106
+ | | `semantic_search` | 의미 검색 |
107
+ | | `find_similar_code` | 유사 코드 찾기 |
108
+ | **메모리** | `init_project_memory` | 프로젝트 컨텍스트 |
109
+ | | `add_note` | 노트 저장 |
110
+ | | `get_project_context` | 컨텍스트 조회 |
111
+ | | `search_memory` | 메모리 검색 |
112
+
40
113
  ## 요구사항
41
114
 
42
115
  - Node.js 18+
@@ -68,6 +141,9 @@ ollama pull qwen2.5:7b
68
141
 
69
142
  # 코드 특화 모델
70
143
  ollama pull codellama:7b
144
+
145
+ # 임베딩 모델 (의미 검색용)
146
+ ollama pull nomic-embed-text
71
147
  ```
72
148
 
73
149
  ### 3. Ollama 실행
@@ -26,5 +26,7 @@ export declare class OllamaClient {
26
26
  private parseResponse;
27
27
  getModel(): string;
28
28
  setModel(model: string): void;
29
+ embed(text: string, model?: string): Promise<number[]>;
30
+ embedBatch(texts: string[], model?: string): Promise<number[][]>;
29
31
  }
30
32
  //# sourceMappingURL=ollama.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../src/core/llm/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiBD,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,YAAY;IAO1B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAO/B,IAAI,CACR,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,CAAC,EAAE,IAAI,EAAE,GACb,OAAO,CAAC,WAAW,CAAC;IAwChB,UAAU,CACf,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,CAAC,EAAE,IAAI,EAAE,EACd,WAAW,CAAC,EAAE,WAAW,GACxB,cAAc,CAAC,WAAW,CAAC;IAuF9B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,aAAa;IAiBrB,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAG9B"}
1
+ {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../src/core/llm/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiBD,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,YAAY;IAO1B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAO/B,IAAI,CACR,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,CAAC,EAAE,IAAI,EAAE,GACb,OAAO,CAAC,WAAW,CAAC;IAwChB,UAAU,CACf,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,CAAC,EAAE,IAAI,EAAE,EACd,WAAW,CAAC,EAAE,WAAW,GACxB,cAAc,CAAC,WAAW,CAAC;IAuF9B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,aAAa;IAiBrB,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoBtD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CAQvE"}
@@ -169,5 +169,31 @@ export class OllamaClient {
169
169
  setModel(model) {
170
170
  this.model = model;
171
171
  }
172
+ // Generate embeddings for text
173
+ async embed(text, model) {
174
+ const response = await fetch(`${this.baseUrl}/api/embeddings`, {
175
+ method: "POST",
176
+ headers: { "Content-Type": "application/json" },
177
+ body: JSON.stringify({
178
+ model: model || "nomic-embed-text",
179
+ prompt: text,
180
+ }),
181
+ });
182
+ if (!response.ok) {
183
+ const error = await response.text();
184
+ throw new Error(`Ollama embedding error: ${error}`);
185
+ }
186
+ const data = (await response.json());
187
+ return data.embedding;
188
+ }
189
+ // Generate embeddings for multiple texts (batch)
190
+ async embedBatch(texts, model) {
191
+ const embeddings = [];
192
+ for (const text of texts) {
193
+ const embedding = await this.embed(text, model);
194
+ embeddings.push(embedding);
195
+ }
196
+ return embeddings;
197
+ }
172
198
  }
173
199
  //# sourceMappingURL=ollama.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../../src/core/llm/ollama.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../../src/core/llm/ollama.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { Tool } from "./types.js";
2
+ export interface ASTNodeInfo {
3
+ name: string;
4
+ kind: string;
5
+ line: number;
6
+ column: number;
7
+ children?: ASTNodeInfo[];
8
+ params?: string[];
9
+ returnType?: string;
10
+ modifiers?: string[];
11
+ jsdoc?: string;
12
+ }
13
+ export interface FunctionInfo {
14
+ name: string;
15
+ kind: "function" | "method" | "arrow" | "constructor";
16
+ line: number;
17
+ params: Array<{
18
+ name: string;
19
+ type: string;
20
+ optional: boolean;
21
+ }>;
22
+ returnType: string;
23
+ async: boolean;
24
+ exported: boolean;
25
+ className?: string;
26
+ complexity: number;
27
+ calls: string[];
28
+ }
29
+ export interface ClassInfo {
30
+ name: string;
31
+ line: number;
32
+ exported: boolean;
33
+ extends?: string;
34
+ implements: string[];
35
+ methods: FunctionInfo[];
36
+ properties: Array<{
37
+ name: string;
38
+ type: string;
39
+ visibility: string;
40
+ }>;
41
+ }
42
+ export interface FileAnalysis {
43
+ filepath: string;
44
+ language: string;
45
+ imports: Array<{
46
+ module: string;
47
+ names: string[];
48
+ }>;
49
+ exports: string[];
50
+ functions: FunctionInfo[];
51
+ classes: ClassInfo[];
52
+ interfaces: Array<{
53
+ name: string;
54
+ line: number;
55
+ properties: string[];
56
+ }>;
57
+ types: Array<{
58
+ name: string;
59
+ line: number;
60
+ }>;
61
+ variables: Array<{
62
+ name: string;
63
+ line: number;
64
+ type: string;
65
+ exported: boolean;
66
+ }>;
67
+ complexity: {
68
+ total: number;
69
+ average: number;
70
+ highest: {
71
+ name: string;
72
+ value: number;
73
+ };
74
+ };
75
+ }
76
+ export declare const astAnalyzeTool: Tool;
77
+ export declare const getCallGraphTool: Tool;
78
+ export declare const findReferencesTool: Tool;
79
+ export declare const complexityReportTool: Tool;
80
+ export declare const astTools: Tool[];
81
+ //# sourceMappingURL=ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/core/tools/ast.ts"],"names":[],"mappings":"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"}