careermate 0.1.0 → 0.1.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.
Files changed (134) hide show
  1. package/README.md +22 -17
  2. package/THIRD_PARTY_NOTICES.md +15 -0
  3. package/apps/mcp/src/index.ts +4 -3
  4. package/apps/web/DESIGN_GUIDE.md +2 -2
  5. package/apps/web/demo/demo-shim.js +536 -0
  6. package/apps/web/demo/demo.css +75 -0
  7. package/apps/web/demo/seed.js +269 -0
  8. package/apps/web/public/app.js +34 -2
  9. package/apps/web/public/icon-180.png +0 -0
  10. package/apps/web/public/index.html +14 -3
  11. package/apps/web/public/lib.js +135 -23
  12. package/apps/web/public/pages/applications.js +18 -9
  13. package/apps/web/public/pages/documents.js +66 -50
  14. package/apps/web/public/pages/home.js +12 -11
  15. package/apps/web/public/pages/interview.js +9 -12
  16. package/apps/web/public/pages/jobs.js +39 -36
  17. package/apps/web/public/pages/profile.js +66 -86
  18. package/apps/web/public/pages/settings.js +21 -14
  19. package/apps/web/public/styles.css +105 -38
  20. package/apps/web/src/http.ts +31 -4
  21. package/apps/web/src/info.ts +9 -22
  22. package/apps/web/src/routes.ts +19 -14
  23. package/apps/web/src/server.ts +34 -29
  24. package/apps/web/src/settings.ts +35 -17
  25. package/bin/careermate.mjs +8 -5
  26. package/dist/doctor.mjs +78908 -0
  27. package/dist/install-page/.omc/state/agent-replay-55a58c0d-bb6e-43ea-8a05-4b6c93b80b34.jsonl +12 -0
  28. package/dist/install-page/.omc/state/idle-notif-cooldown.json +3 -0
  29. package/dist/install-page/.omc/state/sessions/55a58c0d-bb6e-43ea-8a05-4b6c93b80b34/mission-state.json +147 -0
  30. package/dist/install-page/.omc/state/sessions/55a58c0d-bb6e-43ea-8a05-4b6c93b80b34/pre-tool-advisory-throttle.json +22 -0
  31. package/dist/install-page/.omc/state/sessions/55a58c0d-bb6e-43ea-8a05-4b6c93b80b34/subagent-tracking-state.json +44 -0
  32. package/dist/install-page/favicon.svg +1 -0
  33. package/dist/install-page/icon-180.png +0 -0
  34. package/dist/install-page/icon-512.png +0 -0
  35. package/dist/install-page/index.html +328 -225
  36. package/dist/install-page/landing.js +54 -0
  37. package/dist/install-page/llms-install.txt +202 -0
  38. package/dist/install-page/og.png +0 -0
  39. package/dist/install-page/shots/applications-dark.png +0 -0
  40. package/dist/install-page/shots/applications-light.png +0 -0
  41. package/dist/install-page/shots/documents-dark.png +0 -0
  42. package/dist/install-page/shots/documents-light.png +0 -0
  43. package/dist/install-page/shots/home-dark.png +0 -0
  44. package/dist/install-page/shots/home-light.png +0 -0
  45. package/dist/install-page/shots/interview-dark.png +0 -0
  46. package/dist/install-page/shots/interview-light.png +0 -0
  47. package/dist/install-page/shots/jobs-dark.png +0 -0
  48. package/dist/install-page/shots/jobs-light.png +0 -0
  49. package/dist/install-page/shots/settings-dark.png +0 -0
  50. package/dist/install-page/shots/settings-light.png +0 -0
  51. package/dist/install-page/start.html +323 -0
  52. package/dist/install-page/style.css +128 -4
  53. package/dist/mcp.mjs +74225 -2007
  54. package/dist/{mcpb-stage/dist/web.mjs → migrate.mjs} +142 -2660
  55. package/dist/pdf.worker.min.mjs +28 -0
  56. package/dist/public/app.js +34 -2
  57. package/dist/public/icon-180.png +0 -0
  58. package/dist/public/index.html +14 -3
  59. package/dist/public/lib.js +135 -23
  60. package/dist/public/pages/applications.js +18 -9
  61. package/dist/public/pages/documents.js +66 -50
  62. package/dist/public/pages/home.js +12 -11
  63. package/dist/public/pages/interview.js +9 -12
  64. package/dist/public/pages/jobs.js +39 -36
  65. package/dist/public/pages/profile.js +66 -86
  66. package/dist/public/pages/settings.js +21 -14
  67. package/dist/public/styles.css +105 -38
  68. package/dist/web.mjs +39950 -369
  69. package/docs/ARCHITECTURE.md +5 -5
  70. package/docs/DECISIONS.md +1 -1
  71. package/docs/DEMO.md +6 -6
  72. package/docs/MCP_TOOLS.md +68 -9
  73. package/docs/ROADMAP.md +11 -10
  74. package/docs/RUNTIME_DISTRIBUTION_RESEARCH.md +135 -0
  75. package/docs/START_WORKFLOW.md +19 -7
  76. package/docs/SUPPORTED_AI_APPS.md +85 -33
  77. package/docs/TODO.md +1 -1
  78. package/docs/WORKFLOWS.md +8 -6
  79. package/docs/superpowers/specs/2026-06-16-demo-dashboard-deploy-design.md +64 -0
  80. package/package.json +8 -3
  81. package/packages/core/src/services.ts +42 -1
  82. package/packages/db/src/connection.ts +30 -0
  83. package/packages/db/src/index.ts +1 -0
  84. package/packages/db/src/paths.ts +11 -0
  85. package/packages/db/src/repositories.ts +109 -63
  86. package/packages/db/src/schema.ts +118 -0
  87. package/packages/exporters/src/html.ts +9 -12
  88. package/packages/mcp-tools/src/bridge.ts +55 -32
  89. package/packages/mcp-tools/src/index.ts +9 -0
  90. package/packages/mcp-tools/src/tools.ts +269 -65
  91. package/packages/mcp-tools/src/update.ts +330 -0
  92. package/packages/parsers/src/documents.ts +521 -0
  93. package/packages/parsers/src/index.ts +8 -5
  94. package/packages/prompts/src/onboarding.ts +2 -2
  95. package/packages/shared/src/build-info.ts +22 -0
  96. package/packages/shared/src/enums.ts +39 -0
  97. package/packages/shared/src/index.ts +1 -0
  98. package/packages/shared/src/schemas.ts +24 -3
  99. package/packages/workflows/src/definitions.ts +4 -2
  100. package/scripts/build-demo.mjs +130 -0
  101. package/scripts/build-dist.mjs +46 -8
  102. package/scripts/build-mcpb.mjs +60 -4
  103. package/scripts/doctor.ts +16 -3
  104. package/scripts/gen-og.mjs +86 -0
  105. package/scripts/init.ts +32 -3
  106. package/scripts/seed.ts +5 -5
  107. package/scripts/shots-seed.ts +192 -0
  108. package/scripts/shots.ts +89 -0
  109. package/tsconfig.json +3 -1
  110. package/dist/careermate.mcpb +0 -0
  111. package/dist/mcp-smoke.err +0 -3
  112. package/dist/mcpb-stage/README.md +0 -219
  113. package/dist/mcpb-stage/dist/install-page/index.html +0 -434
  114. package/dist/mcpb-stage/dist/install-page/style.css +0 -407
  115. package/dist/mcpb-stage/dist/install-page/vercel.json +0 -20
  116. package/dist/mcpb-stage/dist/mcp.mjs +0 -23704
  117. package/dist/mcpb-stage/dist/public/app.js +0 -118
  118. package/dist/mcpb-stage/dist/public/index.html +0 -41
  119. package/dist/mcpb-stage/dist/public/lib.js +0 -282
  120. package/dist/mcpb-stage/dist/public/pages/applications.js +0 -98
  121. package/dist/mcpb-stage/dist/public/pages/documents.js +0 -446
  122. package/dist/mcpb-stage/dist/public/pages/home.js +0 -263
  123. package/dist/mcpb-stage/dist/public/pages/interview.js +0 -230
  124. package/dist/mcpb-stage/dist/public/pages/jobs.js +0 -494
  125. package/dist/mcpb-stage/dist/public/pages/profile.js +0 -576
  126. package/dist/mcpb-stage/dist/public/pages/settings.js +0 -233
  127. package/dist/mcpb-stage/dist/public/styles.css +0 -420
  128. package/dist/mcpb-stage/manifest.json +0 -40
  129. package/docs/INSTALL.md +0 -148
  130. package/docs/INSTALL_AND_USAGE.md +0 -99
  131. package/install-page/index.html +0 -474
  132. package/install-page/style.css +0 -391
  133. package/install-page/vercel.json +0 -20
  134. /package/dist/{mcpb-stage/dist/public → install-page}/fonts/PretendardVariable.woff2 +0 -0
