mimi-seed 0.4.2 → 0.5.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 CHANGED
@@ -17,8 +17,9 @@ npx mimi-seed init
17
17
  | 명령어 | 설명 |
18
18
  |--------|------|
19
19
  | `mimi-seed init` | 프로젝트를 Mimi Seed에 연결 (PAT 발급 + 앱 자동 등록 + `.claude/mimi-seed.md` / `AGENTS.md` 주입) |
20
+ | `mimi-seed setup` | **가진 계정을 한 번에 연결** (안내형 마법사) — 뭐가 빠졌는지 보여주고, 각 토큰을 어디서 발급받는지 알려줌 |
20
21
  | `mimi-seed status` | 연결 상태 + 등록 앱 목록 |
21
- | `mimi-seed auth` | Google OAuth 인증 (Firebase / AdMob / Play). `login` / `status` / `refresh` / `logout` 서브명령 |
22
+ | `mimi-seed auth` | 자격증명 개별 인증 `login` / `appstore` / `playstore` / `bigquery` / `jenkins` / `ci` / `googleads` / `facebook` / `instagram` |
22
23
  | `mimi-seed doctor` | 환경 진단 (토큰·Git·앱·CI 한 번에 체크) |
23
24
  | `mimi-seed check` | 출시 전 Readiness 점검 (점수 + 블로커) |
24
25
  | `mimi-seed notes` | AI 릴리즈 노트 생성 (git log → 3 톤 → 다국어 → 적용) |
@@ -151,15 +152,43 @@ mimi-seed review --text "버그 있어요" --rating 2 \
151
152
 
152
153
  ---
153
154
 
155
+ ## mimi-seed setup
156
+
157
+ 가진 계정을 **한 번에** 연결하는 안내형 마법사입니다. 연결 상태를 먼저 보여주고, 아직 안 된 것만 순서대로
158
+ 물어봅니다. 각 항목에서 `?` 를 누르면 그 토큰을 **어디서 어떻게 발급받는지** 알려줍니다.
159
+
160
+ ```bash
161
+ mimi-seed setup # 안내를 따라가며 연결
162
+ mimi-seed setup --only jenkins # 특정 항목만
163
+ mimi-seed setup --reconnect appstore # 이미 연결된 것도 다시 설정
164
+ mimi-seed setup --fail-on-missing # 필수 자격증명 없으면 exit 1 (CI 게이트)
165
+ ```
166
+
167
+ 이미 연결된 항목은 건너뛰므로 중간에 그만두고 나중에 다시 실행해도 됩니다.
168
+ 비TTY / CI 환경에서는 아무것도 묻지 않고 상태표만 출력합니다.
169
+ 전체 레퍼런스: [`docs/credentials.md`](../../docs/credentials.md)
170
+
171
+ ---
172
+
154
173
  ## mimi-seed auth
155
174
 
156
- Firebase · AdMob · Play Store 도구에 필요한 Google OAuth 인증을 처리합니다. 내부적으로 `@yoonion/mimi-seed-mcp`의 `mimi-seed-auth` CLI 호출합니다.
175
+ 자격증명을 **개별로** 인증합니다. 실제 로직은 `@yoonion/mimi-seed-mcp` `mimi-seed-*-auth` CLI 에 있고,
176
+ 이 명령은 그걸 호출하는 통합 front door 입니다.
157
177
 
158
178
  ```bash
159
- mimi-seed auth login # 브라우저로 로그인 (이미 있으면 자동 refresh 시도)
160
- mimi-seed auth status # 현재 토큰 상태
179
+ mimi-seed auth login # Google OAuth 브라우저 로그인 (Firebase/AdMob/Play/Ads/GSC/GA4/IAM/BigQuery)
180
+ mimi-seed auth status # 현재 토큰 상태 (--all: 모든 자격증명 보유 여부)
161
181
  mimi-seed auth refresh # refresh_token으로 갱신만 시도 (브라우저 X)
162
182
  mimi-seed auth logout # 토큰 삭제
183
+
184
+ mimi-seed auth appstore # App Store Connect API 키
185
+ mimi-seed auth playstore # Play 서비스 계정 (선택 — OAuth로도 대부분 동작)
186
+ mimi-seed auth bigquery # BigQuery 서비스 계정 (선택)
187
+ mimi-seed auth jenkins # Jenkins (저장 전 서버 프로브)
188
+ mimi-seed auth ci # GitHub Actions / GitLab CI
189
+ mimi-seed auth googleads # Google Ads
190
+ mimi-seed auth facebook # Facebook 페이지
191
+ mimi-seed auth instagram # Instagram
163
192
  ```
164
193
 
165
194
  ### login 옵션
@@ -16,6 +16,16 @@ async function mcpCall(endpoint, token, name, args) {
16
16
  params: { name, arguments: args }
17
17
  })
18
18
  });
19
+ if (!res.ok) {
20
+ const raw = await res.text();
21
+ let msg = raw;
22
+ try {
23
+ const parsed = JSON.parse(raw);
24
+ if (typeof parsed.error === "string") msg = parsed.error;
25
+ } catch {
26
+ }
27
+ return { text: `HTTP ${res.status}: ${msg}`, isError: true };
28
+ }
19
29
  const contentType = res.headers.get("content-type") ?? "";
20
30
  let payload;
21
31
  if (contentType.includes("text/event-stream")) {