activo 0.4.1 → 0.4.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.
- package/README.md +99 -4
- package/dist/cli/index.js +0 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -4,6 +4,23 @@ AI 기반 코드 품질 분석 CLI (Ollama)
|
|
|
4
4
|
|
|
5
5
|

|
|
6
6
|
|
|
7
|
+
Ollama를 활용한 대화형 코드 분석 에이전트. Java, TypeScript, Python, SQL, CSS 등 다국어·멀티스택 프로젝트를 자동 감지하고 품질 이슈를 분석합니다.
|
|
8
|
+
|
|
9
|
+
- **Tool Calling**: LLM이 상황에 맞는 도구를 직접 호출
|
|
10
|
+
- **MCP 지원**: Model Context Protocol 연동
|
|
11
|
+
- **React Ink TUI**: 터미널용 대화형 UI
|
|
12
|
+
|
|
13
|
+
## 주요 기능
|
|
14
|
+
|
|
15
|
+
| 카테고리 | 도구 | 설명 |
|
|
16
|
+
|----------|------|------|
|
|
17
|
+
| **전체 분석** | `analyze_all` | 디렉토리 전체 자동 감지 및 분석 (권장) |
|
|
18
|
+
| **코드 분석** | Java, JS/TS, Python, React, Vue | AST, 순환 복잡도, 프레임워크 패턴 |
|
|
19
|
+
| **SQL/DB** | `sql_check`, `mybatis_check` | SQL Injection, N+1, 동적 SQL 분석 |
|
|
20
|
+
| **웹** | `css_check`, `html_check` | !important, 접근성(a11y), SEO 검사 |
|
|
21
|
+
| **의존성** | `dependency_check` | npm/Maven/Gradle 보안 취약점 검출 |
|
|
22
|
+
| **표준/RAG** | `import_hwp_standards`, `check_quality_rag` | HWP/PDF → 마크다운, RAG 기반 품질 검사 |
|
|
23
|
+
|
|
7
24
|
## 설치
|
|
8
25
|
|
|
9
26
|
```bash
|
|
@@ -14,7 +31,7 @@ npm install -g activo
|
|
|
14
31
|
|
|
15
32
|
- Node.js 18+
|
|
16
33
|
- [Ollama](https://ollama.ai) 실행 중
|
|
17
|
-
- 모델: `ollama pull mistral:latest`
|
|
34
|
+
- 모델: `ollama pull mistral:latest` (또는 `qwen2.5:7b` 등)
|
|
18
35
|
|
|
19
36
|
## 사용법
|
|
20
37
|
|
|
@@ -22,13 +39,91 @@ npm install -g activo
|
|
|
22
39
|
# 대화형 모드
|
|
23
40
|
activo
|
|
24
41
|
|
|
25
|
-
# 프롬프트와 함께 실행
|
|
26
|
-
activo "src 폴더 분석해줘"
|
|
42
|
+
# 프롬프트와 함께 실행 (권장)
|
|
43
|
+
activo "src 폴더 품질 분석해줘"
|
|
27
44
|
|
|
28
45
|
# 특정 모델 사용
|
|
29
|
-
activo --model qwen2.5:7b
|
|
46
|
+
activo --model qwen2.5:7b "Java 코드 복잡도 점검해줘"
|
|
47
|
+
|
|
48
|
+
# Headless 모드 (CI/스크립트)
|
|
49
|
+
activo --headless "analyze_all 해줘"
|
|
50
|
+
|
|
51
|
+
# 프롬프트만 출력 후 종료
|
|
52
|
+
activo --print "분석 요약해줘"
|
|
53
|
+
|
|
54
|
+
# 이전 세션 이어서
|
|
55
|
+
activo --resume
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## 설정
|
|
59
|
+
|
|
60
|
+
설정 파일: `~/.activo/config.json` (전역), `.activo/config.json` (프로젝트별)
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"ollama": {
|
|
65
|
+
"baseUrl": "http://localhost:11434",
|
|
66
|
+
"model": "mistral:latest",
|
|
67
|
+
"contextLength": 8192,
|
|
68
|
+
"keepAlive": 1800
|
|
69
|
+
},
|
|
70
|
+
"standards": {
|
|
71
|
+
"directory": ".activo/standards"
|
|
72
|
+
},
|
|
73
|
+
"mcp": {
|
|
74
|
+
"servers": {
|
|
75
|
+
"my-server": {
|
|
76
|
+
"command": "npx",
|
|
77
|
+
"args": ["-y", "my-mcp-server"],
|
|
78
|
+
"env": {}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
30
83
|
```
|
|
31
84
|
|
|
85
|
+
| 옵션 | 설명 | 기본값 |
|
|
86
|
+
|------|------|--------|
|
|
87
|
+
| `ollama.baseUrl` | Ollama API URL | `http://localhost:11434` |
|
|
88
|
+
| `ollama.model` | 사용할 모델 | `mistral:latest` |
|
|
89
|
+
| `ollama.contextLength` | 컨텍스트 길이 | `8192` |
|
|
90
|
+
| `ollama.keepAlive` | 모델 유지 시간(초) | `1800` |
|
|
91
|
+
|
|
92
|
+
## 프로젝트 데이터
|
|
93
|
+
|
|
94
|
+
분석 시 프로젝트 루트에 `.activo/` 디렉토리가 생성됩니다.
|
|
95
|
+
|
|
96
|
+
| 경로 | 용도 |
|
|
97
|
+
|------|------|
|
|
98
|
+
| `.activo/cache/` | 파일 요약 캐시 |
|
|
99
|
+
| `.activo/embeddings/` | 코드 임베딩 인덱스 |
|
|
100
|
+
| `.activo/memory/` | 프로젝트 메모리·대화 요약 |
|
|
101
|
+
| `.activo/standards-rag/` | 표준 문서 RAG (HWP/PDF import 후) |
|
|
102
|
+
|
|
103
|
+
## MCP 연동
|
|
104
|
+
|
|
105
|
+
`~/.activo/config.json`의 `mcp.servers`에 MCP 서버를 등록하면 activo가 해당 도구를 자동으로 사용할 수 있습니다.
|
|
106
|
+
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"mcp": {
|
|
110
|
+
"servers": {
|
|
111
|
+
"filesystem": {
|
|
112
|
+
"command": "npx",
|
|
113
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed"]
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## 기술 스택
|
|
121
|
+
|
|
122
|
+
- **Ollama** - 로컬 LLM
|
|
123
|
+
- **TypeScript Compiler API** - JS/TS AST 분석
|
|
124
|
+
- **java-ast** - Java 파싱 (ANTLR4)
|
|
125
|
+
- **React Ink** - 터미널 UI
|
|
126
|
+
|
|
32
127
|
## 라이선스
|
|
33
128
|
|
|
34
129
|
MIT
|
package/dist/cli/index.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "activo",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "AI-powered code quality analyzer with React Ink TUI, Tool Calling, and MCP support",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"java-ast": "^0.4.1",
|
|
52
52
|
"pdf-parse": "^1.1.1",
|
|
53
53
|
"react": "^19.1.0",
|
|
54
|
+
"typescript": "^5.8.0",
|
|
54
55
|
"uuid": "^10.0.0"
|
|
55
56
|
},
|
|
56
57
|
"devDependencies": {
|
|
@@ -60,7 +61,6 @@
|
|
|
60
61
|
"@types/react": "^19.1.0",
|
|
61
62
|
"@types/uuid": "^10.0.0",
|
|
62
63
|
"tsx": "^4.20.0",
|
|
63
|
-
"typescript": "^5.8.0",
|
|
64
64
|
"vitest": "^3.2.0"
|
|
65
65
|
}
|
|
66
66
|
}
|