foliopilot
by tttaliesin
README.md
# FolioPilot
> AI 에이전트가 MCP로 직접 관리하는 경력 포트폴리오 웹사이트 데스크톱 앱
> A desktop app for your career portfolio site — edited by you and by AI agents over MCP.
**Status: M0 (technical spike).** 기획 전체는 [docs/PLANNING.md](docs/PLANNING.md) 참고.
## 무엇이 되나요 (M0)
- 앱 안에 **MCP 서버 내장** (Streamable HTTP, `127.0.0.1`, 토큰 인증)
- **stdio 브리지** — Claude Desktop, Cursor, Codex 등 stdio MCP 클라이언트 연결. 앱이 꺼져 있으면 트레이 모드로 자동 실행
- 에이전트가 수정하면 **편집 화면·활동 로그·미리보기가 즉시 갱신**, 누가 바꿨는지 기록, Undo
- `preview_screenshot` — 에이전트가 사이트 화면을 이미지로 받아 직접 확인
- 삭제는 앱에서 사용자 승인 필요
MCP tools: `get_portfolio`, `update_profile`, `upsert_project`, `delete_project`, `undo`, `list_history`, `preview_screenshot`, `get_preview_url`
## 개발
요구사항: Node 22+, pnpm (corepack)
```bash
pnpm install
pnpm dev # 앱 실행 (HMR)
pnpm test # core / mcp 단위·통합 테스트
pnpm typecheck
pnpm build
pnpm e2e:stdio # 빌드 후: stdio 브리지 → 앱 자동 실행 → tool 호출 → 스크린샷까지 검증
```
## MCP 클라이언트 연결
앱 상단의 **Copy stdio config** 버튼이 현재 환경에 맞는 설정을 복사합니다. 형식:
```json
{
"mcpServers": {
"foliopilot": {
"command": "<FolioPilot 또는 electron 실행파일>",
"args": ["<...>/out/main/bridge.js", "--app-path", "<...>/apps/desktop"],
"env": { "ELECTRON_RUN_AS_NODE": "1" }
}
}
}
```
HTTP를 지원하는 클라이언트는 `http://127.0.0.1:47821/mcp`에 `Authorization: Bearer <token>` 헤더로 직접 연결할 수 있습니다 (토큰: 앱 데이터 폴더의 `mcp-token`).
## 구조
```
apps/desktop Electron 앱 (main / preload / renderer / bridge)
packages/core 스키마(zod), Command 처리, 이력/Undo, 저장
packages/mcp MCP tools, HTTP 호스트, stdio 브리지
```
## License
[MIT](LICENSE)
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues