Existing life-helper already has the Redmine project (id=12), 8 persona categories, and Gitea remote, so this commit applies only the local-side pieces of the cloud-handson convention: - .claude/settings.json (safe-but-maximal permissions: allow-all + deny dangerous) - .claude/agents/ (8 persona subagents: planner/architect/designer/developer/reviewer/qa/release/documenter) - .claude/workflows/persona-pipeline.js - CLAUDE.md (Design-First hard gate) - docs/ skeleton (Diátaxis + ADR + design templates + QUEUE-PROTOCOL) - scripts/enqueue.sh - .env.example .gitignore: switched .claude/ blanket-ignore to .claude/settings.local.json so the new settings/agents/workflows actually commit. .env and nutrition/ stay ignored. Existing root SoT files (huberman-protocols.md, habit-*.md, data-model.md, schema/) are untouched. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
52 lines
1.5 KiB
Markdown
52 lines
1.5 KiB
Markdown
<!-- 함수별 설계서 템플릿. 복잡 함수마다 design/<issue-id>-<slug>/fn-<function_name>.md 로 작성.
|
|
작성: [AI] Architect, 구현 전 필수. -->
|
|
|
|
# 함수 설계서: `<function_name>` (#<issue-id>)
|
|
|
|
> **부모 설계서**: ./README.md · **상태**: Draft <!-- Draft|Approved|Superseded -->
|
|
> **작성**: [AI] Architect · **구현**: <file:function 또는 TBD> · **테스트**: <경로 또는 TBD>
|
|
|
|
## 1. 시그니처
|
|
```
|
|
<returnType> <function_name>(<params>) # 언어 확정 후 정확히 기재
|
|
```
|
|
|
|
## 2. 책임 (단일 책임, 1줄)
|
|
이 함수가 하는 단 하나의 일.
|
|
|
|
## 3. 입력
|
|
| 파라미터 | 타입 | 제약/검증 | 설명 |
|
|
|----------|------|-----------|------|
|
|
| `<p>` | | | |
|
|
|
|
## 4. 출력
|
|
- **반환**: 타입 / 의미.
|
|
- **부수효과**: (있으면 — I/O·상태변경 명시) / 없으면 **순수 함수**.
|
|
|
|
## 5. 동작 / 알고리즘
|
|
1. ...
|
|
2. ...
|
|
|
|
## 6. 에러 & 실패 모드
|
|
| 조건 | 처리 | 반환/예외 |
|
|
|------|------|-----------|
|
|
| | | |
|
|
|
|
## 7. 엣지케이스
|
|
- 경계값(0, 음수, 빈값, 최대), 동시성, 부분 실패.
|
|
|
|
## 8. 복잡도 / 성능
|
|
- 시간/공간 복잡도. 호출 빈도(예: 시세 폴링 루프 내부인가?).
|
|
|
|
## 9. 의존성
|
|
- 호출하는 함수/모듈, 외부 API, 설정 키.
|
|
|
|
## 10. 테스트 케이스
|
|
- [ ] 정상: <입력 → 기대 출력>
|
|
- [ ] 경계: ...
|
|
- [ ] 실패: ...
|
|
|
|
## 11. 추적성
|
|
- 인수조건: #<issue-id> 의 "<항목>".
|
|
- 관련 ADR: <ADR-NNNN 또는 없음>.
|