careermate 0.0.1
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/AGENTS.md +33 -0
- package/INSTALL.md +230 -0
- package/LICENSE +21 -0
- package/README.md +532 -0
- package/THIRD_PARTY_NOTICES.md +57 -0
- package/bin/careermate.mjs +77 -0
- package/dist/career-os/README.md +78 -0
- package/dist/career-os/eop/cover-letter.md +46 -0
- package/dist/career-os/eop/fit-analysis.md +48 -0
- package/dist/career-os/eop/interview-prep.md +39 -0
- package/dist/career-os/eop/job-analysis.md +42 -0
- package/dist/career-os/eop/profile-extraction.md +37 -0
- package/dist/career-os/knowledge/ats.md +131 -0
- package/dist/career-os/knowledge/company-research.md +137 -0
- package/dist/career-os/knowledge/cover-letter.md +135 -0
- package/dist/career-os/knowledge/fit-matching.md +121 -0
- package/dist/career-os/knowledge/human-writing.md +118 -0
- package/dist/career-os/knowledge/interview-behavioral.md +132 -0
- package/dist/career-os/knowledge/interview-technical.md +126 -0
- package/dist/career-os/knowledge/linkedin-profile.md +152 -0
- package/dist/career-os/knowledge/networking-referrals.md +166 -0
- package/dist/career-os/knowledge/offer-evaluation-decision.md +121 -0
- package/dist/career-os/knowledge/onboarding-first-90-days.md +126 -0
- package/dist/career-os/knowledge/portfolio.md +121 -0
- package/dist/career-os/knowledge/recruiter-screen.md +105 -0
- package/dist/career-os/knowledge/rejection-triage-iteration.md +115 -0
- package/dist/career-os/knowledge/resume.md +123 -0
- package/dist/career-os/knowledge/salary-negotiation.md +123 -0
- package/dist/career-os/knowledge/verifiers/ats-compat.md +64 -0
- package/dist/career-os/knowledge/verifiers/consistency.md +61 -0
- package/dist/career-os/knowledge/verifiers/human-voice.md +82 -0
- package/dist/career-os/knowledge/verifiers/recency-staleness.md +72 -0
- package/dist/career-os/knowledge/verifiers/responsiveness-on-target.md +82 -0
- package/dist/career-os/knowledge/verifiers/truthfulness.md +67 -0
- package/dist/doctor.mjs +79094 -0
- package/dist/mcp.mjs +96108 -0
- package/dist/migrate.mjs +4735 -0
- package/dist/pdf.worker.min.mjs +28 -0
- package/dist/public/app.js +150 -0
- package/dist/public/fonts/PretendardVariable.woff2 +0 -0
- package/dist/public/icon-180.png +0 -0
- package/dist/public/index.html +52 -0
- package/dist/public/lib.js +394 -0
- package/dist/public/pages/applications.js +107 -0
- package/dist/public/pages/documents.js +467 -0
- package/dist/public/pages/home.js +261 -0
- package/dist/public/pages/interview.js +227 -0
- package/dist/public/pages/jobs.js +493 -0
- package/dist/public/pages/profile.js +556 -0
- package/dist/public/pages/settings.js +240 -0
- package/dist/public/styles.css +498 -0
- package/dist/site/analytics.js +97 -0
- package/dist/site/favicon.svg +1 -0
- package/dist/site/fonts/PretendardVariable.woff2 +0 -0
- package/dist/site/icon-180.png +0 -0
- package/dist/site/icon-512.png +0 -0
- package/dist/site/index.html +598 -0
- package/dist/site/landing.js +54 -0
- package/dist/site/llms-install.txt +217 -0
- package/dist/site/robots.txt +4 -0
- package/dist/site/sitemap.xml +21 -0
- package/dist/site/start.html +326 -0
- package/dist/site/style.css +550 -0
- package/dist/site/vercel.json +20 -0
- package/dist/web.mjs +46852 -0
- package/docs/FAQ.md +101 -0
- package/docs/MCP_TOOLS.md +311 -0
- package/docs/README.md +28 -0
- package/docs/START_WORKFLOW.md +137 -0
- package/docs/SUPPORTED_AI_APPS.md +112 -0
- package/docs/WORKFLOWS.md +202 -0
- package/docs/career-os/README.md +78 -0
- package/docs/career-os/eop/cover-letter.md +46 -0
- package/docs/career-os/eop/fit-analysis.md +48 -0
- package/docs/career-os/eop/interview-prep.md +39 -0
- package/docs/career-os/eop/job-analysis.md +42 -0
- package/docs/career-os/eop/profile-extraction.md +37 -0
- package/docs/career-os/knowledge/ats.md +131 -0
- package/docs/career-os/knowledge/company-research.md +137 -0
- package/docs/career-os/knowledge/cover-letter.md +135 -0
- package/docs/career-os/knowledge/fit-matching.md +121 -0
- package/docs/career-os/knowledge/human-writing.md +118 -0
- package/docs/career-os/knowledge/interview-behavioral.md +132 -0
- package/docs/career-os/knowledge/interview-technical.md +126 -0
- package/docs/career-os/knowledge/linkedin-profile.md +152 -0
- package/docs/career-os/knowledge/networking-referrals.md +166 -0
- package/docs/career-os/knowledge/offer-evaluation-decision.md +121 -0
- package/docs/career-os/knowledge/onboarding-first-90-days.md +126 -0
- package/docs/career-os/knowledge/portfolio.md +121 -0
- package/docs/career-os/knowledge/recruiter-screen.md +105 -0
- package/docs/career-os/knowledge/rejection-triage-iteration.md +115 -0
- package/docs/career-os/knowledge/resume.md +123 -0
- package/docs/career-os/knowledge/salary-negotiation.md +123 -0
- package/docs/career-os/knowledge/verifiers/ats-compat.md +64 -0
- package/docs/career-os/knowledge/verifiers/consistency.md +61 -0
- package/docs/career-os/knowledge/verifiers/human-voice.md +82 -0
- package/docs/career-os/knowledge/verifiers/recency-staleness.md +72 -0
- package/docs/career-os/knowledge/verifiers/responsiveness-on-target.md +82 -0
- package/docs/career-os/knowledge/verifiers/truthfulness.md +67 -0
- package/package.json +89 -0
- package/packages/core/src/context.ts +74 -0
- package/packages/core/src/index.ts +8 -0
- package/packages/core/src/onboarding.ts +81 -0
- package/packages/core/src/services.ts +187 -0
- package/packages/core/src/summary.ts +104 -0
- package/packages/db/src/connection.ts +76 -0
- package/packages/db/src/index.ts +23 -0
- package/packages/db/src/paths.ts +52 -0
- package/packages/db/src/repositories.ts +891 -0
- package/packages/db/src/runtime.ts +58 -0
- package/packages/db/src/schema.ts +307 -0
- package/packages/exporters/src/html.ts +110 -0
- package/packages/exporters/src/index.ts +364 -0
- package/packages/exporters/src/markdown.ts +178 -0
- package/packages/knowledge/src/index.ts +168 -0
- package/packages/mcp-tools/src/bridge.ts +106 -0
- package/packages/mcp-tools/src/index.ts +17 -0
- package/packages/mcp-tools/src/result.ts +49 -0
- package/packages/mcp-tools/src/tools.ts +747 -0
- package/packages/mcp-tools/src/update.ts +330 -0
- package/packages/parsers/src/documents.ts +533 -0
- package/packages/parsers/src/html.ts +86 -0
- package/packages/parsers/src/index.ts +231 -0
- package/packages/parsers/src/keywords.ts +151 -0
- package/packages/prompts/src/humanize.ts +59 -0
- package/packages/prompts/src/index.ts +82 -0
- package/packages/prompts/src/install.ts +43 -0
- package/packages/prompts/src/onboarding.ts +35 -0
- package/packages/prompts/src/system.ts +57 -0
- package/packages/shared/src/build-info.ts +22 -0
- package/packages/shared/src/enums.ts +142 -0
- package/packages/shared/src/index.ts +19 -0
- package/packages/shared/src/schemas.ts +453 -0
- package/packages/workflows/src/definitions.ts +109 -0
- package/packages/workflows/src/index.ts +39 -0
- package/scripts/init.ts +371 -0
- package/tsconfig.json +32 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// Shared behavior for the CareerMate landing pages (index.html, start.html).
|
|
2
|
+
// Loaded after the DOM is parsed; wires the clipboard "copy" buttons and the theme toggle.
|
|
3
|
+
// NOTE: the pre-paint theme resolution stays INLINE in each page's <head> to avoid a flash (FOUC) --
|
|
4
|
+
// do not move that into this file.
|
|
5
|
+
(function () {
|
|
6
|
+
'use strict';
|
|
7
|
+
var status = document.getElementById('copy-status');
|
|
8
|
+
|
|
9
|
+
// --- clipboard ---------------------------------------------------
|
|
10
|
+
function legacyCopy(text) {
|
|
11
|
+
var ta = document.createElement('textarea');
|
|
12
|
+
ta.value = text; ta.setAttribute('readonly', '');
|
|
13
|
+
ta.style.position = 'absolute'; ta.style.left = '-9999px';
|
|
14
|
+
document.body.appendChild(ta); ta.select();
|
|
15
|
+
var ok = false;
|
|
16
|
+
try { ok = document.execCommand('copy'); } catch (e) { ok = false; }
|
|
17
|
+
document.body.removeChild(ta);
|
|
18
|
+
return ok;
|
|
19
|
+
}
|
|
20
|
+
function copyText(text, onok) {
|
|
21
|
+
if (navigator.clipboard && navigator.clipboard.writeText) {
|
|
22
|
+
navigator.clipboard.writeText(text).then(onok, function () { if (legacyCopy(text)) onok(); });
|
|
23
|
+
} else if (legacyCopy(text)) { onok(); }
|
|
24
|
+
}
|
|
25
|
+
document.querySelectorAll('.copy-btn').forEach(function (btn) {
|
|
26
|
+
btn.addEventListener('click', function () {
|
|
27
|
+
var src = document.getElementById(btn.getAttribute('data-copy-target'));
|
|
28
|
+
if (!src) return;
|
|
29
|
+
copyText(src.textContent || '', function () {
|
|
30
|
+
var original = btn.textContent;
|
|
31
|
+
btn.textContent = '복사됨'; btn.classList.add('copied');
|
|
32
|
+
if (status) status.textContent = '클립보드에 복사되었습니다.';
|
|
33
|
+
window.setTimeout(function () { btn.textContent = original; btn.classList.remove('copied'); }, 1600);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
// --- theme toggle (persist) --------------------------------------
|
|
39
|
+
var root = document.documentElement;
|
|
40
|
+
var toggle = document.getElementById('theme-toggle');
|
|
41
|
+
function isDark() {
|
|
42
|
+
var t = root.getAttribute('data-theme');
|
|
43
|
+
if (t === 'dark') return true;
|
|
44
|
+
if (t === 'light') return false;
|
|
45
|
+
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
46
|
+
}
|
|
47
|
+
if (toggle) {
|
|
48
|
+
toggle.addEventListener('click', function () {
|
|
49
|
+
var next = isDark() ? 'light' : 'dark';
|
|
50
|
+
root.setAttribute('data-theme', next);
|
|
51
|
+
try { window.localStorage.setItem('careermate-theme', next); window.localStorage.removeItem('cf-theme'); } catch (e) {}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
})();
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# CareerMate 설치 지시문 (AI 에이전트용) · 공개본
|
|
2
|
+
|
|
3
|
+
이 파일은 https://careermate.life/llms-install.txt 에서 AI 에이전트가 직접 읽도록 호스팅된
|
|
4
|
+
설치 런북입니다. 사용자가 "이 URL을 읽고 CareerMate를 설치해줘"라고 하면, 당신(AI)이 아래
|
|
5
|
+
순서를 그대로 따르세요. **빈 폴더에서 시작해도 됩니다 — 소스를 미리 받아둘 필요가 없습니다.**
|
|
6
|
+
(이 문서는 npm 패키지 `careermate`를 가리키므로 항상 최신입니다.)
|
|
7
|
+
|
|
8
|
+
CareerMate란: **MCP 우선 로컬 커리어 워크스페이스**입니다. 내부에 LLM이 없습니다 — 분석·글쓰기
|
|
9
|
+
같은 "생각"은 당신(사용자의 AI)이 하고, CareerMate는 커리어 데이터를 이 컴퓨터에만 구조화해
|
|
10
|
+
저장·조회합니다. "당신의 AI가 두뇌, CareerMate는 커리어 서랍장."
|
|
11
|
+
|
|
12
|
+
────────────────────────────────────────────────────────
|
|
13
|
+
0. 대원칙 (반드시 지킬 것)
|
|
14
|
+
────────────────────────────────────────────────────────
|
|
15
|
+
- 동의 먼저: 파일을 만들거나 서버를 켜거나 **시스템에 무언가 설치(예: Node)하기 전에**, 무엇을
|
|
16
|
+
왜 하는지 한국어로 설명하고 사용자 동의를 받습니다.
|
|
17
|
+
- 설명 먼저, 실행 나중: 각 명령 전에 한 줄로 알립니다.
|
|
18
|
+
- 로컬 전용: 모든 데이터는 `~/.careermate`에만 저장됩니다. 어떤 단계에서도 외부로 업로드하지
|
|
19
|
+
않습니다.
|
|
20
|
+
- 개인 파일(이력서·자소서 등)은 설치 단계에서 읽지 않습니다. 사용자가 그 단계를 요청할 때만.
|
|
21
|
+
- 실패하면 멈추지 말고 7번 "문제 해결"을 안내합니다.
|
|
22
|
+
|
|
23
|
+
────────────────────────────────────────────────────────
|
|
24
|
+
1. 사전 점검 — Node.js (런타임, 유일한 전제)
|
|
25
|
+
────────────────────────────────────────────────────────
|
|
26
|
+
CareerMate MCP 서버는 Node 프로그램입니다. 먼저 확인하세요:
|
|
27
|
+
|
|
28
|
+
node --version
|
|
29
|
+
|
|
30
|
+
- **v22.5.0 이상**이면 통과 (CareerMate는 Node 내장 `node:sqlite`를 써서 컴파일·네이티브
|
|
31
|
+
빌드가 필요 없습니다).
|
|
32
|
+
- 명령이 없거나 버전이 낮으면 → **사용자 동의를 받은 뒤** 설치:
|
|
33
|
+
· Windows(PowerShell): winget install OpenJS.NodeJS.LTS
|
|
34
|
+
· macOS: brew install node (LTS 라인 고정을 원하면 brew install node@22)
|
|
35
|
+
· 그 외 / 위가 안 되면: https://nodejs.org 에서 LTS 설치
|
|
36
|
+
설치 후 **터미널을 새로 열어** `node --version`을 다시 확인합니다.
|
|
37
|
+
- 사용자가 **Claude Desktop만** 쓰고 터미널을 원치 않으면 → 여기서 멈추고 `.mcpb` 설치로
|
|
38
|
+
안내하세요: https://careermate.life 에서 `careermate.mcpb`를 받아, Claude Desktop의
|
|
39
|
+
**Settings → Extensions → Advanced settings → Install extension…** 에서 그 파일을 선택해 추가
|
|
40
|
+
(Windows에서 더블클릭·드래그는 파일 연결이 안 잡혀 무반응일 수 있으니 반드시 이 메뉴 경로를 쓰세요).
|
|
41
|
+
Claude Desktop은 Node를 내장하므로 터미널이 필요 없지만, **내장 Node 버전에 따라 설치가 막히거나
|
|
42
|
+
불안정할 수 있고, 이 `.mcpb`는 릴리스마다 다시 빌드되는 스냅샷이라 npm 최신본보다 버전이 뒤처질 수
|
|
43
|
+
있습니다** — 항상 최신을 원하거나 잘 안 되면 아래 3·4번(npm 설치)로 안내하세요.
|
|
44
|
+
|
|
45
|
+
────────────────────────────────────────────────────────
|
|
46
|
+
2. 동의 받기 (여기서 멈추고 확인)
|
|
47
|
+
────────────────────────────────────────────────────────
|
|
48
|
+
아래를 그대로 보여주고 동의를 받은 뒤에만 진행합니다.
|
|
49
|
+
"설치하면 CareerMate는 다음을 합니다. 진행할까요?"
|
|
50
|
+
[ ] 데이터 폴더 `~/.careermate` 생성
|
|
51
|
+
[ ] 로컬 SQLite DB `careermate.sqlite` 생성
|
|
52
|
+
[ ] 로컬 대시보드 `http://127.0.0.1:4319` 실행(요청 시) — 외부 접근 불가(127.0.0.1 전용)
|
|
53
|
+
[ ] 모든 데이터를 이 컴퓨터에만 저장 (외부 업로드 없음)
|
|
54
|
+
|
|
55
|
+
────────────────────────────────────────────────────────
|
|
56
|
+
3. 설치 — npm으로 `~/.careermate/app`에 (clone·zip 불필요)
|
|
57
|
+
────────────────────────────────────────────────────────
|
|
58
|
+
글로벌 설치(`-g`)나 npx 즉석 실행 대신, **한곳에 설치하고 절대경로로 참조**합니다. 가장
|
|
59
|
+
안정적입니다(글로벌 PATH 문제 없음, 매 실행 재해석 없음, 데이터와 같은 곳에 보관).
|
|
60
|
+
|
|
61
|
+
# macOS / Linux / Git Bash:
|
|
62
|
+
npm install --prefix "$HOME/.careermate/app" careermate
|
|
63
|
+
|
|
64
|
+
# Windows PowerShell:
|
|
65
|
+
npm install --prefix "$env:USERPROFILE\.careermate\app" careermate
|
|
66
|
+
|
|
67
|
+
설치 후 실행 진입점(이하 <BIN>)은 **이 절대경로**입니다:
|
|
68
|
+
· macOS/Linux: $HOME/.careermate/app/node_modules/careermate/bin/careermate.mjs
|
|
69
|
+
· Windows: %USERPROFILE%\.careermate\app\node_modules\careermate\bin\careermate.mjs
|
|
70
|
+
|
|
71
|
+
<BIN>은 항상 **그 사용자의 실제 절대경로로 치환**해 사용하세요. `~`나 `$HOME`은 설정 파일
|
|
72
|
+
안에서 확장되지 않습니다. 홈 경로가 필요하면 `node -p "require('os').homedir()"`로 구해 <BIN>에
|
|
73
|
+
그대로 박아 넣으세요(`~`/`$HOME`/`%USERPROFILE%`를 .mcp.json·config.toml에 직접 쓰지 마세요).
|
|
74
|
+
(`node <BIN> mcp`가 MCP 서버를 띄우는 명령이며, `--experimental-sqlite` 플래그는 <BIN>이 알아서 붙입니다.)
|
|
75
|
+
|
|
76
|
+
▸ 대안 — GUI 앱·샌드박스라면 이쪽 권장: **작업 폴더 안에 전부 설치.** (기본 방식과 둘 중 하나만 고르고 섞지 마세요.)
|
|
77
|
+
사용자가 Claude "Code" 탭이나 Codex 앱처럼 **작업 폴더(cwd)를 잡고** 쓰는 경우, 설치물과 데이터를
|
|
78
|
+
그 폴더 안에 두면 (1) 폴더만 백업·이동하면 데이터가 따라오고 (2) Codex의 workspace-write 샌드박스가
|
|
79
|
+
cwd 하위 쓰기를 허용해 설치 단계 권한 마찰이 줄어듭니다. <WS>를 그 작업 폴더의 절대경로라 할 때:
|
|
80
|
+
npm install --prefix "<WS>/.cm/app" careermate
|
|
81
|
+
그러면 <BIN> = <WS>/.cm/app/node_modules/careermate/bin/careermate.mjs 이고, 데이터는 아래처럼
|
|
82
|
+
MCP 등록의 env로 작업 폴더 안에 고정합니다(기본값 ~/.careermate 대신):
|
|
83
|
+
CAREERMATE_DATA_DIR = <WS>/.cm/data
|
|
84
|
+
주의: 데이터 폴더 이름을 `.git`/`.codex`/`.agents` 등으로 두지 마세요(VCS 메타데이터·AI 도구
|
|
85
|
+
설정 폴더와 이름이 충돌합니다 — 앱이 따로 막아 주는 건 아니니 이름을 직접 피하세요).
|
|
86
|
+
|
|
87
|
+
────────────────────────────────────────────────────────
|
|
88
|
+
4. 연결 — 사용 중인 AI 앱의 MCP 설정에 등록
|
|
89
|
+
────────────────────────────────────────────────────────
|
|
90
|
+
사용자가 쓰는 앱에 맞춰, 서버 명령을 `node <BIN> mcp`로 등록합니다.
|
|
91
|
+
|
|
92
|
+
▸ Claude Code (또는 Claude Desktop의 "Code" 탭):
|
|
93
|
+
지금 작업 중인(또는 열) **그 폴더에** `.mcp.json` 파일을 만들고 아래 내용을 넣으세요.
|
|
94
|
+
(이 폴더가 곧 Claude Code 프로젝트입니다. 빈 폴더여도 됩니다.)
|
|
95
|
+
|
|
96
|
+
{
|
|
97
|
+
"mcpServers": {
|
|
98
|
+
"careermate": {
|
|
99
|
+
"type": "stdio",
|
|
100
|
+
"command": "node",
|
|
101
|
+
"args": ["<BIN>", "mcp"]
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
· Windows 경로는 JSON에서 백슬래시를 `\\`로 이스케이프하거나 `/`로 쓰세요.
|
|
107
|
+
· 작업 폴더 안에 데이터를 두려면(위 3번 대안) `args` 옆에 env를 추가:
|
|
108
|
+
"env": { "CAREERMATE_DATA_DIR": "<WS>/.cm/data" }
|
|
109
|
+
· 또는 명령으로: claude mcp add --scope project --transport stdio careermate -- node <BIN> mcp
|
|
110
|
+
|
|
111
|
+
▸ Codex: `~/.codex/config.toml`에 아래 테이블을 추가(있으면 교체):
|
|
112
|
+
|
|
113
|
+
[mcp_servers.careermate]
|
|
114
|
+
command = "node"
|
|
115
|
+
args = ["<BIN>", "mcp"]
|
|
116
|
+
# 작업 폴더 안에 데이터를 두려면(위 3번 대안):
|
|
117
|
+
# env = { CAREERMATE_DATA_DIR = "<WS>/.cm/data" }
|
|
118
|
+
|
|
119
|
+
· 또는 명령으로: codex mcp add careermate -- node <BIN> mcp
|
|
120
|
+
· Windows 경로: 위 `"<BIN>"`처럼 큰따옴표 TOML 문자열 안에선 역슬래시를 `\\`로 쓰거나 `/`로 쓰세요
|
|
121
|
+
(작은따옴표 리터럴 `'C:\...\careermate.mjs'`을 쓰면 이스케이프 없이 한 번만 써도 됩니다).
|
|
122
|
+
· ⚠️ Codex 주의(2026-06): 데스크톱 앱은 시작 시 `~/.codex/config.toml`을 재작성해 등록이 사라질 수
|
|
123
|
+
있고(openai/codex#24718), 프로젝트 `.codex/config.toml`은 무시합니다(#13025). 이 재작성은 '승인'으로
|
|
124
|
+
못 풀립니다 → **전역 config + 가능하면 Codex CLI**를 쓰세요(데스크톱보다 안정적). 또한 기본
|
|
125
|
+
workspace-write 샌드박스는 네트워크가 꺼져 있어 설치 단계 `npm install`에 네트워크 1회 허용(또는
|
|
126
|
+
`[sandbox_workspace_write] network_access = true`)이 필요합니다 — 이건 사용자가 승인하면 풀립니다.
|
|
127
|
+
(MCP 서버 자체는 샌드박스 밖에서 돌아, 일단 연결되면 데이터 읽기/쓰기는 막히지 않습니다. 대시보드
|
|
128
|
+
127.0.0.1는 선택 기능이며 샌드박스에서 셸로 띄울 땐 로컬 포트 허용이 필요할 수 있습니다.)
|
|
129
|
+
|
|
130
|
+
▸ Cursor: `~/.cursor/mcp.json`에 위 Claude Code와 같은 `mcpServers` 블록을 추가.
|
|
131
|
+
|
|
132
|
+
▸ Gemini CLI / Antigravity: Gemini CLI는 `~/.gemini/settings.json`의 `mcpServers`에 같은 블록을 추가
|
|
133
|
+
(`type` 키는 없어도 됨). 단 **2026-06-18부터 소비자용 Gemini CLI는 Antigravity로 전환**됩니다 —
|
|
134
|
+
Antigravity는 `~/.gemini/(config|antigravity|antigravity-cli)/mcp_config.json` 중 **이미 있는 파일**의
|
|
135
|
+
`mcpServers`에 추가하세요(스키마 동일). `node <BIN> init`은 Gemini를 자동 등록하고 Antigravity는
|
|
136
|
+
후보 파일이 있을 때만 등록합니다.
|
|
137
|
+
|
|
138
|
+
▸ Claude Desktop(앱 본체, "Code" 탭이 아닌 채팅): `.mcpb` 원클릭이 가장 쉽습니다(1번 끝의
|
|
139
|
+
안내). 굳이 수동이면 `claude_desktop_config.json`의 `mcpServers`에 같은 블록을 추가.
|
|
140
|
+
|
|
141
|
+
단축: `node <BIN> init`을 실행하면 **감지된 Codex·Cursor·Claude Desktop·Gemini 전역 설정**을 올바른
|
|
142
|
+
절대경로로 자동 등록하고 `~/.careermate`도 만듭니다(Antigravity는 후보 설정 파일이 이미 있을 때만).
|
|
143
|
+
단 **Claude Code의 프로젝트 `.mcp.json`은 위처럼 사용자의 작업 폴더에 직접** 만드세요. (`init`도
|
|
144
|
+
`.mcp.json`을 하나 쓰긴 하지만 그건 설치 디렉터리(`node_modules/careermate`) 안에 생겨 당신의 실제
|
|
145
|
+
작업 폴더와는 무관합니다.) **Claude Code는 init과 수동 등록 중 하나만** 쓰세요 — 둘 다 하면 무용한
|
|
146
|
+
등록이 하나 더 생깁니다.
|
|
147
|
+
|
|
148
|
+
────────────────────────────────────────────────────────
|
|
149
|
+
5. 마무리 — 재시작 · 승인 · 검증
|
|
150
|
+
────────────────────────────────────────────────────────
|
|
151
|
+
1) 연결한 AI 앱을 **완전히 종료했다 다시** 켭니다.
|
|
152
|
+
2) Claude Code/Code 탭이면 프로젝트 `.mcp.json`에 대해 **1회 승인**을 물을 때 허용합니다.
|
|
153
|
+
3) 사용자가 AI에게: "**get_onboarding_status 호출해서 연결됐는지 확인해줘**". 응답이 오면 성공.
|
|
154
|
+
(Codex는 `/mcp`로 careermate 등록 여부도 확인 가능.)
|
|
155
|
+
4) 대시보드(선택): node <BIN> start → http://127.0.0.1:4319 (종료: Ctrl+C)
|
|
156
|
+
⚠️ 이 명령은 종료되지 않는 장기 실행 서버입니다 — 설치·검증 중엔 실행하지 마세요(포그라운드로
|
|
157
|
+
띄우면 에이전트 턴이 멈춥니다). 연결 검증(위 3번)에는 대시보드가 필요 없습니다. 사용자가 원할 때만,
|
|
158
|
+
가능하면 백그라운드로 띄우고 `CAREERMATE_NO_OPEN=1`로 브라우저 자동 열기를 끄세요.
|
|
159
|
+
|
|
160
|
+
────────────────────────────────────────────────────────
|
|
161
|
+
6. 데이터 위치 / 환경변수
|
|
162
|
+
────────────────────────────────────────────────────────
|
|
163
|
+
- 데이터: `~/.careermate` (Windows: `%USERPROFILE%\.careermate`). 안에 careermate.sqlite,
|
|
164
|
+
exports/, backups/, uploads/, inbox/, server.json. (하위 폴더·server.json은 설치 시점이 아니라
|
|
165
|
+
최초 사용·대시보드 실행 시 자동 생성됩니다.)
|
|
166
|
+
- `CAREERMATE_DATA_DIR` — 데이터 폴더 위치 변경.
|
|
167
|
+
- `CAREERMATE_PORT` — 대시보드 포트 고정(기본 4319, 사용 중이면 +1씩 다음 빈 포트를 최대 15개까지 탐색).
|
|
168
|
+
- `CAREERMATE_NO_OPEN=1` — 대시보드 시작 시 브라우저 자동 열기 비활성화(값이 정확히 `1`일 때만).
|
|
169
|
+
|
|
170
|
+
────────────────────────────────────────────────────────
|
|
171
|
+
7. 문제 해결
|
|
172
|
+
────────────────────────────────────────────────────────
|
|
173
|
+
- 연결이 안 보이면: ① <BIN> 절대경로가 맞는지 ② `node --version`이 22.5+인지 ③ 설치(npm install)가
|
|
174
|
+
끝났는지 ④ 설정 파일 경로·이름이 맞는지 확인한 뒤 **AI 앱을 완전히 재시작**.
|
|
175
|
+
- 한 번에 점검: `node <BIN> doctor` — Node 버전·데이터 폴더 쓰기 권한·DB·도구 등록을 모아서
|
|
176
|
+
확인합니다(AI 앱을 켜기 전에도 설치 자체를 검증할 수 있어요).
|
|
177
|
+
- 다시 설치(업데이트): npm install --prefix "<설치 prefix>" careermate@latest 후 AI 앱 재시작.
|
|
178
|
+
- DB는 MCP 서버가 켜질 때 자동으로 생성·마이그레이트하므로 보통 따로 손댈 일이 없습니다.
|
|
179
|
+
- 데이터를 완전히 비우려면 `~/.careermate/backups/`로 먼저 백업한 뒤
|
|
180
|
+
`~/.careermate/careermate.sqlite`를 지우고 AI 앱을 재시작하면 새로 만들어집니다(되돌릴 수 없으니 백업 먼저).
|
|
181
|
+
|
|
182
|
+
────────────────────────────────────────────────────────
|
|
183
|
+
8. 설치 완료 카드 — 사용자에게 보여주고 마무리
|
|
184
|
+
────────────────────────────────────────────────────────
|
|
185
|
+
연결 검증(5번)까지 끝났으면, 사용자에게 아래 "완료 카드"를 쉬운 한국어로 보여주세요(도구
|
|
186
|
+
이름은 노출하지 말 것). 다음에 뭘 하면 되는지 한눈에 알게 하는 게 목적입니다. **지금 네가
|
|
187
|
+
돌고 있는 앱에 맞는 항목만 골라** 안내하세요(공통 '붙여넣기'는 항상 포함).
|
|
188
|
+
|
|
189
|
+
✅ 설치 끝! 이제 이렇게 시작하세요
|
|
190
|
+
|
|
191
|
+
1) (아직이면) 이 앱을 완전히 껐다 다시 켜세요. 처음 한 번 뜨는 승인 창은 '허용'을 누르세요.
|
|
192
|
+
|
|
193
|
+
2) 이력서를 저에게 주세요 — 편한 방법 아무거나:
|
|
194
|
+
· [공통·제일 쉬움] 이력서 '내용'을 복사해서 대화창에 그대로 붙여넣기. 파일이 어디 있든 상관없어요.
|
|
195
|
+
· [Claude 채팅(.mcpb)] 채팅창에 이력서 파일을 직접 첨부.
|
|
196
|
+
· [폴더 기반 — Claude Code 탭 / Codex / Antigravity 등] 작업 폴더에 파일을 두고
|
|
197
|
+
"이력서.pdf 읽어서 등록해줘"처럼 파일명·경로로 알려주기.
|
|
198
|
+
· [인박스 폴더 — 파일 첨부가 안 되는 CLI에 특히 편함] 파일을 `~/.careermate/inbox`
|
|
199
|
+
(Windows: `%USERPROFILE%\.careermate\inbox`)에 넣고 "인박스에 넣은 이력서 읽어줘"라고 하기.
|
|
200
|
+
· ⚠️ 스캔본(이미지) PDF나 보안 걸린 파일은 못 읽을 수 있어요 → 그때는 내용을 텍스트로 붙여넣어 주세요.
|
|
201
|
+
그리고 "내 이력서로 처음 세팅 해줘" 한마디면 제가 프로필·이력서로 정리해 저장합니다.
|
|
202
|
+
|
|
203
|
+
3) 대시보드에서 눈으로 확인: http://127.0.0.1:4319
|
|
204
|
+
(안 열려 있으면 "대시보드 열어줘"라고 하세요. 포트가 바뀌면 실제 주소를 알려드릴게요.)
|
|
205
|
+
|
|
206
|
+
* 데이터는 전부 이 컴퓨터(~/.careermate)에만 저장돼요. 어디로도 올라가지 않습니다.
|
|
207
|
+
|
|
208
|
+
헷갈려 할 때 한 줄 안내:
|
|
209
|
+
- "이력서 주기·세팅해줘" 같은 말은 전부 '저와의 대화창'에 자연어로 하면 됩니다(명령어가 아니에요).
|
|
210
|
+
- 설치 때 친 명령어(npm·node…)는 '터미널'에서 돈 것이고, 보통 제가 대신 실행했습니다.
|
|
211
|
+
· Claude Code 탭 / Codex = 터미널 안에서 저와 대화(한 창). · Claude 채팅 앱 = 터미널 없이 채팅창만.
|
|
212
|
+
|
|
213
|
+
그 다음부터는 평소 흐름입니다(공고 저장 → 적합도 분석 → 자소서 작성 → 지원 상태 관리 → 면접 준비).
|
|
214
|
+
**무언가를 저장·완료할 때마다 대시보드 주소(위)를 알려주세요.** 단 브라우저를 자동으로 새로 여는 건
|
|
215
|
+
**첫 온보딩 때 한 번만** — 이후엔 링크만 보여주고, 사용자가 "열어줘"라고 하면 그때 엽니다. 자소서 등
|
|
216
|
+
"사람이 쓴 듯한 글"을 쓰기 직전에는 `get_writing_style_guide`를, 분석·작성 직전에는
|
|
217
|
+
`get_application_context`를 먼저 호출하세요.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
3
|
+
<url>
|
|
4
|
+
<loc>https://careermate.life/</loc>
|
|
5
|
+
<lastmod>2026-06-17</lastmod>
|
|
6
|
+
<changefreq>weekly</changefreq>
|
|
7
|
+
<priority>1.0</priority>
|
|
8
|
+
</url>
|
|
9
|
+
<url>
|
|
10
|
+
<loc>https://careermate.life/start</loc>
|
|
11
|
+
<lastmod>2026-06-17</lastmod>
|
|
12
|
+
<changefreq>monthly</changefreq>
|
|
13
|
+
<priority>0.8</priority>
|
|
14
|
+
</url>
|
|
15
|
+
<url>
|
|
16
|
+
<loc>https://careermate.life/demo</loc>
|
|
17
|
+
<lastmod>2026-06-17</lastmod>
|
|
18
|
+
<changefreq>monthly</changefreq>
|
|
19
|
+
<priority>0.6</priority>
|
|
20
|
+
</url>
|
|
21
|
+
</urlset>
|