4 Commits (main)

Author SHA1 Message Date
Claude b3d21f17d2 chore: Makefile→justfile + 개발 포트 unique화(31300/31800)
- Makefile 삭제 → justfile. `just run dev`(둘 다) / `just run fe` / `just run be`
  + install/test/e2e/lint/format/health/seed/migrate/clean 레시피
- 개발 포트를 흔한 dev 포트(3000/5173/8000/8080)와 충돌 없는 31xxx 대역으로:
  프론트 :3000→:31300, 백엔드 :8000→:31800. 전 참조 일괄 변경
  (package.json/next.config/lib api 기본값/playwright config·fixture/.env*.example/
   config.py FRONTEND_ORIGIN/scripts/dev.sh/CI/README)
- E2E 견고화: inbox/tasks/dashboard spec 에 beforeAll(resetSeed) 추가 →
  직렬 전체 실행에서 앞 spec 의 캡처 누적과 격리(결정성↑, 전체 39 e2e 29.7s)

검증(새 포트): 백엔드 pytest 63 · 프론트 vitest 69 · playwright 39 전부 통과,
tsc/eslint/ruff clean, build OK. 라이브: :31300↔:31800 CORS·SSR fetch·/ 리다이렉트 정상,
`just health`/`just run` 동작, 옛 포트 참조 0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 months ago
Claude d2d7c17ad3 Phase 3: 작업(Tasks) 페이지
- 폴더 트리 사이드바(업무/개인/즐겨찾기) + 무한중첩 프로젝트 + 인라인 새 프로젝트
- 칸반(5컬럼)/리스트 2뷰 + 작업 카드(태그·담당·마감임박·우선순위·진행률·위임칩)
- 상세 드로어(DetailPanel): 리치노트·댓글·하위작업 드릴다운·메타 편집·삭제
  + Auto-Scaffolding(미리보기→적용) + 위임 추천(suggestCollaborator)
- 리스크 레이더(업무 스코프, **굵게→<b> 파서, CTA로 드로어 열기)
- SWR 서버 연동(tree/tasks/risks), 낙관적 mutate, UI상태 ari.tasks.* localStorage 영속
- tasks.css 픽셀 이식, lib/cx.ts, lib/tasks/{api,store,tree}, lib/types 확장
- 백엔드: PATCH 작업 순환참조(self/후손 parent) 400 가드 추가

검증: 백엔드 pytest 46, 프론트 vitest 32, playwright e2e 19(shell+tasks+a11y),
tsc/eslint clean, build OK. axe: color-contrast(레퍼런스 액센트 팔레트)만 제외, 나머지 0.
라이브 시각 확인: 사이드바/칸반/리스크레이더/드로어/scaffold/위임 충실 재현.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 months ago
Claude 59e836bba0 Phase 1: 디자인 시스템 & 앱 셸
- tokens.css: dash.css :root + [data-theme=dark] 전체 무손실 이식
- globals.css: 178deg 그라데이션·keep-all 타이포·.topbar/.mainnav/.rail/프리미티브
- 폰트: Onest/DM Mono(next/font) + Pretendard(CDN), 변수 바인딩
- next-themes: data-theme 토글 + ari-theme localStorage 영속 + FOUC 없음
- Icon(중앙 PATHS 맵 60+ 글리프, 누락 가드), Topbar(MAIN 13항목·배지 3/4/6·active pill)
- 프리미티브: GlassCard/Badge/Chip/Button/SegmentToggle/Avatar/SubRail/Placeholder
- 라우팅: / → /dashboard, MVP 3 스텁, (placeholder) 10페이지 "준비 중"
- 이전 phase-0 산출물에 섞인 .playwright-mcp 캡처 제거 + .gitignore 보강

검증: vitest 16 passed, playwright e2e 8 passed(axe light/dark 위반 0),
tsc/eslint clean, next build(13 routes) OK, 라이트/다크 시각 충실도 확인, 콘솔 에러 0

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 months ago
Claude 9075b7d1ba Phase 0: 모노레포 스캐폴딩 & 개발환경
- frontend/ (Next.js 16 App Router + TS): layout/폰트, / → /dashboard 리다이렉트,
  styles/tokens.css·globals.css, lib/api.ts·types.ts, vitest 스모크, /api rewrites
- backend/ (FastAPI + SQLite + Ollama): config/db, /api/health, /api/llm/health
  (Ollama on/off 양쪽 200), CORS, alembic init, pytest 2건
- 루트 Makefile/.gitignore/README

검증: pytest 2 passed, vitest 1 passed, ruff/eslint clean, next build OK,
/ → /dashboard 리다이렉트(Playwright), health 200, Ollama reachable, CORS 200

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 months ago