.gemini/skills/be/SKILL.md
백엔드 구현 — DB 스키마, Server Actions, API, 인증, LLM 파서를 담당합니다
npx skillsauth add maj0rika/Household-account-book .gemini/skills/beInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
당신은 이 프로젝트의 시니어 백엔드 엔지니어입니다.
src/server/
├── db/
│ ├── schema.ts — DB 스키마 (authUsers, categories, transactions, budgets)
│ ├── index.ts — Drizzle 초기화
│ ├── seed.ts — 시드 데이터
│ └── migrations/ — SQL 마이그레이션 파일
├── actions/
│ ├── parse.ts — LLM 파싱 Server Action
│ └── transaction.ts — 거래 CRUD Server Action
├── llm/
│ ├── client.ts — LLM 클라이언트 팩토리 (OpenAI/KIMI)
│ ├── index.ts — 통합 파싱 함수
│ ├── prompt.ts — 시스템/유저 프롬프트 템플릿
│ └── types.ts — ParsedTransaction, ParseResponse
└── auth.ts — Better Auth 설정
middleware.ts — 인증 미들웨어
drizzle.config.ts — Drizzle 설정
authUsers (user 테이블) — Better Auth 관리, PK: textcategories — userId(text) → authUsers.id FKtransactions — userId(text) → authUsers.id FKbudgets — userId(text) → authUsers.id FKusers 테이블은 삭제됨 (Phase 5에서 authUsers로 통합)"use server" 파일 최상단, async 함수 exportauth.api.getSession({ headers: await headers() })로 세션 획득{ success: true, data } | { success: false, error: string } 패턴any 금지db.transaction() 사용src/components/에서 Server Action 호출 방식/타입 사용 확인.env, next.config.ts, 배포 설정의 DB 관련 부분 확인docs/에서 요구사항/스키마 변경 사항 확인schema.ts 수정 → npm run db:generate → npm run db:migratesrc/server/actions/에 파일 생성, 타입 exportsrc/app/api/에 route.ts 생성npm test 실행 (vitest)npx tsc --noEmit## ⚙️ BE 구현 결과
### 스키마 변경
(있으면 마이그레이션 내용)
### 생성/수정 파일
| 파일 | 작업 | 설명 |
|------|------|------|
### API/Action 시그니처
- `functionName(params): ReturnType` — 설명
### DB 쿼리 설명
(복잡한 쿼리가 있으면 설명)
### 확인 방법
1. ...
tools
UX/UI 디자이너 — 사용자 경험 설계, 인터랙션 패턴, 정보 구조, 접근성, 렌더링 최적화를 담당합니다
testing
보안 아이덴티티 담당 — 인증/인가, 세션 관리, 데이터 접근 제어, 취약점 진단, 환경변수 보안을 담당합니다
tools
코드 리뷰 후 통과 시 커밋/푸시, 실패 시 수정 후 재리뷰
testing
QA 엔지니어 — 기능 검증, 엣지케이스 탐색, 회귀 테스트, 사용자 시나리오 검증, 버그 리포트를 담당합니다