crewx 0.3.0 → 0.4.0-dev.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/bin/crewx.js +6 -0
- package/package.json +9 -107
- package/LICENSE +0 -201
- package/README.md +0 -234
- package/crewx.yaml +0 -2069
- package/dist/agent.types.d.ts +0 -117
- package/dist/agent.types.js +0 -16
- package/dist/agent.types.js.map +0 -1
- package/dist/ai-provider.service.d.ts +0 -36
- package/dist/ai-provider.service.js +0 -191
- package/dist/ai-provider.service.js.map +0 -1
- package/dist/ai.service.d.ts +0 -57
- package/dist/ai.service.js +0 -629
- package/dist/ai.service.js.map +0 -1
- package/dist/app.module.d.ts +0 -5
- package/dist/app.module.js +0 -103
- package/dist/app.module.js.map +0 -1
- package/dist/cli/agent.handler.d.ts +0 -2
- package/dist/cli/agent.handler.js +0 -140
- package/dist/cli/agent.handler.js.map +0 -1
- package/dist/cli/chat.handler.d.ts +0 -19
- package/dist/cli/chat.handler.js +0 -431
- package/dist/cli/chat.handler.js.map +0 -1
- package/dist/cli/cli.handler.d.ts +0 -4
- package/dist/cli/cli.handler.js +0 -97
- package/dist/cli/cli.handler.js.map +0 -1
- package/dist/cli/doctor.handler.d.ts +0 -36
- package/dist/cli/doctor.handler.js +0 -382
- package/dist/cli/doctor.handler.js.map +0 -1
- package/dist/cli/execute.handler.d.ts +0 -2
- package/dist/cli/execute.handler.js +0 -319
- package/dist/cli/execute.handler.js.map +0 -1
- package/dist/cli/help.handler.d.ts +0 -2
- package/dist/cli/help.handler.js +0 -10
- package/dist/cli/help.handler.js.map +0 -1
- package/dist/cli/init.handler.d.ts +0 -26
- package/dist/cli/init.handler.js +0 -450
- package/dist/cli/init.handler.js.map +0 -1
- package/dist/cli/mcp.handler.d.ts +0 -3
- package/dist/cli/mcp.handler.js +0 -121
- package/dist/cli/mcp.handler.js.map +0 -1
- package/dist/cli/query.handler.d.ts +0 -2
- package/dist/cli/query.handler.js +0 -380
- package/dist/cli/query.handler.js.map +0 -1
- package/dist/cli/templates.handler.d.ts +0 -2
- package/dist/cli/templates.handler.js +0 -100
- package/dist/cli/templates.handler.js.map +0 -1
- package/dist/cli-options.d.ts +0 -29
- package/dist/cli-options.js +0 -234
- package/dist/cli-options.js.map +0 -1
- package/dist/config/timeout.config.d.ts +0 -14
- package/dist/config/timeout.config.js +0 -34
- package/dist/config/timeout.config.js.map +0 -1
- package/dist/constants.d.ts +0 -4
- package/dist/constants.js +0 -8
- package/dist/constants.js.map +0 -1
- package/dist/conversation/base-conversation-history.provider.d.ts +0 -12
- package/dist/conversation/base-conversation-history.provider.js +0 -45
- package/dist/conversation/base-conversation-history.provider.js.map +0 -1
- package/dist/conversation/cli-conversation-history.provider.d.ts +0 -16
- package/dist/conversation/cli-conversation-history.provider.js +0 -111
- package/dist/conversation/cli-conversation-history.provider.js.map +0 -1
- package/dist/conversation/conversation-config.d.ts +0 -9
- package/dist/conversation/conversation-config.js +0 -25
- package/dist/conversation/conversation-config.js.map +0 -1
- package/dist/conversation/conversation-history.interface.d.ts +0 -25
- package/dist/conversation/conversation-history.interface.js +0 -3
- package/dist/conversation/conversation-history.interface.js.map +0 -1
- package/dist/conversation/conversation-provider.factory.d.ts +0 -10
- package/dist/conversation/conversation-provider.factory.js +0 -50
- package/dist/conversation/conversation-provider.factory.js.map +0 -1
- package/dist/conversation/conversation-storage.service.d.ts +0 -16
- package/dist/conversation/conversation-storage.service.js +0 -220
- package/dist/conversation/conversation-storage.service.js.map +0 -1
- package/dist/conversation/index.d.ts +0 -7
- package/dist/conversation/index.js +0 -24
- package/dist/conversation/index.js.map +0 -1
- package/dist/conversation/slack-conversation-history.provider.d.ts +0 -28
- package/dist/conversation/slack-conversation-history.provider.js +0 -278
- package/dist/conversation/slack-conversation-history.provider.js.map +0 -1
- package/dist/crewx.tool.d.ts +0 -332
- package/dist/crewx.tool.js +0 -1463
- package/dist/crewx.tool.js.map +0 -1
- package/dist/guards/bearer-auth.guard.d.ts +0 -7
- package/dist/guards/bearer-auth.guard.js +0 -44
- package/dist/guards/bearer-auth.guard.js.map +0 -1
- package/dist/health.controller.d.ts +0 -6
- package/dist/health.controller.js +0 -32
- package/dist/health.controller.js.map +0 -1
- package/dist/knowledge/DocumentManager.d.ts +0 -4
- package/dist/knowledge/DocumentManager.js +0 -119
- package/dist/knowledge/DocumentManager.js.map +0 -1
- package/dist/main.d.ts +0 -1
- package/dist/main.js +0 -268
- package/dist/main.js.map +0 -1
- package/dist/mcp.controller.d.ts +0 -8
- package/dist/mcp.controller.js +0 -62
- package/dist/mcp.controller.js.map +0 -1
- package/dist/project.service.d.ts +0 -44
- package/dist/project.service.js +0 -299
- package/dist/project.service.js.map +0 -1
- package/dist/providers/ai-provider.interface.d.ts +0 -50
- package/dist/providers/ai-provider.interface.js +0 -23
- package/dist/providers/ai-provider.interface.js.map +0 -1
- package/dist/providers/base-ai.provider.d.ts +0 -50
- package/dist/providers/base-ai.provider.js +0 -624
- package/dist/providers/base-ai.provider.js.map +0 -1
- package/dist/providers/claude.provider.d.ts +0 -25
- package/dist/providers/claude.provider.js +0 -362
- package/dist/providers/claude.provider.js.map +0 -1
- package/dist/providers/codex.provider.d.ts +0 -17
- package/dist/providers/codex.provider.js +0 -99
- package/dist/providers/codex.provider.js.map +0 -1
- package/dist/providers/copilot.provider.d.ts +0 -25
- package/dist/providers/copilot.provider.js +0 -266
- package/dist/providers/copilot.provider.js.map +0 -1
- package/dist/providers/dynamic-provider.factory.d.ts +0 -55
- package/dist/providers/dynamic-provider.factory.js +0 -587
- package/dist/providers/dynamic-provider.factory.js.map +0 -1
- package/dist/providers/gemini.provider.d.ts +0 -22
- package/dist/providers/gemini.provider.js +0 -147
- package/dist/providers/gemini.provider.js.map +0 -1
- package/dist/services/agent-loader.service.d.ts +0 -29
- package/dist/services/agent-loader.service.js +0 -370
- package/dist/services/agent-loader.service.js.map +0 -1
- package/dist/services/auth.service.d.ts +0 -9
- package/dist/services/auth.service.js +0 -47
- package/dist/services/auth.service.js.map +0 -1
- package/dist/services/config-validator.service.d.ts +0 -28
- package/dist/services/config-validator.service.js +0 -467
- package/dist/services/config-validator.service.js.map +0 -1
- package/dist/services/config.service.d.ts +0 -45
- package/dist/services/config.service.js +0 -180
- package/dist/services/config.service.js.map +0 -1
- package/dist/services/context-enhancement.service.d.ts +0 -13
- package/dist/services/context-enhancement.service.js +0 -169
- package/dist/services/context-enhancement.service.js.map +0 -1
- package/dist/services/document-loader.service.d.ts +0 -16
- package/dist/services/document-loader.service.js +0 -137
- package/dist/services/document-loader.service.js.map +0 -1
- package/dist/services/help.service.d.ts +0 -5
- package/dist/services/help.service.js +0 -117
- package/dist/services/help.service.js.map +0 -1
- package/dist/services/intelligent-compression.service.d.ts +0 -20
- package/dist/services/intelligent-compression.service.js +0 -179
- package/dist/services/intelligent-compression.service.js.map +0 -1
- package/dist/services/mcp-client.service.d.ts +0 -26
- package/dist/services/mcp-client.service.js +0 -81
- package/dist/services/mcp-client.service.js.map +0 -1
- package/dist/services/parallel-processing.service.d.ts +0 -108
- package/dist/services/parallel-processing.service.js +0 -268
- package/dist/services/parallel-processing.service.js.map +0 -1
- package/dist/services/remote-agent.service.d.ts +0 -49
- package/dist/services/remote-agent.service.js +0 -215
- package/dist/services/remote-agent.service.js.map +0 -1
- package/dist/services/result-formatter.service.d.ts +0 -27
- package/dist/services/result-formatter.service.js +0 -126
- package/dist/services/result-formatter.service.js.map +0 -1
- package/dist/services/task-management.service.d.ts +0 -63
- package/dist/services/task-management.service.js +0 -272
- package/dist/services/task-management.service.js.map +0 -1
- package/dist/services/template.service.d.ts +0 -36
- package/dist/services/template.service.js +0 -195
- package/dist/services/template.service.js.map +0 -1
- package/dist/services/tool-call.service.d.ts +0 -53
- package/dist/services/tool-call.service.js +0 -1061
- package/dist/services/tool-call.service.js.map +0 -1
- package/dist/slack/formatters/message.formatter.d.ts +0 -25
- package/dist/slack/formatters/message.formatter.js +0 -246
- package/dist/slack/formatters/message.formatter.js.map +0 -1
- package/dist/slack/slack-bot.d.ts +0 -24
- package/dist/slack/slack-bot.js +0 -467
- package/dist/slack/slack-bot.js.map +0 -1
- package/dist/stderr.logger.d.ts +0 -8
- package/dist/stderr.logger.js +0 -26
- package/dist/stderr.logger.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/utils/config-utils.d.ts +0 -15
- package/dist/utils/config-utils.js +0 -69
- package/dist/utils/config-utils.js.map +0 -1
- package/dist/utils/error-utils.d.ts +0 -3
- package/dist/utils/error-utils.js +0 -27
- package/dist/utils/error-utils.js.map +0 -1
- package/dist/utils/math-utils.d.ts +0 -3
- package/dist/utils/math-utils.js +0 -10
- package/dist/utils/math-utils.js.map +0 -1
- package/dist/utils/mcp-installer.d.ts +0 -20
- package/dist/utils/mcp-installer.js +0 -199
- package/dist/utils/mcp-installer.js.map +0 -1
- package/dist/utils/mention-parser.d.ts +0 -18
- package/dist/utils/mention-parser.js +0 -136
- package/dist/utils/mention-parser.js.map +0 -1
- package/dist/utils/simple-security.d.ts +0 -3
- package/dist/utils/simple-security.js +0 -20
- package/dist/utils/simple-security.js.map +0 -1
- package/dist/utils/stdin-utils.d.ts +0 -27
- package/dist/utils/stdin-utils.js +0 -130
- package/dist/utils/stdin-utils.js.map +0 -1
- package/dist/utils/string-utils.d.ts +0 -1
- package/dist/utils/string-utils.js +0 -10
- package/dist/utils/string-utils.js.map +0 -1
- package/dist/utils/template-processor.d.ts +0 -32
- package/dist/utils/template-processor.js +0 -202
- package/dist/utils/template-processor.js.map +0 -1
- package/dist/version.d.ts +0 -1
- package/dist/version.js +0 -17
- package/dist/version.js.map +0 -1
- package/docs/CLA.md +0 -88
- package/docs/agent-configuration.md +0 -364
- package/docs/agent-registry-strategy.md +0 -348
- package/docs/branding-decision-crewx.md +0 -395
- package/docs/claude-code-docker-guide.md +0 -264
- package/docs/cli-guide.md +0 -439
- package/docs/development.md +0 -595
- package/docs/diagram1.svg +0 -1
- package/docs/guides/agent-best-practices.md +0 -97
- package/docs/guides/bug-management.md +0 -600
- package/docs/guides/git-bug-reference.md +0 -366
- package/docs/mcp-integration.md +0 -187
- package/docs/process/development-workflow.md +0 -84
- package/docs/remote-agents.md +0 -555
- package/docs/roadmap.md +0 -528
- package/docs/rules/branch-protection.md +0 -40
- package/docs/standards/rc-versioning.md +0 -60
- package/docs/standards/report-structure.md +0 -67
- package/docs/template-variables.md +0 -382
- package/docs/templates.md +0 -517
- package/docs/tools.md +0 -583
- package/docs/troubleshooting.md +0 -611
- package/templates/agents/default.yaml +0 -938
- package/templates/agents/minimal.yaml +0 -25
- package/templates/documents/crewcode-manual.md +0 -292
- package/templates/versions.json +0 -19
|
@@ -1,395 +0,0 @@
|
|
|
1
|
-
# 브랜딩 전략 결정: crewx vs crewx
|
|
2
|
-
|
|
3
|
-
**의사결정 요청일**: 2025-10-10
|
|
4
|
-
**작성자**: Dev Lead
|
|
5
|
-
**검토 대상**: 전략 책임자
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 📋 요약 (Executive Summary)
|
|
10
|
-
|
|
11
|
-
현재 메인 제품 브랜드인 "crewx"를 "crewx"로 전환할지 결정이 필요합니다.
|
|
12
|
-
|
|
13
|
-
**핵심 질문**:
|
|
14
|
-
- crewx를 instant execution 서브 제품으로 유지할 것인가?
|
|
15
|
-
- 아니면 crewx를 메인 브랜드로 전환할 것인가?
|
|
16
|
-
|
|
17
|
-
**배경**:
|
|
18
|
-
- npm 패키지명 "crewx" 선점 완료 (2025-10-10)
|
|
19
|
-
- 원래 계획: crewx = npx처럼 즉시 실행 도구
|
|
20
|
-
- 고민: 브랜드명 자체를 crewx로 통일하는 것이 더 강력할 수 있음
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## 🎯 현재 상황
|
|
25
|
-
|
|
26
|
-
### 제품 구조 (계획)
|
|
27
|
-
```
|
|
28
|
-
crewx (메인 CLI)
|
|
29
|
-
├─ crewx query
|
|
30
|
-
├─ crewx execute
|
|
31
|
-
├─ crewx crew install
|
|
32
|
-
└─ ...
|
|
33
|
-
|
|
34
|
-
crewx (서브 - 즉시 실행)
|
|
35
|
-
└─ crewx @scope/crew "task"
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### 선점 완료
|
|
39
|
-
- ✅ NPM: `crewx@0.1.1` 배포 완료
|
|
40
|
-
- ✅ GitHub: github.com/sowonlabs/crewx
|
|
41
|
-
- ✅ 라이센스: UNLICENSED (독점)
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## 💡 제안: 브랜딩 3가지 옵션
|
|
46
|
-
|
|
47
|
-
### Option A: 완전 전환 (crewx → crewx)
|
|
48
|
-
|
|
49
|
-
**브랜드 구조**:
|
|
50
|
-
```
|
|
51
|
-
crewx (메인 플랫폼)
|
|
52
|
-
├─ crewx CLI
|
|
53
|
-
├─ crewx Registry
|
|
54
|
-
└─ crewx Cloud
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
**CLI 명령어**:
|
|
58
|
-
```bash
|
|
59
|
-
crewx query "@agent task"
|
|
60
|
-
crewx execute "@agent task"
|
|
61
|
-
crewx crew install @scope/name
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
**장점**:
|
|
65
|
-
- ✅ 짧고 강력함 (5자 vs 8자, -37% 타이핑)
|
|
66
|
-
- ✅ 현대적이고 기억하기 쉬움
|
|
67
|
-
- ✅ "X" = eXecute, eXtend, eXperience (다의적 해석 가능)
|
|
68
|
-
- ✅ npm/npx 레퍼런스 효과 극대화
|
|
69
|
-
- ✅ 브랜드 단순화 (하나의 이름)
|
|
70
|
-
|
|
71
|
-
**단점**:
|
|
72
|
-
- ❌ "code" 키워드 SEO 손실
|
|
73
|
-
- ❌ 개발자 타겟팅 덜 명확
|
|
74
|
-
- ❌ 리브랜딩 비용 (하지만 v0.1.0이라 최소)
|
|
75
|
-
|
|
76
|
-
**투자자 피치**:
|
|
77
|
-
> "crewx - The npm for AI agents. Execute, extend, and experience AI crews instantly."
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
### Option B: 듀얼 브랜딩
|
|
82
|
-
|
|
83
|
-
**브랜드 구조**:
|
|
84
|
-
```
|
|
85
|
-
CrewX (공식 브랜드명)
|
|
86
|
-
└─ powered by CrewX technology
|
|
87
|
-
|
|
88
|
-
또는
|
|
89
|
-
|
|
90
|
-
crewx (기술 플랫폼)
|
|
91
|
-
└─ crewx (소비자 브랜드)
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
**CLI 명령어**:
|
|
95
|
-
```bash
|
|
96
|
-
crewx query "@agent task" # 소비자용
|
|
97
|
-
crewx-cli (내부/엔터프라이즈용)
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
**장점**:
|
|
101
|
-
- ✅ 짧은 브랜드 + 설명적 기술명 모두 활용
|
|
102
|
-
- ✅ 다양한 타겟 세그먼트
|
|
103
|
-
- ✅ "code" 키워드 유지
|
|
104
|
-
|
|
105
|
-
**단점**:
|
|
106
|
-
- ❌ 혼란 가능성
|
|
107
|
-
- ❌ 마케팅 메시지 복잡
|
|
108
|
-
- ❌ 브랜드 인지도 분산
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
### Option C: 현상 유지 (crewx + crewx 서브)
|
|
113
|
-
|
|
114
|
-
**브랜드 구조**:
|
|
115
|
-
```
|
|
116
|
-
crewx (메인)
|
|
117
|
-
├─ crewx CLI
|
|
118
|
-
└─ crewx (instant execution only)
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
**CLI 명령어**:
|
|
122
|
-
```bash
|
|
123
|
-
crewx query "@agent task" # 로컬/프로젝트
|
|
124
|
-
crewx @scope/crew "task" # 즉시 실행
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
**장점**:
|
|
128
|
-
- ✅ 원래 계획대로
|
|
129
|
-
- ✅ npm/npx 구조 그대로 모방
|
|
130
|
-
- ✅ 각 도구의 역할 명확
|
|
131
|
-
|
|
132
|
-
**단점**:
|
|
133
|
-
- ❌ crewx가 길다 (하루 수십 번 타이핑)
|
|
134
|
-
- ❌ 두 브랜드 관리 필요
|
|
135
|
-
- ❌ 사용자가 어느 걸 써야 할지 혼란
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## 📊 경쟁사 비교
|
|
140
|
-
|
|
141
|
-
### 짧고 강력한 브랜드 (성공 사례)
|
|
142
|
-
| 브랜드 | 원래 의미 | 타이핑 | 성공도 |
|
|
143
|
-
|--------|-----------|--------|--------|
|
|
144
|
-
| **npm** | Node Package Manager | 3자 | ⭐⭐⭐⭐⭐ |
|
|
145
|
-
| **npx** | npm eXecute | 3자 | ⭐⭐⭐⭐⭐ |
|
|
146
|
-
| **yarn** | Yet Another Resource Negotiator | 4자 | ⭐⭐⭐⭐ |
|
|
147
|
-
| **pnpm** | Performant npm | 4자 | ⭐⭐⭐⭐ |
|
|
148
|
-
| **htmx** | HyperText Markup eXtension | 4자 | ⭐⭐⭐⭐ |
|
|
149
|
-
|
|
150
|
-
### 긴 설명적 브랜드
|
|
151
|
-
| 브랜드 | 타이핑 | 문제점 |
|
|
152
|
-
|--------|--------|--------|
|
|
153
|
-
| **kubernetes** | 10자 | k8s로 축약 필요 |
|
|
154
|
-
| **terraform** | 9자 | tf로 축약 |
|
|
155
|
-
| **crewx** | 8자 | ? |
|
|
156
|
-
|
|
157
|
-
**인사이트**: 개발자 도구는 짧을수록 좋다. 긴 브랜드는 결국 축약됨.
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
## 💰 비즈니스 영향 분석
|
|
162
|
-
|
|
163
|
-
### 타이핑 효율성 (개발자 경험)
|
|
164
|
-
```bash
|
|
165
|
-
# 하루 30회 사용 가정
|
|
166
|
-
crewx: 8자 × 30회 = 240자/일
|
|
167
|
-
crewx: 5자 × 30회 = 150자/일
|
|
168
|
-
|
|
169
|
-
절감: 90자/일 (37% 감소)
|
|
170
|
-
연간: 32,850자 절감
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
**개발자 만족도 예상 영향**: +15~20%
|
|
174
|
-
|
|
175
|
-
### 브랜드 인지도 (마케팅)
|
|
176
|
-
|
|
177
|
-
**crewx**:
|
|
178
|
-
- ✅ 기억하기 쉬움 (짧고 독특)
|
|
179
|
-
- ✅ 미디어 헤드라인 효과적 ("crewx raises $10M")
|
|
180
|
-
- ✅ 소셜 미디어 해시태그 (#crewx)
|
|
181
|
-
|
|
182
|
-
**crewx**:
|
|
183
|
-
- ⚠️ "crewx"와 혼동 가능
|
|
184
|
-
- ⚠️ 검색 시 "code" + "crew" 분리될 수 있음
|
|
185
|
-
|
|
186
|
-
### SEO 영향
|
|
187
|
-
|
|
188
|
-
**crewx**:
|
|
189
|
-
- ❌ "code" 키워드 손실
|
|
190
|
-
- ✅ "ai agents", "crew", "automation" 키워드로 보완
|
|
191
|
-
- ✅ 독특한 브랜드명 = 검색 독점
|
|
192
|
-
|
|
193
|
-
**crewx**:
|
|
194
|
-
- ✅ "code" 키워드 유지
|
|
195
|
-
- ❌ "code"는 너무 일반적
|
|
196
|
-
|
|
197
|
-
**예상 SEO 영향**: 중립 또는 약간 긍정적 (독특한 브랜드명 이점)
|
|
198
|
-
|
|
199
|
-
---
|
|
200
|
-
|
|
201
|
-
## 🎯 전략적 고려사항
|
|
202
|
-
|
|
203
|
-
### 1. 타겟 시장
|
|
204
|
-
|
|
205
|
-
**개발자 (Primary)**:
|
|
206
|
-
- 짧은 CLI 선호 (npm, git, vim 등)
|
|
207
|
-
- crewx 선호도: **높음** ⭐⭐⭐⭐⭐
|
|
208
|
-
|
|
209
|
-
**엔터프라이즈 (Secondary)**:
|
|
210
|
-
- 설명적 브랜드 선호 가능
|
|
211
|
-
- crewx 선호도: **중간** ⭐⭐⭐
|
|
212
|
-
|
|
213
|
-
**추천**: 개발자 우선 → **crewx**
|
|
214
|
-
|
|
215
|
-
### 2. 경쟁 차별화
|
|
216
|
-
|
|
217
|
-
**vs GitHub Copilot**:
|
|
218
|
-
- Copilot = 긴 브랜드 (7자)
|
|
219
|
-
- crewx = 짧고 강력 ✅
|
|
220
|
-
|
|
221
|
-
**vs OpenAI GPT Store**:
|
|
222
|
-
- GPT Store = 설명적
|
|
223
|
-
- crewx = 독특하고 기억하기 쉬움 ✅
|
|
224
|
-
|
|
225
|
-
**vs LangChain**:
|
|
226
|
-
- LangChain = 9자
|
|
227
|
-
- crewx = 압도적으로 짧음 ✅
|
|
228
|
-
|
|
229
|
-
### 3. 투자자 관점
|
|
230
|
-
|
|
231
|
-
**crewx 장점**:
|
|
232
|
-
- 짧고 기억하기 쉬움 = 프레젠테이션 효과적
|
|
233
|
-
- "X" = 미래지향적, 확장성 있는 이미지
|
|
234
|
-
- SpaceX, Model X, Twitter→X 레퍼런스
|
|
235
|
-
|
|
236
|
-
**crewx 장점**:
|
|
237
|
-
- "code" = 시장 명확
|
|
238
|
-
- 보수적 투자자에게 안정적
|
|
239
|
-
|
|
240
|
-
**추천**: **crewx** (현대적 VC 선호)
|
|
241
|
-
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
## ⏰ 타이밍 분석
|
|
245
|
-
|
|
246
|
-
### 지금 전환하기 좋은 이유
|
|
247
|
-
- ✅ **v0.1.0 단계** - 사용자 기반 최소
|
|
248
|
-
- ✅ **crewx npm 선점 완료** - 인프라 준비됨
|
|
249
|
-
- ✅ **공식 출시 전** - 리브랜딩 비용 최소
|
|
250
|
-
- ✅ **투자 유치 전** - 브랜드 혼란 없음
|
|
251
|
-
|
|
252
|
-
### 나중에 전환 시 리스크
|
|
253
|
-
- ❌ 사용자 베이스 증가 후 전환 = 혼란
|
|
254
|
-
- ❌ 문서/튜토리얼 모두 업데이트 필요
|
|
255
|
-
- ❌ 커뮤니티 반발 가능성
|
|
256
|
-
|
|
257
|
-
**결론**: **지금이 최적의 타이밍**
|
|
258
|
-
|
|
259
|
-
---
|
|
260
|
-
|
|
261
|
-
## 🚨 리스크 및 완화 전략
|
|
262
|
-
|
|
263
|
-
### Option A (완전 전환) 리스크
|
|
264
|
-
|
|
265
|
-
| 리스크 | 확률 | 영향 | 완화 전략 |
|
|
266
|
-
|--------|------|------|-----------|
|
|
267
|
-
| 기존 사용자 혼란 | 낮음 | 낮음 | v0.1.0 단계라 사용자 최소 |
|
|
268
|
-
| SEO 손실 | 중간 | 중간 | "AI agents" 키워드 강화 |
|
|
269
|
-
| 브랜드 의미 모호 | 중간 | 낮음 | "X = eXecute" 스토리텔링 |
|
|
270
|
-
| 리브랜딩 비용 | 낮음 | 낮음 | 아직 초기, 비용 최소 |
|
|
271
|
-
|
|
272
|
-
### Option C (현상 유지) 리스크
|
|
273
|
-
|
|
274
|
-
| 리스크 | 확률 | 영향 | 완화 전략 |
|
|
275
|
-
|--------|------|------|-----------|
|
|
276
|
-
| 사용자 혼란 (2개 CLI) | 높음 | 중간 | 명확한 문서화 |
|
|
277
|
-
| 타이핑 불편 | 높음 | 중간 | Alias 제공 |
|
|
278
|
-
| 브랜드 분산 | 중간 | 중간 | 통합 마케팅 |
|
|
279
|
-
|
|
280
|
-
---
|
|
281
|
-
|
|
282
|
-
## 💡 전략 책임자 의견 요청
|
|
283
|
-
|
|
284
|
-
다음 질문에 대한 의견을 부탁드립니다:
|
|
285
|
-
|
|
286
|
-
### 1. 브랜딩 방향
|
|
287
|
-
- [ ] **Option A**: crewx로 완전 전환 (메인 브랜드)
|
|
288
|
-
- [ ] **Option B**: 듀얼 브랜딩 (CrewX by CrewX)
|
|
289
|
-
- [ ] **Option C**: 현상 유지 (crewx + crewx 서브)
|
|
290
|
-
- [ ] **Option D**: 기타 (의견:_____________)
|
|
291
|
-
|
|
292
|
-
### 2. 주요 고려사항
|
|
293
|
-
**가장 중요하게 생각하는 요소는?** (우선순위 순서)
|
|
294
|
-
- [ ] 개발자 경험 (타이핑 효율)
|
|
295
|
-
- [ ] SEO 및 마케팅
|
|
296
|
-
- [ ] 투자자 관점
|
|
297
|
-
- [ ] 브랜드 단순성
|
|
298
|
-
- [ ] 기타:_____________
|
|
299
|
-
|
|
300
|
-
### 3. 타이밍
|
|
301
|
-
- [ ] 지금 바로 전환 (v0.1.x 단계)
|
|
302
|
-
- [ ] v0.2.0 출시 시 전환
|
|
303
|
-
- [ ] v1.0.0 출시 시 전환
|
|
304
|
-
- [ ] 전환하지 않음
|
|
305
|
-
|
|
306
|
-
### 4. 추가 분석 필요 사항
|
|
307
|
-
- [ ] 경쟁사 추가 분석
|
|
308
|
-
- [ ] 사용자 설문조사
|
|
309
|
-
- [ ] SEO 전문가 의견
|
|
310
|
-
- [ ] 법률 검토 (상표권)
|
|
311
|
-
- [ ] 기타:_____________
|
|
312
|
-
|
|
313
|
-
---
|
|
314
|
-
|
|
315
|
-
## 📝 Dev Lead 추천
|
|
316
|
-
|
|
317
|
-
**추천**: **Option A - crewx 완전 전환**
|
|
318
|
-
|
|
319
|
-
**이유**:
|
|
320
|
-
1. **개발자 경험 우선** - 하루 수십 번 타이핑, 짧을수록 좋음
|
|
321
|
-
2. **브랜드 단순화** - 하나의 강력한 브랜드
|
|
322
|
-
3. **최적의 타이밍** - v0.1.0 단계, 전환 비용 최소
|
|
323
|
-
4. **NPM 선점 완료** - 인프라 준비됨
|
|
324
|
-
5. **경쟁 우위** - Copilot(7자), LangChain(9자)보다 짧음
|
|
325
|
-
|
|
326
|
-
**실행 플랜** (승인 시):
|
|
327
|
-
```
|
|
328
|
-
Phase 1 (Week 1):
|
|
329
|
-
- crewx → crewx 리네임
|
|
330
|
-
- package.json, 문서 업데이트
|
|
331
|
-
|
|
332
|
-
Phase 2 (Week 2):
|
|
333
|
-
- crewx.dev 도메인 설정
|
|
334
|
-
- crewx.dev → crewx.dev 리다이렉트
|
|
335
|
-
|
|
336
|
-
Phase 3 (Week 3):
|
|
337
|
-
- 마케팅 자료 업데이트
|
|
338
|
-
- 공식 발표
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
---
|
|
342
|
-
|
|
343
|
-
## 🤔 의사결정 프레임워크
|
|
344
|
-
|
|
345
|
-
### Devil's Advocate Questions
|
|
346
|
-
|
|
347
|
-
1. **"X"가 모호하지 않은가?**
|
|
348
|
-
- 반박: npm, yarn도 원래 의미 무시되고 브랜드화됨
|
|
349
|
-
- "X"의 다의성 = 오히려 스토리텔링 자유도 ↑
|
|
350
|
-
|
|
351
|
-
2. **"code" 키워드를 포기해도 되는가?**
|
|
352
|
-
- 반박: "AI agents" 키워드로 충분히 대체
|
|
353
|
-
- 독특한 브랜드명 = 검색 독점 가능
|
|
354
|
-
|
|
355
|
-
3. **개발자들이 crewx를 어떻게 발음할까?**
|
|
356
|
-
- "crew-ex" 또는 "crews"
|
|
357
|
-
- 짧아서 발음도 쉬움
|
|
358
|
-
|
|
359
|
-
4. **나중에 후회하지 않을까?**
|
|
360
|
-
- 지금 전환 = 비용 최소
|
|
361
|
-
- 나중 전환 = 비용 10배
|
|
362
|
-
|
|
363
|
-
### Reverse Scenario (반대로 생각)
|
|
364
|
-
|
|
365
|
-
**만약 처음부터 crewx였다면?**
|
|
366
|
-
- crewx → crewx로 바꾸자고 제안했을까?
|
|
367
|
-
- 아마도 아님 (더 길고 복잡해짐)
|
|
368
|
-
|
|
369
|
-
**결론**: crewx가 더 자연스러움
|
|
370
|
-
|
|
371
|
-
---
|
|
372
|
-
|
|
373
|
-
## 📅 다음 단계
|
|
374
|
-
|
|
375
|
-
전략 책임자 검토 후:
|
|
376
|
-
|
|
377
|
-
1. **승인 시**:
|
|
378
|
-
- Dev Lead가 실행 플랜 착수
|
|
379
|
-
- 주간 진행 상황 보고
|
|
380
|
-
|
|
381
|
-
2. **보류 시**:
|
|
382
|
-
- 추가 분석 수행
|
|
383
|
-
- 다음 회의 일정 조율
|
|
384
|
-
|
|
385
|
-
3. **거부 시**:
|
|
386
|
-
- 현상 유지 (Option C)
|
|
387
|
-
- crewx = 서브 제품으로 개발 진행
|
|
388
|
-
|
|
389
|
-
---
|
|
390
|
-
|
|
391
|
-
**검토 요청**: 이 문서를 전략 책임자에게 전달하여 의견을 구합니다.
|
|
392
|
-
|
|
393
|
-
**긴급도**: 중간 (v0.2.0 출시 전 결정 필요)
|
|
394
|
-
|
|
395
|
-
**예상 소요 시간**: 의사결정 1일, 실행 2-3주
|
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
# Claude Code Docker 실행 가이드
|
|
2
|
-
|
|
3
|
-
## 개요
|
|
4
|
-
Claude Code를 Docker 컨테이너에서 실행하여 격리된 개발 환경을 구축하는 방법
|
|
5
|
-
|
|
6
|
-
## 커뮤니티 프로젝트
|
|
7
|
-
이미 여러 개발자들이 Docker 통합을 시도했습니다:
|
|
8
|
-
|
|
9
|
-
| 프로젝트 | 특징 | GitHub |
|
|
10
|
-
|---------|------|--------|
|
|
11
|
-
| claude-docker | 풀 권한 + Twilio 알림 | VishalJ99/claude-docker |
|
|
12
|
-
| claude-code-container | --dangerously-skip-permissions 모드 | tintinweb/claude-code-container |
|
|
13
|
-
| claude-code-sandbox | 안전한 로컬 실행 | textcortex/claude-code-sandbox |
|
|
14
|
-
| claudebox | macOS Keychain 통합 | koogle/claudebox |
|
|
15
|
-
| claude-container | 호스트 격리 + 영속 인증 | nezhar/claude-container |
|
|
16
|
-
| claude-code-yolo | 컨테이너 격리 권한 관리 | thevibeworks/claude-code-yolo |
|
|
17
|
-
|
|
18
|
-
## 인증 구조
|
|
19
|
-
|
|
20
|
-
### ⚠️ 중요: Claude 실행 방식별 차이
|
|
21
|
-
|
|
22
|
-
**VSCode Extension** (현재 사용 중):
|
|
23
|
-
- 경로: `~/.vscode/extensions/anthropic.claude-code-*/`
|
|
24
|
-
- 설정: `~/.claude.json` (계정 정보, MCP 서버 설정)
|
|
25
|
-
- 작업: `~/.claude/` (projects, todos, debug)
|
|
26
|
-
- 인증: VSCode 내부 관리 (토큰 파일 없음)
|
|
27
|
-
|
|
28
|
-
**Claude Desktop App**:
|
|
29
|
-
- 독립 GUI 애플리케이션
|
|
30
|
-
- 설정: `~/.claude.json`
|
|
31
|
-
- 인증: 앱 내부 관리
|
|
32
|
-
|
|
33
|
-
**Claude Code CLI** (커뮤니티 보고 기준):
|
|
34
|
-
- 인증: `~/.claude/.credentials.json` (OAuth 토큰)
|
|
35
|
-
- 구조:
|
|
36
|
-
```json
|
|
37
|
-
{
|
|
38
|
-
"accessToken": "sk-ant-oat01-...", // 단기 액세스 토큰
|
|
39
|
-
"refreshToken": "sk-ant-ort01-...", // 리프레시 토큰
|
|
40
|
-
"expiresAt": 1234567890, // 만료 시간
|
|
41
|
-
"scopes": ["user:inference", "user:profile"]
|
|
42
|
-
}
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### 실제 디렉토리 구조 (Claude Desktop)
|
|
46
|
-
```
|
|
47
|
-
~/
|
|
48
|
-
├── .claude.json # Claude Desktop 설정
|
|
49
|
-
└── .claude/
|
|
50
|
-
├── projects/ # 프로젝트 히스토리
|
|
51
|
-
├── todos/ # 작업 관리
|
|
52
|
-
├── shell-snapshots/ # 쉘 스냅샷
|
|
53
|
-
├── debug/ # 디버그 로그
|
|
54
|
-
├── ide/ # IDE 통합 설정
|
|
55
|
-
└── statsig/ # 분석 및 기능 플래그
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
**참고**: Claude Desktop은 `.credentials.json` 파일을 사용하지 않을 수 있음
|
|
59
|
-
|
|
60
|
-
## Docker 설정
|
|
61
|
-
|
|
62
|
-
### 1. Dockerfile
|
|
63
|
-
```dockerfile
|
|
64
|
-
FROM node:20-slim
|
|
65
|
-
|
|
66
|
-
# 시스템 패키지 설치
|
|
67
|
-
RUN apt-get update && apt-get install -y \
|
|
68
|
-
git \
|
|
69
|
-
curl \
|
|
70
|
-
&& rm -rf /var/lib/apt/lists/*
|
|
71
|
-
|
|
72
|
-
# Claude Code CLI 설치
|
|
73
|
-
RUN npm install -g @anthropic-ai/claude-code
|
|
74
|
-
|
|
75
|
-
# 비-root 사용자 생성
|
|
76
|
-
RUN useradd -m -s /bin/bash claude
|
|
77
|
-
USER claude
|
|
78
|
-
WORKDIR /home/claude
|
|
79
|
-
|
|
80
|
-
# 기본 명령
|
|
81
|
-
CMD ["claude"]
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### 2. Docker Compose
|
|
85
|
-
```yaml
|
|
86
|
-
version: '3.8'
|
|
87
|
-
|
|
88
|
-
services:
|
|
89
|
-
claude-code:
|
|
90
|
-
build: .
|
|
91
|
-
image: claude-code:latest
|
|
92
|
-
container_name: claude-code-dev
|
|
93
|
-
|
|
94
|
-
volumes:
|
|
95
|
-
# 인증 디렉토리 (필수)
|
|
96
|
-
- ~/.claude:/home/claude/.claude
|
|
97
|
-
|
|
98
|
-
# 프로젝트 디렉토리
|
|
99
|
-
- ./:/workspace
|
|
100
|
-
|
|
101
|
-
# Git 설정 (읽기 전용)
|
|
102
|
-
- ~/.gitconfig:/home/claude/.gitconfig:ro
|
|
103
|
-
- ~/.ssh:/home/claude/.ssh:ro
|
|
104
|
-
|
|
105
|
-
# MCP 서버 설정 (있는 경우)
|
|
106
|
-
- ~/.config/claude-desktop:/home/claude/.config/claude-desktop:ro
|
|
107
|
-
|
|
108
|
-
environment:
|
|
109
|
-
# 추가 환경 변수 (선택)
|
|
110
|
-
- CLAUDE_CODE_OAUTH_TOKEN=${CLAUDE_CODE_OAUTH_TOKEN}
|
|
111
|
-
- NODE_ENV=development
|
|
112
|
-
|
|
113
|
-
working_dir: /workspace
|
|
114
|
-
stdin_open: true
|
|
115
|
-
tty: true
|
|
116
|
-
|
|
117
|
-
# 네트워크 설정 (MCP 서버 연결용)
|
|
118
|
-
network_mode: host
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
## 실행 방법
|
|
122
|
-
|
|
123
|
-
### 사전 준비
|
|
124
|
-
```bash
|
|
125
|
-
# 1. Claude CLI 설치 확인
|
|
126
|
-
which claude
|
|
127
|
-
claude --version
|
|
128
|
-
|
|
129
|
-
# 2. 호스트에서 먼저 인증
|
|
130
|
-
claude login
|
|
131
|
-
# 브라우저가 열리고 로그인 완료 후 인증 저장
|
|
132
|
-
|
|
133
|
-
# 3. 인증 파일 위치 확인 (CLI 버전에 따라 다를 수 있음)
|
|
134
|
-
# 가능한 위치들:
|
|
135
|
-
# - ~/.claude/.credentials.json
|
|
136
|
-
# - ~/.config/claude-code/credentials.json
|
|
137
|
-
# - 환경변수 CLAUDE_CODE_OAUTH_TOKEN
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### Docker 실행
|
|
141
|
-
```bash
|
|
142
|
-
# 이미지 빌드
|
|
143
|
-
docker build -t claude-code .
|
|
144
|
-
|
|
145
|
-
# 단독 실행
|
|
146
|
-
docker run -it \
|
|
147
|
-
-v ~/.claude:/home/claude/.claude \
|
|
148
|
-
-v $(pwd):/workspace \
|
|
149
|
-
--name claude-code \
|
|
150
|
-
claude-code
|
|
151
|
-
|
|
152
|
-
# Docker Compose 사용
|
|
153
|
-
docker-compose up -d
|
|
154
|
-
docker-compose exec claude-code claude
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### 백그라운드 실행
|
|
158
|
-
```bash
|
|
159
|
-
# 데몬 모드 시작
|
|
160
|
-
docker-compose up -d
|
|
161
|
-
|
|
162
|
-
# 접속
|
|
163
|
-
docker exec -it claude-code-dev claude
|
|
164
|
-
|
|
165
|
-
# 종료
|
|
166
|
-
docker-compose down
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
## 보안 고려사항
|
|
170
|
-
|
|
171
|
-
### DO ✅
|
|
172
|
-
- 호스트에서 인증 후 볼륨 마운트
|
|
173
|
-
- 민감한 파일은 읽기 전용(`:ro`) 마운트
|
|
174
|
-
- 비-root 사용자(claude)로 실행
|
|
175
|
-
- `.aiexclude` 파일로 민감한 파일 보호
|
|
176
|
-
- 신뢰할 수 있는 프로젝트에서만 사용
|
|
177
|
-
|
|
178
|
-
### DON'T ❌
|
|
179
|
-
- 도커 이미지에 credentials 포함
|
|
180
|
-
- root 권한으로 실행
|
|
181
|
-
- `--dangerously-skip-permissions` 무분별 사용
|
|
182
|
-
- 공개 레지스트리에 인증 정보 포함된 이미지 푸시
|
|
183
|
-
|
|
184
|
-
## 문제 해결
|
|
185
|
-
|
|
186
|
-
### 인증 유지 문제
|
|
187
|
-
컨테이너 재시작 시 인증이 유지되지 않는 경우:
|
|
188
|
-
```bash
|
|
189
|
-
# 볼륨 마운트 확인
|
|
190
|
-
docker inspect claude-code-dev | grep Mounts -A 20
|
|
191
|
-
|
|
192
|
-
# 권한 확인
|
|
193
|
-
docker exec claude-code-dev ls -la /home/claude/.claude/
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
### 토큰 만료
|
|
197
|
-
```bash
|
|
198
|
-
# 호스트에서 재인증
|
|
199
|
-
claude logout
|
|
200
|
-
claude login
|
|
201
|
-
|
|
202
|
-
# 컨테이너 재시작
|
|
203
|
-
docker-compose restart
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
### MCP 서버 연결
|
|
207
|
-
MCP 서버(crewx 등) 연결이 필요한 경우:
|
|
208
|
-
```yaml
|
|
209
|
-
# docker-compose.yml에 추가
|
|
210
|
-
network_mode: host # 또는 bridge with port mapping
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
## 활용 사례
|
|
214
|
-
|
|
215
|
-
### 1. 프로젝트별 격리
|
|
216
|
-
```bash
|
|
217
|
-
# 프로젝트 A
|
|
218
|
-
cd ~/projects/project-a
|
|
219
|
-
docker-compose up -d
|
|
220
|
-
|
|
221
|
-
# 프로젝트 B (다른 터미널)
|
|
222
|
-
cd ~/projects/project-b
|
|
223
|
-
docker-compose up -d
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
### 2. CI/CD 통합
|
|
227
|
-
```yaml
|
|
228
|
-
# .gitlab-ci.yml 예시
|
|
229
|
-
claude-review:
|
|
230
|
-
image: claude-code:latest
|
|
231
|
-
script:
|
|
232
|
-
- claude review --project /workspace
|
|
233
|
-
volumes:
|
|
234
|
-
- ~/.claude:/home/claude/.claude:ro
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
### 3. 팀 환경 공유
|
|
238
|
-
```bash
|
|
239
|
-
# 팀 공통 이미지
|
|
240
|
-
docker build -t company/claude-code:v1 .
|
|
241
|
-
docker push company/claude-code:v1
|
|
242
|
-
|
|
243
|
-
# 팀원 사용
|
|
244
|
-
docker pull company/claude-code:v1
|
|
245
|
-
docker run -it -v ~/.claude:/home/claude/.claude company/claude-code:v1
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
## 장점
|
|
249
|
-
- **환경 격리**: 프로젝트별 독립된 환경
|
|
250
|
-
- **버전 관리**: 특정 Claude Code 버전 고정
|
|
251
|
-
- **팀 협업**: 동일한 개발 환경 공유
|
|
252
|
-
- **자동화**: CI/CD 파이프라인 통합
|
|
253
|
-
- **보안**: 호스트 시스템 보호
|
|
254
|
-
|
|
255
|
-
## 한계
|
|
256
|
-
- 토큰 만료 시 재인증 필요
|
|
257
|
-
- GUI 애플리케이션 실행 제한
|
|
258
|
-
- 일부 네이티브 기능 제한 가능
|
|
259
|
-
- 컨테이너 오버헤드
|
|
260
|
-
|
|
261
|
-
## 참고 자료
|
|
262
|
-
- [Anthropic Claude Code 공식 문서](https://docs.claude.com/en/docs/claude-code)
|
|
263
|
-
- [Docker MCP 통합 가이드](https://www.docker.com/blog/the-model-context-protocol)
|
|
264
|
-
- [Claude Code GitHub Issues](https://github.com/anthropics/claude-code/issues)
|