@@ -1,40 +0,0 @@
1
- {
2
- "manifest_version": "0.3",
3
- "name": "careermate",
4
- "display_name": "CareerMate",
5
- "version": "0.1.0",
6
- "description": "내 AI를 커리어 비서로 — 이력서·자기소개서·지원 현황을 이 컴퓨터에만 저장하고 MCP로 연결하는 로컬 커리어 관리 도구.",
7
- "long_description": "CareerMate는 LLM을 포함하지 않습니다. 사용자의 Claude가 MCP 도구로 로컬 커리어 데이터(프로필·이력서·자기소개서·공고·지원 현황)를 읽고 씁니다. 모든 데이터는 ~/.careermate 에만 저장되며 외부로 전송되지 않습니다. 자기소개서 작성 시에는 'AI 티 안 나는 글쓰기' 규칙을 함께 적용합니다.",
8
- "author": {
9
- "name": "CareerMate"
10
- },
11
- "homepage": "https://github.com/osntak/CareerFlow",
12
- "documentation": "https://github.com/osntak/CareerFlow/blob/main/docs/MCP_TOOLS.md",
13
- "repository": {
14
- "type": "git",
15
- "url": "https://github.com/osntak/CareerFlow"
16
- },
17
- "license": "MIT",
18
- "keywords": ["career", "resume", "cover-letter", "korean", "mcp", "local-first"],
19
- "server": {
20
- "type": "node",
21
- "entry_point": "dist/mcp.mjs",
22
- "mcp_config": {
23
- "command": "node",
24
- "args": ["${__dirname}/dist/mcp.mjs"]
25
- }
26
- },
27
- "tools": [
28
- { "name": "get_application_context", "description": "공고 분석·자소서 작성 전 사용자 맥락을 한 번에 가져오기" },
29
- { "name": "save_fit_analysis", "description": "공고-사용자 적합도 분석 결과 저장" },
30
- { "name": "save_cover_letter_version", "description": "자기소개서 버전 저장" },
31
- { "name": "get_writing_style_guide", "description": "AI 티 안 나는 글쓰기 규칙" },
32
- { "name": "open_dashboard", "description": "로컬 대시보드 열기" }
33
- ],
34
- "compatibility": {
35
- "platforms": ["win32", "darwin", "linux"],
36
- "runtimes": {
37
- "node": ">=22.5.0"
38
- }
39
- }
40
- }
package/docs/INSTALL.md DELETED
@@ -1,148 +0,0 @@
1
- # CareerMate 설치 — 수동 MCP 설정 레퍼런스
2
-
3
- > **단계별 설치 런북은 이 문서가 아니라 저장소 루트의 [`../INSTALL.md`](../INSTALL.md) 에 있습니다.**
4
- > AI 어시스턴트가 사용자의 컴퓨터에 CareerMate를 설치·연결할 때는 루트 `INSTALL.md` 를 순서대로 따르세요. 동의 절차, Node 버전 확인, 설치, 검증까지의 전체 흐름이 거기에 정리되어 있습니다.
5
- >
6
- > 이 문서는 **클라이언트별 MCP 설정 스니펫만** 모은 레퍼런스입니다. 사람이 직접 손으로 설정을 붙여넣거나, AI가 특정 클라이언트의 정확한 설정 형식을 확인할 때 참고하세요.
7
-
8
- ## 먼저: 자동 등록이 더 쉽습니다
9
-
10
- 대부분의 경우 수동 설정은 필요 없습니다. CareerMate 폴더에서 한 줄이면 됩니다.
11
-
12
- ```bash
13
- npm install
14
- npm run init
15
- ```
16
-
17
- `npm run init` 은 ~/.careermate 폴더를 만들고, **감지된 클라이언트**(설정 파일/폴더가 있는 클라이언트)에 CareerMate를 자동 등록하며, Claude Code 프로젝트용 `.mcp.json` 은 항상 CareerMate 폴더에 기록합니다. 기존 설정은 타임스탬프 백업 후 변경하고, 사용자의 다른 설정·env 는 보존합니다.
18
-
19
- - 특정 클라이언트만: `npm run init -- --client claude|claude-code|codex|cursor`
20
- - 감지 여부와 무관하게 전부: `npm run init -- --all-clients`
21
- - 쓰지 않고 설정만 출력(붙여넣기용): `npm run init -- --print`
22
-
23
- 설정 후에는 **AI 클라이언트를 완전히 종료했다가 다시 실행**해야 적용됩니다. Claude Code 는 첫 실행 시 1회 승인 프롬프트가 뜹니다.
24
-
25
- > **npx로도 가능:** `careermate`는 npm에 게시되어 있어 클론 없이 `npx -y careermate init`으로도 등록할 수 있습니다(가장 간단). 위 소스 기반(`npm install` → `npm run init`, 동등하게 `node bin/careermate.mjs init`)은 개발이나 `.mcpb` 빌드 시 사용하세요.
26
-
27
- ---
28
-
29
- ## 경로에 대하여
30
-
31
- 아래 모든 스니펫에서 `C:\path\to\careermate` 를 **실제 CareerMate 폴더의 절대 경로**로 바꾸세요. 실행 대상 파일은 `apps/mcp/src/index.ts` 입니다.
32
-
33
- - **Windows**: JSON 안에서 역슬래시는 `\\` 로 두 번 씁니다 (예: `C:\\path\\to\\careermate\\apps\\mcp\\src\\index.ts`). TOML 에서는 작은따옴표 리터럴 문자열을 쓰면 역슬래시를 한 번만 써도 됩니다.
34
- - **macOS / Linux**: 슬래시 `/` 를 그대로 사용합니다.
35
-
36
- ---
37
-
38
- ## Claude Desktop
39
-
40
- 설정 파일 위치:
41
- - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
42
- - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
43
-
44
- (Claude Desktop → Settings → Developer → Edit Config 로도 같은 파일을 열 수 있습니다.)
45
-
46
- ```json
47
- {
48
- "mcpServers": {
49
- "careermate": {
50
- "command": "node",
51
- "args": ["--no-warnings", "--experimental-sqlite", "--import", "tsx", "C:\\path\\to\\careermate\\apps\\mcp\\src\\index.ts"]
52
- }
53
- }
54
- }
55
- ```
56
-
57
- 수정 후 Claude Desktop을 **완전히 종료했다가 다시 실행**해야 적용됩니다.
58
-
59
- > 비개발자용 원클릭 설치(`.mcpb`)는 별도 경로입니다. 자세한 내용은 [INSTALL_AND_USAGE.md](./INSTALL_AND_USAGE.md) 와 [SUPPORTED_AI_APPS.md](./SUPPORTED_AI_APPS.md) 를 참고하세요.
60
-
61
- ---
62
-
63
- ## Claude Code
64
-
65
- Claude Code 는 CareerMate 폴더의 **프로젝트 스코프 `.mcp.json`** 으로 MCP를 등록합니다. 파일은 CareerMate 폴더 최상단에 두며, 최상위 키는 `mcpServers` 입니다.
66
-
67
- ```json
68
- {
69
- "mcpServers": {
70
- "careermate": {
71
- "type": "stdio",
72
- "command": "node",
73
- "args": ["--no-warnings", "--experimental-sqlite", "--import", "tsx", "C:\\path\\to\\careermate\\apps\\mcp\\src\\index.ts"]
74
- }
75
- }
76
- }
77
- ```
78
-
79
- CLI 로 추가하려면 (CareerMate 폴더에서 실행):
80
-
81
- ```bash
82
- claude mcp add --scope project --transport stdio careermate -- node --no-warnings --experimental-sqlite --import tsx C:\path\to\careermate\apps\mcp\src\index.ts
83
- ```
84
-
85
- > Claude Code 는 프로젝트 서버를 처음 실행할 때 **1회 승인 프롬프트**를 띄웁니다. 승인해야 CareerMate 도구를 쓸 수 있습니다.
86
-
87
- ---
88
-
89
- ## Codex (OpenAI Codex CLI)
90
-
91
- Codex 는 `~/.codex/config.toml` 의 `[mcp_servers.careermate]` 테이블로 등록합니다.
92
-
93
- ```toml
94
- [mcp_servers.careermate]
95
- command = "node"
96
- args = ["--no-warnings", "--experimental-sqlite", "--import", "tsx", 'C:\path\to\careermate\apps\mcp\src\index.ts']
97
- ```
98
-
99
- > **Windows 경로:** TOML 에서 위처럼 큰따옴표 안에 백슬래시를 쓰면 이스케이프 문제가 생길 수 있으니, 작은따옴표 리터럴 문자열을 권장합니다: `'C:\path\to\careermate\apps\mcp\src\index.ts'`. macOS/Linux 는 슬래시 경로를 그대로 큰따옴표에 넣으면 됩니다.
100
-
101
- CLI 로 추가하려면:
102
-
103
- ```bash
104
- codex mcp add careermate -- node --no-warnings --experimental-sqlite --import tsx C:\path\to\careermate\apps\mcp\src\index.ts
105
- ```
106
-
107
- 추가 후 Codex 안에서 `/mcp` 명령으로 careermate 가 연결되었는지 확인하세요.
108
-
109
- ---
110
-
111
- ## Cursor / 기타 stdio MCP 클라이언트
112
-
113
- 설정 파일 위치:
114
- - 프로젝트별: `.cursor/mcp.json`
115
- - 전역: `~/.cursor/mcp.json`
116
-
117
- Cline, Windsurf 등 대부분의 로컬 stdio MCP 클라이언트가 동일한 형식을 사용합니다.
118
-
119
- ```json
120
- {
121
- "mcpServers": {
122
- "careermate": {
123
- "command": "node",
124
- "args": ["--no-warnings", "--experimental-sqlite", "--import", "tsx", "C:\\path\\to\\careermate\\apps\\mcp\\src\\index.ts"]
125
- }
126
- }
127
- }
128
- ```
129
-
130
- 추가 후 클라이언트를 다시 시작하세요.
131
-
132
- > **ChatGPT / Gemini 웹은 연결 불가:** CareerMate 는 이 컴퓨터에서 도는 **로컬 stdio MCP 서버**입니다. ChatGPT·Gemini 웹/모바일 앱은 클라우드에서 실행되어 **원격 URL 기반 MCP만** 쓸 수 있으므로 로컬 stdio 서버에 직접 연결할 수 없습니다. 로컬에서 실행되는 Claude Desktop·Claude Code·Codex 는 연결 가능합니다.
133
-
134
- ---
135
-
136
- ## 문제 해결
137
-
138
- 연결이 안 되거나 검증이 필요하면:
139
-
140
- - 검증: MCP 도구 `get_onboarding_status` 를 호출해 결과가 돌아오면 연결 성공입니다.
141
- - 자세한 진단·점검 절차는 루트 [`../INSTALL.md`](../INSTALL.md) 의 문제 해결 절과 [START_WORKFLOW.md](./START_WORKFLOW.md) 의 사용 런북을 따르세요.
142
- - 빠른 점검: CareerMate 폴더에서 `npm run doctor` (Node 버전·데이터 폴더·DB 상태 점검).
143
-
144
- 자주 막히는 지점:
145
- 1. 설정의 경로가 `apps/mcp/src/index.ts` 까지 정확한지, Windows JSON 이라면 역슬래시를 `\\` 로 썼는지 확인.
146
- 2. `node --version` 이 22.5.0 이상인지 확인.
147
- 3. CareerMate 폴더에서 `npm install` 이 완료되었는지 확인.
148
- 4. 설정 변경 후 AI 클라이언트를 **완전히 종료 후 재시작** (Claude Code 는 1회 승인 프롬프트 처리).
@@ -1,99 +0,0 @@
1
- # 설치 & 사용법 — 두 가지 방식
2
-
3
- CareerMate는 LLM을 포함하지 않습니다. 사용자의 AI(Claude)가 MCP 도구로 로컬 데이터를 읽고 씁니다.
4
- 배포 방식은 두 갈래이고, **코어(DB + 도구 24개)는 동일**합니다.
5
-
6
- | | 대상 | 설치 난이도 | Node 필요 |
7
- | --- | --- | --- | --- |
8
- | **A. `.mcpb` 번들** | 비개발자 + Claude Desktop | 더블클릭 1번 | ❌ (Claude Desktop 내장) |
9
- | **B. npm / 터미널** | 개발자 + 다른 MCP 클라이언트 | 클론 후 npm | ✅ |
10
-
11
- ---
12
-
13
- ## A. `.mcpb` — 비개발자용 (Claude Desktop 원클릭)
14
-
15
- ### 만드는 쪽 (배포자)
16
- ```bash
17
- node scripts/build-mcpb.mjs # → dist/careermate.mcpb 생성
18
- ```
19
- `manifest.json` + 서버 코드 + 런타임 의존성을 하나의 번들로 묶습니다. 이 파일을 GitHub Releases 등에 올립니다.
20
-
21
- ### 쓰는 쪽 (유저) — 터미널 0, Node 설치 0
22
- 1. `careermate.mcpb` 파일 다운로드
23
- 2. **더블클릭** (또는 Claude Desktop → Settings → Extensions 로 끌어다 놓기)
24
- 3. "설치" 클릭 → Claude Desktop 재시작
25
- 4. 끝. 이제 Claude에게 말로 시키면 됩니다.
26
-
27
- > Claude Desktop이 Node를 내장 제공하므로 유저는 아무것도 미리 깔 필요가 없습니다.
28
- > ⚠️ 단, 내장 Node가 22.5 미만이면 `node:sqlite`가 안 되므로 manifest의 `compatibility.runtimes.node`로 막아둡니다.
29
-
30
- ---
31
-
32
- ## B. npm / 터미널 — 개발자 · 다른 MCP 클라이언트
33
-
34
- Cursor · Cline · Windsurf · Claude Code 등 로컬 stdio MCP를 지원하는 클라이언트에서 동작합니다.
35
- **준비물은 Node.js 22.5 이상** 하나뿐입니다(내장 SQLite 사용, 네이티브 빌드 없음).
36
-
37
- ### 소스에서 설치 (현재 권장)
38
- ```bash
39
- git clone https://github.com/osntak/CareerMate.git # 비공개 저장소 — 접근 권한 필요(없으면 npx 방식 사용)
40
- cd CareerMate
41
- npm install
42
- npm run init # 감지된 클라이언트(Claude Desktop·Codex·Cursor) 자동 등록 + Claude Code .mcp.json 항상 작성 → 재시작
43
- ```
44
-
45
- 자동 등록 대상은 감지된 클라이언트(Claude Desktop·Codex·Cursor)이고, Claude Code 프로젝트 `.mcp.json`은 항상 작성됩니다. 그 외 클라이언트(Cline·Windsurf 등)는 설정만 출력해 직접 붙여넣으세요:
46
- ```bash
47
- npm run init -- --print
48
- ```
49
- > ⚠️ 등록된 설정에는 이 폴더의 절대 경로가 박힙니다. 폴더를 옮기거나 이름을 바꾸면 `npm run init`을 다시 실행하세요.
50
-
51
- ### 기타 명령
52
- ```bash
53
- npm start # 로컬 대시보드 (http://127.0.0.1:4319)
54
- npm run doctor # 설치/환경 점검
55
- ```
56
-
57
- ### npx — 클론 불필요 (게시 완료)
58
- `careermate`가 npm에 게시되어 클론 없이 한 줄로 끝납니다.
59
- ```bash
60
- npx -y careermate init # 자동 등록
61
- npx -y careermate init --print # 설정만 출력
62
- ```
63
- 이때 `mcpServers` 항목은 다음 형태로 등록됩니다.
64
- ```json
65
- {
66
- "mcpServers": {
67
- "careermate": {
68
- "command": "npx",
69
- "args": ["-y", "careermate", "mcp"]
70
- }
71
- }
72
- }
73
- ```
74
-
75
- ---
76
-
77
- ## 실제 사용법 (설치 후 — A·B 공통)
78
-
79
- 설치가 끝나면 평소처럼 AI에게 한국어로 말하면 됩니다. AI가 알아서 MCP 도구를 호출합니다.
80
-
81
- **1) 온보딩**
82
- > 🧑 "내 이력서 정리해서 등록해줘" (+이력서 파일 업로드)
83
- > 🤖 `get_onboarding_status` → `save_profile` → `add_resume` → "프로필과 이력서를 저장했어요. 대시보드에서 확인하실래요?"
84
-
85
- **2) 공고 분석**
86
- > 🧑 "이 공고 나랑 잘 맞아? [공고 붙여넣기]"
87
- > 🤖 `get_application_context` → `save_job_posting` → `save_fit_analysis` → "적합도 78점이에요. 강점은 …, 보완할 점은 …. 이 공고에 맞춘 자소서를 써드릴까요?"
88
-
89
- **3) 자기소개서 작성 (AI 티 제거 적용)**
90
- > 🧑 "응, 써줘"
91
- > 🤖 `get_application_context` → `get_writing_style_guide` → (번역투·클리셰·기계적 병렬 제거하며 작성) → `save_cover_letter_version` → "초안을 저장했어요. 파일로 받으실래요?"
92
- > 🧑 "PDF로 줘"
93
- > 🤖 `export_cover_letter` → "exports 폴더에 저장했어요."
94
-
95
- **4) 지원 관리 / 면접 준비**
96
- > 🧑 "이 회사 서류 합격했어"
97
- > 🤖 `update_application_status` → "축하해요! 면접 준비를 도와드릴까요?" → `save_interview_prep`
98
-
99
- 모든 데이터는 `~/.careermate` 에만 저장되고 외부로 나가지 않습니다.