idea-manager 0.1.1 → 0.2.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.
- package/README.md +19 -10
- package/package.json +1 -1
- package/public/icon.svg +10 -0
- package/src/app/icon.svg +10 -0
- package/src/cli.ts +38 -6
- package/src/app/favicon.ico +0 -0
package/README.md
CHANGED
|
@@ -38,33 +38,36 @@ AI가 브레인스토밍 텍스트를 분석하여 계층형 작업 트리로
|
|
|
38
38
|
|
|
39
39
|
내장된 MCP Server를 통해 Claude 등 AI 에이전트가 작업을 조회하고, 상태를 업데이트하며, 순차적으로 실행할 수 있습니다.
|
|
40
40
|
|
|
41
|
-
## 설치
|
|
41
|
+
## 설치
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
44
|
npm install -g idea-manager
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
## 사용법
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
# 개발 서버
|
|
51
|
-
npm run dev
|
|
49
|
+
### 웹 UI 실행
|
|
52
50
|
|
|
53
|
-
|
|
51
|
+
```bash
|
|
54
52
|
im start
|
|
55
53
|
```
|
|
56
54
|
|
|
57
|
-
`http://localhost:3456
|
|
55
|
+
자동으로 `http://localhost:3456`에서 웹 UI가 열립니다.
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# 포트 변경
|
|
59
|
+
im start -p 4000
|
|
60
|
+
```
|
|
58
61
|
|
|
59
|
-
### MCP Server
|
|
62
|
+
### MCP Server 실행
|
|
60
63
|
|
|
61
64
|
```bash
|
|
62
65
|
im mcp
|
|
63
66
|
```
|
|
64
67
|
|
|
65
|
-
Claude Desktop 등에서 MCP Server로 연결하여
|
|
68
|
+
Claude Desktop, Claude Code 등에서 MCP Server로 연결하여 AI 에이전트가 작업을 자율 실행할 수 있습니다.
|
|
66
69
|
|
|
67
|
-
#### claude_desktop_config.json
|
|
70
|
+
#### Claude Desktop 설정 (claude_desktop_config.json)
|
|
68
71
|
|
|
69
72
|
```json
|
|
70
73
|
{
|
|
@@ -77,6 +80,12 @@ Claude Desktop 등에서 MCP Server로 연결하여 사용할 수 있습니다.
|
|
|
77
80
|
}
|
|
78
81
|
```
|
|
79
82
|
|
|
83
|
+
#### Claude Code 설정
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
claude mcp add idea-manager -- npx -y idea-manager mcp
|
|
87
|
+
```
|
|
88
|
+
|
|
80
89
|
### MCP 제공 도구
|
|
81
90
|
|
|
82
91
|
| 도구 | 설명 |
|
package/package.json
CHANGED
package/public/icon.svg
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
4
|
+
<stop offset="0%" stop-color="#6366f1"/>
|
|
5
|
+
<stop offset="100%" stop-color="#8b5cf6"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<rect width="512" height="512" rx="108" fill="url(#bg)"/>
|
|
9
|
+
<text x="256" y="390" font-family="system-ui, -apple-system, sans-serif" font-size="420" font-weight="900" fill="white" text-anchor="middle">I</text>
|
|
10
|
+
</svg>
|
package/src/app/icon.svg
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
4
|
+
<stop offset="0%" stop-color="#6366f1"/>
|
|
5
|
+
<stop offset="100%" stop-color="#8b5cf6"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<rect width="512" height="512" rx="108" fill="url(#bg)"/>
|
|
9
|
+
<text x="256" y="390" font-family="system-ui, -apple-system, sans-serif" font-size="420" font-weight="900" fill="white" text-anchor="middle">I</text>
|
|
10
|
+
</svg>
|
package/src/cli.ts
CHANGED
|
@@ -6,13 +6,20 @@ import { listProjects, getProject } from '@/lib/db/queries/projects';
|
|
|
6
6
|
import { getItemTree, getItems, updateItem } from '@/lib/db/queries/items';
|
|
7
7
|
import { getPrompt } from '@/lib/db/queries/prompts';
|
|
8
8
|
import type { McpToolContext } from '@/lib/mcp/tools';
|
|
9
|
+
import { spawn } from 'child_process';
|
|
10
|
+
import path from 'path';
|
|
11
|
+
import { fileURLToPath } from 'url';
|
|
12
|
+
|
|
13
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
14
|
+
const __dirname = path.dirname(__filename);
|
|
15
|
+
const PKG_ROOT = path.resolve(__dirname, '..');
|
|
9
16
|
|
|
10
17
|
const program = new Command();
|
|
11
18
|
|
|
12
19
|
program
|
|
13
20
|
.name('im')
|
|
14
|
-
.description('Idea Manager
|
|
15
|
-
.version('1.0
|
|
21
|
+
.description('Idea Manager - AI 기반 브레인스토밍 → 구조화 → 프롬프트 생성 도구')
|
|
22
|
+
.version('0.1.0');
|
|
16
23
|
|
|
17
24
|
program
|
|
18
25
|
.command('mcp')
|
|
@@ -32,10 +39,35 @@ program
|
|
|
32
39
|
|
|
33
40
|
program
|
|
34
41
|
.command('start')
|
|
35
|
-
.description('Start the web UI')
|
|
36
|
-
.
|
|
37
|
-
|
|
38
|
-
|
|
42
|
+
.description('Start the web UI (Next.js dev server on port 3456)')
|
|
43
|
+
.option('-p, --port <port>', 'Port number', '3456')
|
|
44
|
+
.action(async (opts) => {
|
|
45
|
+
const port = opts.port;
|
|
46
|
+
console.log(`\n IM - 아이디어 매니저`);
|
|
47
|
+
console.log(` Starting on http://localhost:${port}\n`);
|
|
48
|
+
|
|
49
|
+
const nextBin = path.join(PKG_ROOT, 'node_modules', '.bin', 'next');
|
|
50
|
+
const child = spawn(nextBin, ['dev', '-p', port], {
|
|
51
|
+
cwd: PKG_ROOT,
|
|
52
|
+
stdio: 'inherit',
|
|
53
|
+
env: { ...process.env, NODE_ENV: 'development' },
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
child.on('error', (err) => {
|
|
57
|
+
console.error('Failed to start server:', err.message);
|
|
58
|
+
process.exit(1);
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
// 서버 시작 후 브라우저 오픈
|
|
62
|
+
setTimeout(async () => {
|
|
63
|
+
try {
|
|
64
|
+
const open = (await import('open')).default;
|
|
65
|
+
await open(`http://localhost:${port}`);
|
|
66
|
+
} catch { /* ignore */ }
|
|
67
|
+
}, 3000);
|
|
68
|
+
|
|
69
|
+
process.on('SIGINT', () => { child.kill(); process.exit(0); });
|
|
70
|
+
process.on('SIGTERM', () => { child.kill(); process.exit(0); });
|
|
39
71
|
});
|
|
40
72
|
|
|
41
73
|
program.parse();
|
package/src/app/favicon.ico
DELETED
|
Binary file
|