Merge pull request #2 from o0kuma/cursor/agents-claude-rules-382d
Add AGENTS.md/CLAUDE.md rules and sync planning docs
This commit is contained in:
commit
2312cbfff1
|
|
@ -0,0 +1,103 @@
|
||||||
|
# Project Instructions — hikikomori / 분신 (가칭)
|
||||||
|
|
||||||
|
This repository is currently a **planning-docs repo** for an AI-twin messenger
|
||||||
|
("나를 대신해 남과 대화하는 AI 분신"). There is no application code yet.
|
||||||
|
|
||||||
|
Canonical docs live under `docs/`. Prefer linking to them over copying content
|
||||||
|
into prompts or new files.
|
||||||
|
|
||||||
|
## Document authority
|
||||||
|
|
||||||
|
When documents disagree, follow this order:
|
||||||
|
|
||||||
|
1. [`docs/decision-log.md`](docs/decision-log.md) — working assumptions for Q1~Q7
|
||||||
|
2. [`docs/vision.md`](docs/vision.md) / [`docs/PRD.md`](docs/PRD.md) / [`docs/tech-design.md`](docs/tech-design.md)
|
||||||
|
3. [`docs/roadmap.md`](docs/roadmap.md) / [`docs/risk-log.md`](docs/risk-log.md)
|
||||||
|
4. [`docs/PLANNING.md`](docs/PLANNING.md) — process guide
|
||||||
|
5. [`docs/idea-meeting-2026-06-29.html`](docs/idea-meeting-2026-06-29.html) — historical meeting source only
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
|
||||||
|
- Q1~Q7 in `decision-log.md` are **제안 (tentative)**, not final meeting
|
||||||
|
decisions. Do not silently reverse them. If a change is required, update
|
||||||
|
`decision-log.md` and all derived docs in the same change.
|
||||||
|
- Prefer `decision-log.md` (and the synced summary in `PLANNING.md` §2) for
|
||||||
|
current working answers.
|
||||||
|
- Working delivery order is **자체 앱 클로즈드 베타 first → OS 레이어 later**
|
||||||
|
(`decision-log.md` Q7). Do not reverse that sequence.
|
||||||
|
|
||||||
|
## Product identity (v1 working assumptions)
|
||||||
|
|
||||||
|
- Name (working): **분신**
|
||||||
|
- One-liner: ChatGPT talks *with* me; 분신 talks *as* me *to others*
|
||||||
|
- Target: consumer individuals first (not B2B)
|
||||||
|
- Delivery: self-owned messenger, closed beta
|
||||||
|
- Autonomy for v1: **L0~L2 only**
|
||||||
|
- MVP scenarios: **읽씹 종결** + **단톡 따라잡기**
|
||||||
|
- Platform: Android first
|
||||||
|
|
||||||
|
## Hard scope guards (do not expand without an explicit decision-log update)
|
||||||
|
|
||||||
|
Out of v1 scope:
|
||||||
|
|
||||||
|
- L3 full away-mode auto-reply
|
||||||
|
- L4 twin-to-twin negotiation / appointment auto-finalization
|
||||||
|
- OS-layer bridging over KakaoTalk / Instagram / etc.
|
||||||
|
- B2B / workspace products
|
||||||
|
- Server-side full conversation analytics that violate on-device-first
|
||||||
|
|
||||||
|
Do not design or implement Phase 2+ work before Phase 1 gates are validated
|
||||||
|
(`docs/roadmap.md`).
|
||||||
|
|
||||||
|
## Absolute safety invariants
|
||||||
|
|
||||||
|
These apply at every autonomy level and must not be weakened for convenience:
|
||||||
|
|
||||||
|
- Money, appointment confirmation, and emotional/sensitive topics always
|
||||||
|
escalate to the human. When uncertain, escalate (fail-safe).
|
||||||
|
- Twin-authored messages must be visually distinct (badge / `sender_mode`).
|
||||||
|
- Honest identity answers: if asked “본인이야 분신이야?”, answer as twin.
|
||||||
|
- Peer veto: if the other person rejects the twin, disable auto-reply for that
|
||||||
|
conversation immediately.
|
||||||
|
- Every automatic action needs post-hoc notification + one-tap undo.
|
||||||
|
|
||||||
|
## Privacy & architecture principles
|
||||||
|
|
||||||
|
- Tone/style learning: **on-device first**. Do not default to uploading raw chat
|
||||||
|
history to servers.
|
||||||
|
- Autonomy / escalation engine: **client-side** so safety is not blocked by
|
||||||
|
server latency or outage.
|
||||||
|
- Draft generation: on-device first, server LLM fallback with minimal context.
|
||||||
|
- Relay/storage server is allowed; it is not a license for full cloud analysis.
|
||||||
|
|
||||||
|
## Process rules
|
||||||
|
|
||||||
|
Follow `docs/PLANNING.md`: decide → narrow → validate → specify.
|
||||||
|
|
||||||
|
Current next priorities (do not invent a full stack first):
|
||||||
|
|
||||||
|
1. PoC #1 — on-device tone realism
|
||||||
|
2. PoC #3 — impersonation / trust acceptance (badge, veto UX)
|
||||||
|
3. Clickable prototype (badge + veto)
|
||||||
|
4. Small user interviews
|
||||||
|
5. Meeting review to promote Q1~Q7 from 제안 → 확정
|
||||||
|
|
||||||
|
Do not invent frameworks, folder layouts, or CI conventions until real code
|
||||||
|
exists. When code work starts, prefer Android-first changes aligned with
|
||||||
|
`docs/tech-design.md` and keep L0~L2 + safety invariants intact.
|
||||||
|
|
||||||
|
## Documentation conventions
|
||||||
|
|
||||||
|
- Planning docs are written in **Korean**.
|
||||||
|
- Keep decisions traceable with links to `decision-log.md` Q# and related files.
|
||||||
|
- Preserve `idea-meeting-2026-06-29.html` as historical source material; do not
|
||||||
|
treat it as the live decision record.
|
||||||
|
- When status changes, keep `PLANNING.md` §8, `roadmap.md`, and `risk-log.md`
|
||||||
|
in sync.
|
||||||
|
- Prefer updating existing docs over creating parallel overlapping docs.
|
||||||
|
|
||||||
|
## Communication with agents
|
||||||
|
|
||||||
|
- Read the relevant docs before proposing product/tech changes.
|
||||||
|
- Call out whether a suggestion is inside v1 scope or a future-phase idea.
|
||||||
|
- If requirements are ambiguous, ask before expanding scope.
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
# Claude Code — hikikomori / 분신
|
||||||
|
|
||||||
|
Follow the project instructions in [@AGENTS.md](./AGENTS.md).
|
||||||
|
|
||||||
|
Quick context:
|
||||||
|
|
||||||
|
- This repo is planning docs only (no app code yet).
|
||||||
|
- Working product name: **분신** (tentative).
|
||||||
|
- Source of working decisions: `docs/decision-log.md` (status: 제안).
|
||||||
|
- v1 scope: self-app closed beta, L0~L2, 읽씹 종결 + 단톡 따라잡기, Android first.
|
||||||
|
- Hard bans for v1: L3/L4, OS-layer over third-party messengers, B2B.
|
||||||
|
- Never weaken escalation, twin badge, peer veto, or undo.
|
||||||
|
|
||||||
|
Before changing product or technical direction, read `AGENTS.md` and the
|
||||||
|
relevant files under `docs/`.
|
||||||
|
|
@ -13,6 +13,11 @@
|
||||||
- 리스크 로그: [`docs/risk-log.md`](./docs/risk-log.md)
|
- 리스크 로그: [`docs/risk-log.md`](./docs/risk-log.md)
|
||||||
- 로드맵: [`docs/roadmap.md`](./docs/roadmap.md)
|
- 로드맵: [`docs/roadmap.md`](./docs/roadmap.md)
|
||||||
|
|
||||||
|
## AI 에이전트 규칙
|
||||||
|
|
||||||
|
- Cursor / 공통: [`AGENTS.md`](./AGENTS.md)
|
||||||
|
- Claude Code 진입점: [`CLAUDE.md`](./CLAUDE.md)
|
||||||
|
|
||||||
## 현재 단계
|
## 현재 단계
|
||||||
|
|
||||||
아이디어 발산 → 컨셉 심화 → 기획 문서 세트(Vision/PRD/기술설계/리스크/로드맵) 초안 작성까지 완료.
|
아이디어 발산 → 컨셉 심화 → 기획 문서 세트(Vision/PRD/기술설계/리스크/로드맵) 초안 작성까지 완료.
|
||||||
|
|
|
||||||
|
|
@ -29,16 +29,18 @@
|
||||||
## 2. 먼저 확정해야 할 결정 (회의 Q1~Q7)
|
## 2. 먼저 확정해야 할 결정 (회의 Q1~Q7)
|
||||||
|
|
||||||
기능 명세를 쓰기 전에 아래 표를 채운다. 답이 안 나온 항목은 "보류 사유"를 적어두고 다음 회의 안건으로 남긴다.
|
기능 명세를 쓰기 전에 아래 표를 채운다. 답이 안 나온 항목은 "보류 사유"를 적어두고 다음 회의 안건으로 남긴다.
|
||||||
|
현재 작업용 답은 [`decision-log.md`](./decision-log.md)에 있으며, 상태는 모두 **제안(잠정)** 이다.
|
||||||
|
회의에서 정식 확정되기 전까지는 decision-log를 단일 기준으로 따른다.
|
||||||
|
|
||||||
| # | 질문 | 결정 | 비고 |
|
| # | 질문 | 잠정 결정 | 상태 |
|
||||||
|---|------|------|------|
|
|---|------|------|------|
|
||||||
| Q1 | AI 분신으로 확정? | ☐ | 다른 축(기록/관계) 대비 최종 선택 근거 |
|
| Q1 | AI 분신으로 확정? | 예 | 제안 — 근거는 `decision-log.md` |
|
||||||
| Q2 | 타깃: 대중 vs 회사? | ☐ | 첫 사용자층에 따라 기능 우선순위가 바뀜 |
|
| Q2 | 타깃: 대중 vs 회사? | 대중 우선 (B2B는 이후) | 제안 |
|
||||||
| Q3 | 자율성 몇 단계까지 출시? | ☐ | L0~L2만 먼저 여는 것을 권장 (§5) |
|
| Q3 | 자율성 몇 단계까지 출시? | L0~L2만 | 제안 |
|
||||||
| Q4 | 사칭 우려 대응 충분한가? | ☐ | 분신 뱃지·거부권 등 투명성 장치 재확인 |
|
| Q4 | 사칭 우려 대응 충분한가? | 1차 설계는 충분, 실사용 검증 필요 | 제안 |
|
||||||
| Q5 | MVP 데모 시나리오 1개는? | ☐ | 읽씹 종결 / 약속 조율 / 대화 방어 중 하나 |
|
| Q5 | MVP 데모 시나리오 1개는? | 읽씹 종결 + 단톡 따라잡기 (묶음) | 제안 |
|
||||||
| Q6 | 서비스 이름 | ☐ | Echo / Twin / 분신 / Aka / 둘이서 / Mirror |
|
| Q6 | 서비스 이름 | "분신" (가칭) | 제안 (가칭) |
|
||||||
| Q7 | 자체 앱 vs OS 레이어 시작점 | ☐ | §6 참고 — 신뢰 비용 낮은 쪽부터 |
|
| Q7 | 자체 앱 vs OS 레이어 시작점 | 자체 앱 클로즈드 베타 먼저 → OS 레이어는 이후 | 제안 |
|
||||||
|
|
||||||
## 3. MVP 시나리오 좁히기
|
## 3. MVP 시나리오 좁히기
|
||||||
|
|
||||||
|
|
@ -102,7 +104,7 @@
|
||||||
2. [`PRD.md`](./PRD.md) — MVP 시나리오 기준 기능 명세, 유저 플로우, 엣지 케이스
|
2. [`PRD.md`](./PRD.md) — MVP 시나리오 기준 기능 명세, 유저 플로우, 엣지 케이스
|
||||||
3. [`tech-design.md`](./tech-design.md) — 온디바이스/서버 경계, 데이터 흐름, 에스컬레이션 로직
|
3. [`tech-design.md`](./tech-design.md) — 온디바이스/서버 경계, 데이터 흐름, 에스컬레이션 로직
|
||||||
4. [`risk-log.md`](./risk-log.md) — 회의 자료 §2-6, §oslayer §4의 리스크를 완화 상태와 함께 추적
|
4. [`risk-log.md`](./risk-log.md) — 회의 자료 §2-6, §oslayer §4의 리스크를 완화 상태와 함께 추적
|
||||||
5. [`roadmap.md`](./roadmap.md) — L0~L4 단계, OS 레이어→자체 앱 전환 시점 반영
|
5. [`roadmap.md`](./roadmap.md) — L0~L4 단계, 자체 앱→OS 레이어 확장 시점 반영
|
||||||
6. [`decision-log.md`](./decision-log.md) — Q1~Q7 결정과 근거, 계속 누적 기록
|
6. [`decision-log.md`](./decision-log.md) — Q1~Q7 결정과 근거, 계속 누적 기록
|
||||||
|
|
||||||
## 8. 다음 액션 체크리스트
|
## 8. 다음 액션 체크리스트
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,10 @@
|
||||||
|
|
||||||
## Phase 3 — OS 레이어 진입 (성장 전략)
|
## Phase 3 — OS 레이어 진입 (성장 전략)
|
||||||
|
|
||||||
|
- 전제: Phase 1 자체 앱 베타에서 핵심 가설이 검증된 뒤에만 착수 (`decision-log.md` Q7)
|
||||||
- 읽기 전용 허브부터 (발송 권한 없음, 문자·이메일 등 안정적 API 채널 우선)
|
- 읽기 전용 허브부터 (발송 권한 없음, 문자·이메일 등 안정적 API 채널 우선)
|
||||||
- 순서: 읽기 전용 → 초안 제안 → 제한적 자동응대(L2 그대로 확장) → 자체 앱으로 유도
|
- OS 레이어 내부 순서: 읽기 전용 → 초안 제안 → 제한적 자동응대(L2 그대로 확장)
|
||||||
|
- 확산 후 완전한 기능(L3·L4 등)이 필요하면 자체 앱으로 유도 — 시작 순서를 뒤집는 뜻이 아님
|
||||||
- 안드로이드 우선, iOS는 이 단계 반응을 본 뒤 자체 앱 전환 유도 전략으로 대응
|
- 안드로이드 우선, iOS는 이 단계 반응을 본 뒤 자체 앱 전환 유도 전략으로 대응
|
||||||
|
|
||||||
## Phase 4 — L4 분신 협상 + B2B 확장
|
## Phase 4 — L4 분신 협상 + B2B 확장
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue