@actnova/setup 0.1.0 → 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.
package/dist/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { execFileSync } from "node:child_process";
3
- import { readFileSync, writeFileSync, appendFileSync, existsSync, mkdirSync } from "node:fs";
3
+ import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync, } from "node:fs";
4
+ import { createServer } from "node:http";
4
5
  import { homedir } from "node:os";
5
- import { join, dirname } from "node:path";
6
+ import { dirname, join } from "node:path";
7
+ const AUTH_PROXY_URL = "https://context.actnova.io";
6
8
  const NPMRC = join(homedir(), ".npmrc");
7
9
  function log(msg) {
8
10
  console.log(`\n ✓ ${msg}`);
@@ -16,21 +18,113 @@ function err(msg) {
16
18
  /** 커맨드 실행 후 stdout 반환 (실패 시 null) */
17
19
  function run(cmd, args) {
18
20
  try {
19
- return execFileSync(cmd, args, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] }).trim();
21
+ return execFileSync(cmd, args, {
22
+ encoding: "utf-8",
23
+ stdio: ["pipe", "pipe", "pipe"],
24
+ }).trim();
20
25
  }
21
26
  catch {
22
27
  return null;
23
28
  }
24
29
  }
30
+ /** gh CLI 자동 설치 (brew → brew 없으면 brew 먼저 설치) */
31
+ function installGh() {
32
+ if (process.platform !== "darwin") {
33
+ err("gh CLI 자동 설치는 macOS만 지원합니다.\n" +
34
+ " 다른 OS: https://cli.github.com 에서 직접 설치 후 다시 실행하세요.");
35
+ process.exit(1);
36
+ }
37
+ // brew 확인
38
+ if (!run("brew", ["--version"])) {
39
+ warn("Homebrew가 설치되어 있지 않습니다. Homebrew부터 설치합니다...");
40
+ console.log(" (시간이 좀 걸릴 수 있습니다)\n");
41
+ try {
42
+ execFileSync("/bin/bash", [
43
+ "-c",
44
+ "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)",
45
+ ], { stdio: "inherit" });
46
+ }
47
+ catch {
48
+ err("Homebrew 설치에 실패했습니다. https://brew.sh 에서 직접 설치 후 다시 실행하세요.");
49
+ process.exit(1);
50
+ }
51
+ // Apple Silicon에서 brew가 /opt/homebrew에 설치됨 — PATH에 추가
52
+ const brewPath = "/opt/homebrew/bin";
53
+ if (existsSync(brewPath) && !process.env.PATH?.includes(brewPath)) {
54
+ process.env.PATH = `${brewPath}:${process.env.PATH}`;
55
+ }
56
+ if (!run("brew", ["--version"])) {
57
+ err("Homebrew 설치 후에도 brew를 찾을 수 없습니다. 터미널을 재시작 후 다시 실행하세요.");
58
+ process.exit(1);
59
+ }
60
+ log("Homebrew 설치 완료");
61
+ }
62
+ // gh 설치
63
+ console.log(" gh CLI를 설치합니다...");
64
+ try {
65
+ execFileSync("brew", ["install", "gh"], { stdio: "inherit" });
66
+ }
67
+ catch {
68
+ err("gh CLI 설치에 실패했습니다.");
69
+ process.exit(1);
70
+ }
71
+ if (!run("gh", ["--version"])) {
72
+ err("gh 설치 후에도 gh를 찾을 수 없습니다.");
73
+ process.exit(1);
74
+ }
75
+ log("gh CLI 설치 완료");
76
+ }
77
+ /** gh auth token에 read:packages 스코프가 있는지 확인, 없으면 refresh */
78
+ function ensureReadPackagesScope() {
79
+ const statusOutput = run("gh", ["auth", "status"]);
80
+ if (!statusOutput)
81
+ return;
82
+ // gh auth status 출력에서 scopes 확인
83
+ // 예: "Token scopes: gist, read:org, repo, workflow"
84
+ if (!statusOutput.includes("read:packages")) {
85
+ warn("GitHub 토큰에 read:packages 권한이 없습니다. 추가합니다...");
86
+ try {
87
+ execFileSync("gh", ["auth", "refresh", "-s", "read:packages"], {
88
+ stdio: "inherit",
89
+ });
90
+ log("read:packages 스코프 추가 완료");
91
+ }
92
+ catch {
93
+ err("스코프 추가에 실패했습니다. 수동으로 실행하세요: gh auth refresh -s read:packages");
94
+ process.exit(1);
95
+ }
96
+ }
97
+ }
98
+ /** .npmrc에서 기존 actnova 항목 제거 후 새 토큰으로 추가 */
99
+ function writeNpmrc(token) {
100
+ let content = existsSync(NPMRC) ? readFileSync(NPMRC, "utf-8") : "";
101
+ // 기존 actnova 관련 줄 제거: 코멘트 마커 또는 @actnova-inc:registry 패턴
102
+ const lines = content.split("\n");
103
+ const filtered = lines.filter((l) => !l.includes("# @actnova-inc/context") &&
104
+ !l.match(/^@actnova-inc:registry=/));
105
+ content = filtered
106
+ .join("\n")
107
+ .replace(/\n{3,}/g, "\n\n")
108
+ .replace(/\n+$/, "\n");
109
+ // 새 항목 추가
110
+ const sep = content.length === 0 ? "" : content.endsWith("\n") ? "\n" : "\n\n";
111
+ content += `${sep}//npm.pkg.github.com/:_authToken=${token} # @actnova-inc/context\n@actnova-inc:registry=https://npm.pkg.github.com # @actnova-inc/context\n`;
112
+ writeFileSync(NPMRC, content);
113
+ log(".npmrc에 @actnova-inc 레지스트리 + 토큰 설정 완료");
114
+ }
25
115
  function reset() {
26
116
  console.log("\n🧹 Actnova Context 설정 초기화\n");
27
117
  // 1. ~/.npmrc에서 @actnova-inc/context 관련 줄 제거
28
118
  console.log("1. ~/.npmrc 정리");
29
119
  if (existsSync(NPMRC)) {
30
120
  const lines = readFileSync(NPMRC, "utf-8").split("\n");
31
- const filtered = lines.filter((l) => !l.includes("# @actnova-inc/context"));
121
+ const filtered = lines.filter((l) => !l.includes("# @actnova-inc/context") &&
122
+ !l.match(/^@actnova-inc:registry=/));
32
123
  if (filtered.length < lines.length) {
33
- const result = filtered.join("\n").replace(/\n{3,}/g, "\n\n").replace(/\n+$/, "\n");
124
+ const result = filtered
125
+ .join("\n")
126
+ .replace(/\n{3,}/g, "\n\n")
127
+ .replace(/\n+$/, "\n");
34
128
  writeFileSync(NPMRC, result);
35
129
  log("@actnova-inc/context 관련 항목 제거 완료");
36
130
  }
@@ -49,7 +143,7 @@ function reset() {
49
143
  const existing = JSON.parse(readFileSync(cursorMcpPath, "utf-8"));
50
144
  if (existing.mcpServers?.["actnova-context"]) {
51
145
  delete existing.mcpServers["actnova-context"];
52
- writeFileSync(cursorMcpPath, JSON.stringify(existing, null, 2) + "\n");
146
+ writeFileSync(cursorMcpPath, `${JSON.stringify(existing, null, 2)}\n`);
53
147
  log("Cursor MCP에서 actnova-context 제거 완료");
54
148
  }
55
149
  else {
@@ -57,7 +151,7 @@ function reset() {
57
151
  }
58
152
  }
59
153
  catch {
60
- warn("Cursor mcp.json 파싱 실패. 수동으로 확인하세요: " + cursorMcpPath);
154
+ warn(`Cursor mcp.json 파싱 실패. 수동으로 확인하세요: ${cursorMcpPath}`);
61
155
  }
62
156
  }
63
157
  else {
@@ -65,18 +159,96 @@ function reset() {
65
159
  }
66
160
  console.log("\n✅ 초기화 완료. 다시 설정하려면 npx @actnova/setup 을 실행하세요.\n");
67
161
  }
162
+ async function setupSlack() {
163
+ // 이미 토큰이 있는지 확인
164
+ if (process.env.SLACK_USER_TOKEN) {
165
+ log("Slack 이미 연동됨 (SLACK_USER_TOKEN 감지)");
166
+ return;
167
+ }
168
+ // 셸 프로파일에 이미 설정되어 있는지 확인
169
+ const shellProfile = getShellProfile();
170
+ if (shellProfile && existsSync(shellProfile)) {
171
+ const content = readFileSync(shellProfile, "utf-8");
172
+ if (content.includes("SLACK_USER_TOKEN")) {
173
+ log(`Slack 이미 연동됨 (${shellProfile}에서 감지)`);
174
+ return;
175
+ }
176
+ }
177
+ console.log(" Slack 앱 승인이 필요합니다. 브라우저가 열립니다...");
178
+ const token = await waitForSlackToken();
179
+ if (!token) {
180
+ warn("Slack 연동을 건너뜁니다. 나중에 다시 실행할 수 있습니다.");
181
+ return;
182
+ }
183
+ // 셸 프로파일에 토큰 저장
184
+ if (shellProfile) {
185
+ const content = existsSync(shellProfile)
186
+ ? readFileSync(shellProfile, "utf-8")
187
+ : "";
188
+ const sep = content.length === 0 ? "" : content.endsWith("\n") ? "\n" : "\n\n";
189
+ appendFileSync(shellProfile, `${sep}export SLACK_USER_TOKEN="${token}" # actnova-context\n`);
190
+ log(`Slack 토큰을 ${shellProfile}에 저장 완료`);
191
+ log(`새 터미널에서 적용됩니다. 또는 source ${shellProfile} 실행`);
192
+ }
193
+ }
194
+ function getShellProfile() {
195
+ const shell = process.env.SHELL || "";
196
+ if (shell.includes("zsh"))
197
+ return join(homedir(), ".zshrc");
198
+ if (shell.includes("bash"))
199
+ return join(homedir(), ".bashrc");
200
+ return null;
201
+ }
202
+ async function waitForSlackToken() {
203
+ return new Promise((resolve) => {
204
+ const server = createServer((req, res) => {
205
+ const url = new URL(req.url || "", `http://localhost`);
206
+ const token = url.searchParams.get("token");
207
+ if (token) {
208
+ res.writeHead(200, { "Content-Type": "text/html; charset=utf-8" });
209
+ res.end("<html><body><h2>✅ Slack 연동 완료! 이 창을 닫아도 됩니다.</h2></body></html>");
210
+ server.close();
211
+ resolve(token);
212
+ }
213
+ else {
214
+ res.writeHead(400);
215
+ res.end("Missing token");
216
+ }
217
+ });
218
+ server.listen(0, () => {
219
+ const port = server.address().port;
220
+ const authUrl = `${AUTH_PROXY_URL}/auth?port=${port}`;
221
+ // 브라우저 열기
222
+ const openCmd = process.platform === "darwin"
223
+ ? "open"
224
+ : process.platform === "win32"
225
+ ? "start"
226
+ : "xdg-open";
227
+ try {
228
+ execFileSync(openCmd, [authUrl], { stdio: "ignore" });
229
+ }
230
+ catch {
231
+ console.log(` 브라우저가 열리지 않으면 직접 방문하세요: ${authUrl}`);
232
+ }
233
+ // 60초 타임아웃
234
+ setTimeout(() => {
235
+ server.close();
236
+ resolve(null);
237
+ }, 60_000);
238
+ });
239
+ });
240
+ }
68
241
  async function main() {
69
242
  if (process.argv.includes("--reset")) {
70
243
  reset();
71
244
  return;
72
245
  }
73
246
  console.log("\n🔧 Actnova Context 환경 셋업\n");
74
- // 1. gh CLI 확인
247
+ // 1. gh CLI 확인 + 설치
75
248
  console.log("1. GitHub CLI 확인");
76
- const ghVersion = run("gh", ["--version"]);
77
- if (!ghVersion) {
78
- err("gh CLI가 설치되어 있지 않습니다. https://cli.github.com 에서 설치하세요.");
79
- process.exit(1);
249
+ if (!run("gh", ["--version"])) {
250
+ warn("gh CLI가 설치되어 있지 않습니다. 자동 설치를 시작합니다...");
251
+ installGh();
80
252
  }
81
253
  // gh 로그인 확인
82
254
  const ghStatus = run("gh", ["auth", "status"]);
@@ -91,33 +263,30 @@ async function main() {
91
263
  }
92
264
  }
93
265
  run("gh", ["auth", "setup-git"]);
266
+ // read:packages 스코프 확인
267
+ ensureReadPackagesScope();
94
268
  log("GitHub CLI 인증 확인 완료");
95
- // 2. .npmrc 설정
269
+ // 2. .npmrc 설정 (제거 → 추가 패턴)
96
270
  console.log("\n2. npm 레지스트리 설정");
97
- const npmrcContent = existsSync(NPMRC) ? readFileSync(NPMRC, "utf-8") : "";
98
- if (npmrcContent.includes("# @actnova-inc/context")) {
99
- log(".npmrc에 @actnova-inc 레지스트리 이미 설정됨");
100
- }
101
- else {
102
- const token = run("gh", ["auth", "token"]);
103
- if (!token) {
104
- err("GitHub 토큰을 가져올 수 없습니다.");
105
- process.exit(1);
106
- }
107
- const existing = existsSync(NPMRC) ? readFileSync(NPMRC, "utf-8") : "";
108
- const sep = existing.length === 0 ? "" : existing.endsWith("\n\n") ? "" : existing.endsWith("\n") ? "\n" : "\n\n";
109
- const npmrcEntry = `${sep}//npm.pkg.github.com/:_authToken=${token} # @actnova-inc/context\n@actnova-inc:registry=https://npm.pkg.github.com # @actnova-inc/context\n`;
110
- appendFileSync(NPMRC, npmrcEntry);
111
- log(".npmrc에 @actnova-inc 레지스트리 + 토큰 추가");
271
+ const token = run("gh", ["auth", "token"]);
272
+ if (!token) {
273
+ err("GitHub 토큰을 가져올 없습니다.");
274
+ process.exit(1);
112
275
  }
276
+ writeNpmrc(token);
113
277
  // 3. 검증
114
- console.log("\n3. 검증");
278
+ console.log("\n3. 패키지 접근 검증");
115
279
  const verifyResult = run("npm", ["view", "@actnova-inc/context", "version"]);
116
280
  if (verifyResult) {
117
281
  log(`@actnova-inc/context 접근 확인 (v${verifyResult})`);
118
282
  }
119
283
  else {
120
- warn("@actnova-inc/context에 접근할 수 없습니다. 패키지가 아직 publish되지 않았을 수 있습니다.");
284
+ err("@actnova-inc/context에 접근할 수 없습니다.\n" +
285
+ " 가능한 원인:\n" +
286
+ " - GitHub 토큰에 read:packages 권한이 없음 → gh auth refresh -s read:packages\n" +
287
+ " - actnova-inc org 멤버가 아님\n" +
288
+ " - 패키지가 아직 publish되지 않음");
289
+ process.exit(1);
121
290
  }
122
291
  // 4. Cursor MCP 설정
123
292
  console.log("\n4. Cursor MCP 설정");
@@ -137,20 +306,23 @@ async function main() {
137
306
  }
138
307
  else {
139
308
  existing.mcpServers = { ...(existing.mcpServers ?? {}), ...mcpEntry };
140
- writeFileSync(cursorMcpPath, JSON.stringify(existing, null, 2) + "\n");
309
+ writeFileSync(cursorMcpPath, `${JSON.stringify(existing, null, 2)}\n`);
141
310
  log("Cursor MCP에 actnova-context 추가 완료");
142
311
  }
143
312
  }
144
313
  catch {
145
- warn("Cursor mcp.json 파싱 실패. 수동으로 설정하세요: " + cursorMcpPath);
314
+ warn(`Cursor mcp.json 파싱 실패. 수동으로 설정하세요: ${cursorMcpPath}`);
146
315
  }
147
316
  }
148
317
  else {
149
318
  mkdirSync(dirname(cursorMcpPath), { recursive: true });
150
- writeFileSync(cursorMcpPath, JSON.stringify({ mcpServers: mcpEntry }, null, 2) + "\n");
319
+ writeFileSync(cursorMcpPath, `${JSON.stringify({ mcpServers: mcpEntry }, null, 2)}\n`);
151
320
  log("Cursor MCP 설정 파일 생성 완료");
152
321
  }
153
- // 5. 다음 단계 안내
322
+ // 5. Slack 연동
323
+ console.log("\n5. Slack 연동");
324
+ await setupSlack();
325
+ // 6. 다음 단계 안내
154
326
  console.log(`
155
327
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
156
328
  ✅ 환경 셋업 완료!
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACN,cAAc,EACd,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,cAAc,GAAG,4BAA4B,CAAC;AAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAExC,SAAS,GAAG,CAAC,GAAW;IACvB,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,IAAI,CAAC,GAAW;IACxB,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,GAAG,CAAC,GAAW;IACvB,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,qCAAqC;AACrC,SAAS,GAAG,CAAC,GAAW,EAAE,IAAc;IACvC,IAAI,CAAC;QACJ,OAAO,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE;YAC9B,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAC/B,CAAC,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,gDAAgD;AAChD,SAAS,SAAS;IACjB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACnC,GAAG,CACF,+BAA+B;YAC9B,sDAAsD,CACvD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,UAAU;IACV,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,IAAI,CAAC;YACJ,YAAY,CACX,WAAW,EACX;gBACC,IAAI;gBACJ,kFAAkF;aAClF,EACD,EAAE,KAAK,EAAE,SAAS,EAAE,CACpB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACR,GAAG,CACF,2DAA2D,CAC3D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QAED,sDAAsD;QACtD,MAAM,QAAQ,GAAG,mBAAmB,CAAC;QACrC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YACjC,GAAG,CACF,uDAAuD,CACvD,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACvB,CAAC;IAED,QAAQ;IACR,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,IAAI,CAAC;QACJ,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACR,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,GAAG,CAAC,cAAc,CAAC,CAAC;AACrB,CAAC;AAED,4DAA4D;AAC5D,SAAS,uBAAuB;IAC/B,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,YAAY;QAAE,OAAO;IAE1B,gCAAgC;IAChC,oDAAoD;IACpD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,6CAA6C,CAAC,CAAC;QACpD,IAAI,CAAC;YACJ,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE;gBAC9D,KAAK,EAAE,SAAS;aAChB,CAAC,CAAC;YACH,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACR,GAAG,CACF,8DAA8D,CAC9D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;AACF,CAAC;AAED,4CAA4C;AAC5C,SAAS,UAAU,CAAC,KAAa;IAChC,IAAI,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpE,yDAAyD;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACrC,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CACpC,CAAC;IACF,OAAO,GAAG,QAAQ;SAChB,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAExB,UAAU;IACV,MAAM,GAAG,GACR,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACpE,OAAO,IAAI,GAAG,GAAG,oCAAoC,KAAK,oGAAoG,CAAC;IAE/J,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9B,GAAG,CAAC,uCAAuC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,KAAK;IACb,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAE7C,6CAA6C;IAC7C,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACrC,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CACpC,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,QAAQ;iBACrB,IAAI,CAAC,IAAI,CAAC;iBACV,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;iBAC1B,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7B,GAAG,CAAC,kCAAkC,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACP,GAAG,CAAC,gCAAgC,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;SAAM,CAAC;QACP,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACzB,CAAC;IAED,6CAA6C;IAC7C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;YAClE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC9C,OAAO,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBAC9C,aAAa,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvE,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACP,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAC3C,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,CAAC,sCAAsC,aAAa,EAAE,CAAC,CAAC;QAC7D,CAAC;IACF,CAAC;SAAM,CAAC;QACP,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,GAAG,CACV,oDAAoD,CACpD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU;IACxB,gBAAgB;IAChB,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAClC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAC1C,OAAO;IACR,CAAC;IAED,yBAAyB;IACzB,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,IAAI,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,iBAAiB,YAAY,QAAQ,CAAC,CAAC;YAC3C,OAAO;QACR,CAAC;IACF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAExC,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAC5C,OAAO;IACR,CAAC;IAED,gBAAgB;IAChB,IAAI,YAAY,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC;YACvC,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC;YACrC,CAAC,CAAC,EAAE,CAAC;QACN,MAAM,GAAG,GACR,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACpE,cAAc,CACb,YAAY,EACZ,GAAG,GAAG,4BAA4B,KAAK,uBAAuB,CAC9D,CAAC;QACF,GAAG,CAAC,aAAa,YAAY,SAAS,CAAC,CAAC;QACxC,GAAG,CAAC,4BAA4B,YAAY,KAAK,CAAC,CAAC;IACpD,CAAC;AACF,CAAC;AAED,SAAS,eAAe;IACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5D,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC;AACb,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAE5C,IAAI,KAAK,EAAE,CAAC;gBACX,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC;gBACnE,GAAG,CAAC,GAAG,CACN,iEAAiE,CACjE,CAAC;gBACF,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACP,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC1B,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE;YACrB,MAAM,IAAI,GAAI,MAAM,CAAC,OAAO,EAAuB,CAAC,IAAI,CAAC;YACzD,MAAM,OAAO,GAAG,GAAG,cAAc,cAAc,IAAI,EAAE,CAAC;YAEtD,UAAU;YACV,MAAM,OAAO,GACZ,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBAC5B,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;oBAC7B,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,UAAU,CAAC;YAChB,IAAI,CAAC;gBACJ,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;YACrD,CAAC;YAED,WAAW;YACX,UAAU,CAAC,GAAG,EAAE;gBACf,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,EAAE,MAAM,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,IAAI;IAClB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,KAAK,EAAE,CAAC;QACR,OAAO;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAE5C,oBAAoB;IACpB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAC9C,SAAS,EAAE,CAAC;IACb,CAAC;IAED,YAAY;IACZ,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAC7C,IAAI,CAAC;YACJ,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACR,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;IACD,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAEjC,uBAAuB;IACvB,uBAAuB,EAAE,CAAC;IAE1B,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAE3B,4BAA4B;IAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,UAAU,CAAC,KAAK,CAAC,CAAC;IAElB,QAAQ;IACR,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,sBAAsB,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7E,IAAI,YAAY,EAAE,CAAC;QAClB,GAAG,CAAC,gCAAgC,YAAY,GAAG,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACP,GAAG,CACF,qCAAqC;YACpC,aAAa;YACb,0EAA0E;YAC1E,8BAA8B;YAC9B,0BAA0B,CAC3B,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,mBAAmB;IACnB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAG;QAChB,iBAAiB,EAAE;YAClB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,SAAS,CAAC;SAC/D;KACD,CAAC;IAEF,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;YAClE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC9C,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACP,QAAQ,CAAC,UAAU,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC;gBACtE,aAAa,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvE,GAAG,CAAC,mCAAmC,CAAC,CAAC;YAC1C,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,CAAC,sCAAsC,aAAa,EAAE,CAAC,CAAC;QAC7D,CAAC;IACF,CAAC;SAAM,CAAC;QACP,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,aAAa,CACZ,aAAa,EACb,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CACxD,CAAC;QACF,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC/B,CAAC;IAED,cAAc;IACd,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,MAAM,UAAU,EAAE,CAAC;IAEnB,cAAc;IACd,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;CAgBZ,CAAC,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IAClB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,32 +1,32 @@
1
1
  {
2
- "name": "@actnova/setup",
3
- "version": "0.1.0",
4
- "description": "Actnova Context 환경 셋업 CLI",
5
- "repository": {
6
- "type": "git",
7
- "url": "https://github.com/actnova-inc/actnova-context.git"
8
- },
9
- "type": "module",
10
- "bin": {
11
- "actnova-setup": "dist/index.js"
12
- },
13
- "scripts": {
14
- "build": "tsc",
15
- "dev": "tsc --watch"
16
- },
17
- "files": [
18
- "dist"
19
- ],
20
- "license": "UNLICENSED",
21
- "publishConfig": {
22
- "access": "public",
23
- "registry": "https://registry.npmjs.org"
24
- },
25
- "engines": {
26
- "node": ">=20"
27
- },
28
- "devDependencies": {
29
- "@types/node": "^22.0.0",
30
- "typescript": "^5.7.0"
31
- }
2
+ "name": "@actnova/setup",
3
+ "version": "0.3.0",
4
+ "description": "Actnova Context 환경 셋업 CLI",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/actnova-inc/actnova-context.git"
8
+ },
9
+ "type": "module",
10
+ "bin": {
11
+ "actnova-setup": "dist/index.js"
12
+ },
13
+ "scripts": {
14
+ "build": "tsc",
15
+ "dev": "tsc --watch"
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "license": "UNLICENSED",
21
+ "publishConfig": {
22
+ "access": "public",
23
+ "registry": "https://registry.npmjs.org"
24
+ },
25
+ "engines": {
26
+ "node": ">=20"
27
+ },
28
+ "devDependencies": {
29
+ "@types/node": "^22.0.0",
30
+ "typescript": "^5.7.0"
31
+ }
32
32
  }