sonamu 0.8.24 → 0.8.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/api/__tests__/config.test.js +189 -0
  2. package/dist/api/config.d.ts.map +1 -1
  3. package/dist/api/config.js +7 -2
  4. package/dist/api/sonamu.d.ts.map +1 -1
  5. package/dist/api/sonamu.js +14 -10
  6. package/dist/auth/index.d.ts +1 -0
  7. package/dist/auth/index.d.ts.map +1 -1
  8. package/dist/auth/index.js +2 -1
  9. package/dist/auth/knex-adapter.d.ts +23 -0
  10. package/dist/auth/knex-adapter.d.ts.map +1 -0
  11. package/dist/auth/knex-adapter.js +163 -0
  12. package/dist/auth/plugins/wrappers/admin.d.ts +2 -2
  13. package/dist/bin/__tests__/ts-loader-register.test.js +45 -0
  14. package/dist/bin/cli.js +47 -9
  15. package/dist/bin/ts-loader-register.js +3 -29
  16. package/dist/bin/ts-loader-registration.d.ts +2 -0
  17. package/dist/bin/ts-loader-registration.d.ts.map +1 -0
  18. package/dist/bin/ts-loader-registration.js +42 -0
  19. package/dist/cone/cone-generator.js +3 -3
  20. package/dist/database/puri-subset.test-d.js +9 -1
  21. package/dist/database/puri-subset.types.d.ts +1 -1
  22. package/dist/database/puri-subset.types.d.ts.map +1 -1
  23. package/dist/database/puri-subset.types.js +1 -1
  24. package/dist/testing/fixture-generator.js +5 -5
  25. package/dist/ui/ai-client.js +2 -2
  26. package/dist/ui/api.d.ts.map +1 -1
  27. package/dist/ui/api.js +14 -14
  28. package/dist/ui/cdd-service.d.ts +15 -18
  29. package/dist/ui/cdd-service.d.ts.map +1 -1
  30. package/dist/ui/cdd-service.js +246 -222
  31. package/dist/ui/cdd-types.d.ts +41 -68
  32. package/dist/ui/cdd-types.d.ts.map +1 -1
  33. package/dist/ui/cdd-types.js +2 -2
  34. package/dist/ui-web/assets/index-CKo0Z2Iu.css +1 -0
  35. package/dist/ui-web/assets/{index-CxiydzeC.js → index-DK-2aacv.js} +83 -83
  36. package/dist/ui-web/index.html +2 -2
  37. package/package.json +6 -2
  38. package/src/api/__tests__/config.test.ts +225 -0
  39. package/src/api/config.ts +10 -4
  40. package/src/api/sonamu.ts +16 -13
  41. package/src/auth/index.ts +1 -0
  42. package/src/auth/knex-adapter.ts +208 -0
  43. package/src/bin/__tests__/ts-loader-register.test.ts +62 -0
  44. package/src/bin/cli.ts +52 -9
  45. package/src/bin/ts-loader-register.ts +2 -32
  46. package/src/bin/ts-loader-registration.ts +55 -0
  47. package/src/cone/cone-generator.ts +2 -2
  48. package/src/database/puri-subset.test-d.ts +102 -0
  49. package/src/database/puri-subset.types.ts +1 -1
  50. package/src/skills/commands/sonamu-skills.md +20 -0
  51. package/src/skills/sonamu/SKILL.md +179 -137
  52. package/src/skills/sonamu/ai-agents.md +69 -69
  53. package/src/skills/sonamu/api.md +147 -147
  54. package/src/skills/sonamu/auth-migration.md +220 -220
  55. package/src/skills/sonamu/auth-plugins.md +83 -83
  56. package/src/skills/sonamu/auth.md +106 -106
  57. package/src/skills/sonamu/cdd.md +65 -200
  58. package/src/skills/sonamu/cone.md +138 -138
  59. package/src/skills/sonamu/config.md +191 -191
  60. package/src/skills/sonamu/create-sonamu.md +66 -66
  61. package/src/skills/sonamu/database.md +158 -158
  62. package/src/skills/sonamu/entity-basic.md +292 -293
  63. package/src/skills/sonamu/entity-relations.md +246 -246
  64. package/src/skills/sonamu/entity-validation-checklist.md +124 -124
  65. package/src/skills/sonamu/fixture-cli.md +231 -231
  66. package/src/skills/sonamu/framework-change.md +37 -37
  67. package/src/skills/sonamu/frontend.md +223 -223
  68. package/src/skills/sonamu/i18n.md +82 -82
  69. package/src/skills/sonamu/migration.md +77 -77
  70. package/src/skills/sonamu/model.md +222 -222
  71. package/src/skills/sonamu/naite.md +86 -86
  72. package/src/skills/sonamu/project-init.md +228 -228
  73. package/src/skills/sonamu/puri.md +122 -122
  74. package/src/skills/sonamu/scaffolding.md +154 -154
  75. package/src/skills/sonamu/skill-contribution.md +124 -124
  76. package/src/skills/sonamu/subset.md +46 -46
  77. package/src/skills/sonamu/tasks.md +82 -82
  78. package/src/skills/sonamu/testing-devrunner.md +147 -147
  79. package/src/skills/sonamu/testing.md +673 -673
  80. package/src/skills/sonamu/upsert.md +79 -79
  81. package/src/skills/sonamu/vector.md +67 -67
  82. package/src/testing/fixture-generator.ts +4 -4
  83. package/src/ui/ai-client.ts +1 -1
  84. package/src/ui/api.ts +18 -17
  85. package/src/ui/cdd-service.ts +264 -254
  86. package/src/ui/cdd-types.ts +40 -75
  87. package/dist/ui-web/assets/index-BrQKU3j9.css +0 -1
  88. package/src/skills/sonamu/workflow.md +0 -317
@@ -1,261 +1,261 @@
1
1
  ---
2
2
  name: sonamu-project-init
3
- description: Sonamu 프로젝트 생성 초기화. Entity 설계 요청 프로젝트 존재 여부 먼저 확인. Use before entity design.
3
+ description: Sonamu project creation and initialization. Check whether a project already exists before starting entity design. Use before entity design.
4
4
  ---
5
5
 
6
- # 프로젝트 초기화
6
+ # Project Initialization
7
7
 
8
- ## Entity 설계 요청 질문 순서
8
+ ## Question Order When Entity Design Is Requested
9
9
 
10
- **한 번에 하나씩, 순서대로 진행:**
10
+ **One question at a time, in order:**
11
11
 
12
12
  ```
13
- 0. 작업 경로 확인최우선
14
- 1. 프로젝트 생성 확인
15
- 2. (프로젝트 없으면) 생성 여부 확인
16
- 3. (생성 원하면) 프로젝트명 확인
17
- 4. (생성 원하면) 기본값 사용 vs 옵션 설정
18
- 5. 프로젝트 생성 실행
19
- 6. (요구사항 제공 ) 요구사항 문서화중요!
20
- 7. 설정 확인/커스터마이징 (config.md 참조)
21
- 8. → entity-basic.md로 이동
13
+ 0. Confirm working directorytop priority
14
+ 1. Check if project already exists
15
+ 2. (If no project) Ask whether to create one
16
+ 3. (If yes to create) Ask for project name
17
+ 4. (If yes to create) Use defaults vs configure options
18
+ 5. Run project creation
19
+ 6. (If requirements provided) Document requirementsimportant!
20
+ 7. Review/customize configuration (see config.md)
21
+ 8. → Proceed to entity-basic.md
22
22
  ```
23
23
 
24
24
  ---
25
25
 
26
- ## 요구사항 문서화
26
+ ## Documenting Requirements
27
27
 
28
- **사용자가 프로젝트 생성과 함께 요구사항을 제공한 경우, 반드시 문서화합니다.**
28
+ **If the user provides requirements along with the project creation request, always document them.**
29
29
 
30
- ### 프로세스
30
+ ### Process
31
31
 
32
- 1. **프로젝트 생성 완료 확인**
33
- - `pnpm create sonamu` 완료
34
- - `pnpm install` 완료
35
- - `.claude/skills/project/` 디렉토리 자동 생성 확인
32
+ 1. **Confirm project creation is complete**
33
+ - `pnpm create sonamu` complete
34
+ - `pnpm install` complete
35
+ - Confirm `.claude/skills/project/` directory was auto-created
36
36
 
37
- 2. **요구사항 작성**
37
+ 2. **Write requirements**
38
38
  ```bash
39
- # .claude/skills/project/requirements.md 파일에 작성
39
+ # Write to .claude/skills/project/requirements.md
40
40
  ```
41
41
 
42
- 3. **작성 내용**
43
- - 프로젝트 개요
44
- - 핵심 기능 목록
45
- - 사용자 역할 정의
46
- - 주요 엔티티 목록
47
- - 비즈니스 규칙
48
- - 기술 스택
49
- - 추가 요구사항
42
+ 3. **Content to include**
43
+ - Project overview
44
+ - Core feature list
45
+ - User role definitions
46
+ - Key entity list
47
+ - Business rules
48
+ - Tech stack
49
+ - Additional requirements
50
50
 
51
- 4. **지속적 참조**
52
- - 이후 모든 개발 과정에서 문서를 참조
53
- - Entity 설계, API 개발, 비즈니스 로직 구현 일관성 유지
51
+ 4. **Ongoing reference**
52
+ - Refer to this document throughout all subsequent development
53
+ - Maintain consistency during entity design, API development, and business logic implementation
54
54
 
55
- ### 예시 시나리오
55
+ ### Example Scenario
56
56
 
57
57
  ```
58
- 사용자: "연구과제 관리 시스템을 만들려고 해.
59
- 공고, 과제, 평가 관리가 필요하고,
60
- 관리자/평가위원/신청자 역할이 있어."
58
+ User: "I want to build a research project management system.
59
+ I need announcement, project, and evaluation management,
60
+ with roles for admin, reviewer, and applicant."
61
61
 
62
62
  Claude:
63
- 1. 프로젝트 경로 확인
64
- 2. "pnpm create sonamu research_system --yes" 실행
65
- 3. 프로젝트 생성 완료
66
- 4. .claude/skills/project/requirements.md에 다음 내용 작성:
63
+ 1. Confirm project path
64
+ 2. Run "pnpm create sonamu research_system --yes"
65
+ 3. Project creation complete
66
+ 4. Write the following to .claude/skills/project/requirements.md:
67
67
 
68
68
  ---
69
- # 연구과제 관리 시스템
70
-
71
- ## 프로젝트 개요
72
- 연구과제 공모, 지원, 평가를 관리하는 시스템
73
-
74
- ## 핵심 기능
75
- - 공고 관리 (생성, 수정, 발행, 마감)
76
- - 과제 지원 관리
77
- - 평가 프로세스 (평가위원 배정, 평가표 작성, 점수 산정)
78
- - 사용자 권한 관리
79
-
80
- ## 사용자 역할
81
- - 관리자: 전체 시스템 관리, 공고 생성, 평가위원 배정
82
- - 평가위원: 평가표 작성, 점수 부여
83
- - 신청자: 과제 지원, 진행 상황 확인
84
-
85
- ## 주요 엔티티
86
- - Announcement (공고)
87
- - Project (과제)
88
- - Evaluation (평가)
89
- - User (사용자)
69
+ # Research Project Management System
70
+
71
+ ## Project Overview
72
+ A system for managing research project calls, applications, and evaluations
73
+
74
+ ## Core Features
75
+ - Announcement management (create, edit, publish, close)
76
+ - Project application and management
77
+ - Evaluation process (reviewer assignment, evaluation form creation, score calculation)
78
+ - User permission management
79
+
80
+ ## User Roles
81
+ - Admin: full system management, announcement creation, reviewer assignment
82
+ - Reviewer: write evaluation forms, assign scores
83
+ - Applicant: apply for projects, check progress
84
+
85
+ ## Key Entities
86
+ - Announcement
87
+ - Project
88
+ - Evaluation
89
+ - User
90
90
  - ...
91
91
  ---
92
92
 
93
- 5. 이후 Entity 설계 문서 참조하여 일관되게 진행
93
+ 5. Reference this document for consistent entity design going forward
94
94
  ```
95
95
 
96
- ### 중요 사항
96
+ ### Important Notes
97
97
 
98
- **반드시 문서화해야 하는 경우:**
99
- - 사용자가 프로젝트 생성과 함께 요구사항/기능 명세를 제공한 경우
100
- - 비즈니스 규칙이나 특별한 제약사항이 있는 경우
98
+ **Always document when:**
99
+ - The user provides requirements or a feature specification together with project creation
100
+ - There are business rules or special constraints
101
101
 
102
- **문서화 시점:**
103
- - 프로젝트 생성 직후
104
- - Entity 설계 시작
102
+ **When to document:**
103
+ - Immediately after project creation
104
+ - Before starting entity design
105
105
 
106
- **문서 활용:**
107
- - Entity 설계 참조
108
- - API 비즈니스 로직 구현 참조
109
- - 테스트 케이스 작성 참조
110
- - 프론트엔드 UI 설계 참조
106
+ **How the document is used:**
107
+ - Reference during entity design
108
+ - Reference during API business logic implementation
109
+ - Reference when writing test cases
110
+ - Reference during frontend UI design
111
111
 
112
112
  ---
113
113
 
114
- ## 0. 작업 경로 확인
114
+ ## 0. Confirm Working Directory
115
115
 
116
- **프로젝트 생성 반드시 확인:**
116
+ **Must confirm before creating a project:**
117
117
 
118
- 개발자들은 종종 프로젝트 유형에 따라 작업 디렉토리를 분리합니다:
119
- - 회사/프레임워크 프로젝트: `~/Development/`
120
- - 개인 프로젝트: `~/dev/programming/`
121
- - 클라이언트 작업: `~/Projects/clients/`
118
+ Developers often separate working directories by project type:
119
+ - Company/framework projects: `~/Development/`
120
+ - Personal projects: `~/dev/programming/`
121
+ - Client work: `~/Projects/clients/`
122
122
 
123
- ### 확인 프로세스
123
+ ### Confirmation Process
124
124
 
125
- 1. **현재 작업 디렉토리 파악**
125
+ 1. **Determine the current working directory**
126
126
  ```bash
127
- pwd # 현재 디렉토리 확인
127
+ pwd # check current directory
128
128
  ```
129
129
 
130
- 2. **사용자에게 확인 질문**
130
+ 2. **Ask the user to confirm**
131
131
  ```
132
- "현재 {현재_디렉토리}에서 요청하셨는데, 여기에 프로젝트를 생성할까요?
133
- 다른 경로에서 작업하신다면 프로젝트를 생성할 디렉토리를 말씀해 주세요.
132
+ "You are currently in {current_directory}. Should I create the project here?
133
+ If you work in a different location, please tell me the directory to create the project in.
134
134
 
135
- 1. 현재 디렉토리에 생성
136
- 2. 다른 디렉토리 지정"
135
+ 1. Create in current directory
136
+ 2. Specify a different directory"
137
137
  ```
138
138
 
139
- 3. **선택에 따른 처리**
139
+ 3. **Handle each choice**
140
140
 
141
- **1번 선택 시:**
142
- - 현재 디렉토리에서 바로 진행
143
- - 다음 단계(프로젝트 생성 확인)로 이동
141
+ **If option 1:**
142
+ - Proceed directly in the current directory
143
+ - Move to the next step (confirm project creation)
144
144
 
145
- **2번 선택 시:**
146
- - "프로젝트를 생성할 디렉토리 경로를 알려주세요."
147
- - 경로 받은 후: `cd {지정_경로}`
148
- - 디렉토리 존재 여부 확인
149
- - 디렉토리 없으면: `mkdir -p {지정_경로} && cd {지정_경로}`
150
- - 다음 단계로 이동
145
+ **If option 2:**
146
+ - "Please provide the directory path where you want to create the project."
147
+ - After receiving the path: `cd {specified_path}`
148
+ - Check whether the directory exists
149
+ - If it doesn't exist: `mkdir -p {specified_path} && cd {specified_path}`
150
+ - Move to the next step
151
151
 
152
- ### 예시 대화
152
+ ### Example Conversation
153
153
 
154
154
  ```
155
- 사용자: "설문조사 시스템을 만들려고 해. Entity 설계해줘."
155
+ User: "I want to build a survey system. Design the entities for me."
156
156
 
157
- Claude: "현재 /Users/noa/Documents에서 요청하셨는데, 여기에 프로젝트를 생성할까요?
158
- 다른 경로에서 작업하신다면 프로젝트를 생성할 디렉토리를 말씀해 주세요.
157
+ Claude: "You are currently in /Users/noa/Documents. Should I create the project here?
158
+ If you work in a different location, please tell me the directory to create the project in.
159
159
 
160
- 1. 현재 디렉토리에 생성
161
- 2. 다른 디렉토리 지정"
160
+ 1. Create in current directory
161
+ 2. Specify a different directory"
162
162
 
163
- 사용자: "2"
163
+ User: "2"
164
164
 
165
- Claude: "프로젝트를 생성할 디렉토리 경로를 알려주세요."
165
+ Claude: "Please provide the directory path where you want to create the project."
166
166
 
167
- 사용자: "/Users/noa/Development"
167
+ User: "/Users/noa/Development"
168
168
 
169
- Claude: "/Users/noa/Development로 이동합니다.
169
+ Claude: "Moving to /Users/noa/Development.
170
170
 
171
- Sonamu 프로젝트가 이미 생성되어 있나요?"
171
+ Is a Sonamu project already set up there?"
172
172
  ```
173
173
 
174
- ### 주의사항
174
+ ### Notes
175
175
 
176
- - **상대 경로도 허용**: `~/Development`, `../projects`
177
- - **틸드(~) 확장**: 디렉토리 자동 확장
178
- - **경로 검증**: 존재하지 않는 경로는 생성 여부 확인
179
- - **Working directory 변경**: 경로 이동 모든 명령어는 경로 기준
176
+ - **Relative paths are accepted**: `~/Development`, `../projects`, etc.
177
+ - **Tilde (~) expansion**: home directory is expanded automatically
178
+ - **Path validation**: ask whether to create the directory if it doesn't exist
179
+ - **Working directory change**: all subsequent commands use the new path
180
180
 
181
181
  ---
182
182
 
183
- ## 전체 프로세스 상세
183
+ ## Full Process Details
184
184
 
185
- ### A. Sonamu 개발자용 (로컬 링크)
185
+ ### A. For Sonamu Developers (Local Link)
186
186
 
187
- > **로컬 링크를 사용하는 이유:**
188
- > - Skills 원본에서 직접 동기화
189
- > - 로컬 Sonamu 변경사항 즉시 반영
190
- > - 프레임워크 개발 필수
187
+ > **Why use a local link:**
188
+ > - Sync directly from the Skills source
189
+ > - Local Sonamu changes take effect immediately
190
+ > - Required for framework development
191
191
 
192
- #### 1. 프로젝트 생성
192
+ #### 1. Create the Project
193
193
  ```bash
194
- pnpm create sonamu [프로젝트명] --yes
194
+ pnpm create sonamu [project-name] --yes
195
195
  ```
196
196
 
197
- CLI 옵션은 `create-sonamu.md` 참조.
197
+ See `create-sonamu.md` for CLI options.
198
198
 
199
- #### 2. Sonamu 링크 설정
199
+ #### 2. Set Up the Sonamu Link
200
200
 
201
- `pnpm-workspace.yaml`의 `overrides` 섹션에 추가:
201
+ Add to the `overrides` section of `pnpm-workspace.yaml`:
202
202
 
203
203
  ```yaml
204
204
  overrides:
205
205
  sonamu: link:../../sonamu/modules/sonamu
206
206
  ```
207
207
 
208
- > **경로 예시:**
209
- > - Sonamu `~/Development/sonamu`에 있는 경우
210
- > - 프로젝트가 `~/Development/my_project`에 있는 경우
208
+ > **Path example:**
209
+ > - If Sonamu is at `~/Development/sonamu`
210
+ > - And the project is at `~/Development/my_project`
211
211
  > - → `link:../../sonamu/modules/sonamu`
212
212
 
213
- #### 3. 의존성 설치 빌드
213
+ #### 3. Install Dependencies and Build
214
214
 
215
- 프로젝트 루트에서:
215
+ From the project root:
216
216
  ```bash
217
217
  pnpm install
218
218
  pnpm -r build
219
219
  ```
220
220
 
221
- > **빌드 실패 시:** 리소스 초기화 실패일 있음. 4번 도커를 먼저 띄운 5번 dev 서버 실행하고 재시도.
221
+ > **If build fails:** may be a resource initialization failure. Start Docker first (step 4), then start the dev server (step 5) and retry.
222
222
 
223
- #### 4. DB 실행
223
+ #### 4. Start the DB
224
224
  ```bash
225
225
  cd packages/api
226
226
  pnpm docker:up
227
227
  ```
228
228
 
229
- > 포트 충돌 오류 발생 → `database.md` 참조
229
+ > If a port conflict error occurs see `database.md`
230
230
 
231
- #### 5. 개발 서버 실행
231
+ #### 5. Start the Dev Server
232
232
  ```bash
233
233
  pnpm dev
234
234
  ```
235
235
 
236
- > 3번 빌드가 실패했다면, dev 서버가 올라온 후 프로젝트 루트에서 `pnpm -r build` 재시도
236
+ > If step 3 build failed, retry `pnpm -r build` from the project root after the dev server is running
237
237
 
238
238
  > Sonamu UI: http://localhost:34900/sonamu-ui
239
239
 
240
- #### 6. Auth 엔티티 생성 (별도 터미널)
240
+ #### 6. Generate Auth Entities (Separate Terminal)
241
241
 
242
- **dev 서버 실행 중**에 다른 터미널에서:
242
+ In a separate terminal **while the dev server is running**:
243
243
 
244
244
  ```bash
245
245
  cd packages/api
246
246
  pnpm sonamu auth generate
247
247
  ```
248
248
 
249
- > **주의:** dev 모드에서 실행해야 types 파일도 자동 생성됨
249
+ > **Note:** Must run in dev mode for types files to be auto-generated as well
250
250
 
251
- #### 7. Subset 확인
251
+ #### 7. Check Subsets
252
252
 
253
- Sonamu UI (`http://localhost:34900/sonamu-ui`) Entity 메뉴에서:
254
- - User, Account, Session, Verification 엔티티의 subset 체크
253
+ In the Sonamu UI (`http://localhost:34900/sonamu-ui`) Entity menu:
254
+ - Check subsets for User, Account, Session, Verification entities
255
255
 
256
256
  #### 8. DB Migration
257
257
 
258
- Sonamu UI에서 마이그레이션 실행
258
+ Run migrations from Sonamu UI
259
259
 
260
260
  #### 9. Scaffolding
261
261
 
@@ -266,192 +266,192 @@ pnpm sonamu scaffold model Session
266
266
  pnpm sonamu scaffold model Verification
267
267
  ```
268
268
 
269
- #### 10. Skills 동기화 (선택)
269
+ #### 10. Sync Skills (Optional)
270
270
 
271
- Skills 원본 동기화가 필요한 경우:
271
+ If you need to sync from the Skills source:
272
272
 
273
273
  ```bash
274
274
  cd packages/api
275
275
  pnpm sonamu skills sync
276
276
  ```
277
277
 
278
- 프로젝트 루트에 `.claude/skills/sonamu/` 생성됨.
278
+ `.claude/skills/sonamu/` will be created at the project root.
279
279
 
280
280
  ---
281
281
 
282
- ### B. Sonamu 사용자용 (npm 버전)
282
+ ### B. For Sonamu Users (npm Version)
283
283
 
284
- > **npm 버전 사용 시:**
285
- > - Skills npm 패키지에 포함됨
286
- > - 로컬 링크 불필요
287
- > - 일반 사용자용
284
+ > **When using the npm version:**
285
+ > - Skills are included in the npm package
286
+ > - No local link needed
287
+ > - For general users
288
288
 
289
- #### 1-3. 프로젝트 생성 설정
289
+ #### 1-3. Create and Configure the Project
290
290
  ```bash
291
- pnpm create sonamu [프로젝트명] --yes
292
- cd [프로젝트명]
291
+ pnpm create sonamu [project-name] --yes
292
+ cd [project-name]
293
293
  pnpm install
294
294
  pnpm -r build
295
295
  ```
296
296
 
297
- > **빌드 실패 시:** A 3번과 동일 처리 - 도커 먼저 띄운 dev 실행, 재빌드
297
+ > **If build fails:** Same as A step 3 - start Docker first, then start dev, then rebuild
298
298
 
299
- #### 4-9. A 4-9 단계 동일
299
+ #### 4-9. Same as A Steps 4-9
300
300
 
301
- (단, Skills 동기화는 불필요)
301
+ (Skills sync is not needed)
302
302
 
303
303
  ---
304
304
 
305
- ## 예시 대화
305
+ ## Example Conversations
306
306
 
307
307
  ### DO - Correct Example
308
308
 
309
309
  ```
310
- 사용자: "설문조사 시스템을 만들려고 해. Entity 설계해줘."
310
+ User: "I want to build a survey system. Design the entities for me."
311
311
 
312
- Claude: "현재 /Users/noa/Documents에서 요청하셨는데, 여기에 프로젝트를 생성할까요?
313
- 다른 경로에서 작업하신다면 프로젝트를 생성할 디렉토리를 말씀해 주세요.
312
+ Claude: "You are currently in /Users/noa/Documents. Should I create the project here?
313
+ If you work in a different location, please tell me the directory to create the project in.
314
314
 
315
- 1. 현재 디렉토리에 생성
316
- 2. 다른 디렉토리 지정"
315
+ 1. Create in current directory
316
+ 2. Specify a different directory"
317
317
 
318
- 사용자: "1"
318
+ User: "1"
319
319
 
320
- Claude: "Sonamu 프로젝트가 이미 생성되어 있나요?"
320
+ Claude: "Is a Sonamu project already set up here?"
321
321
 
322
- 사용자: "아니"
322
+ User: "No"
323
323
 
324
- Claude: "pnpm create sonamu로 프로젝트를 생성할까요?"
324
+ Claude: "Should I create a project with pnpm create sonamu?"
325
325
 
326
- 사용자: ""
326
+ User: "Yes"
327
327
 
328
- Claude: "프로젝트명을 알려주세요. (예: survey_system)"
328
+ Claude: "What should the project name be? (e.g. survey_system)"
329
329
 
330
- 사용자: "survey_system"
330
+ User: "survey_system"
331
331
 
332
- Claude: "기본값으로 빠르게 생성할까요, 아니면 DB 설정 등을 직접 하시겠어요?
333
- 1. 기본값으로 생성 (--yes)
334
- 2. 옵션 직접 설정"
332
+ Claude: "Should I create it quickly with defaults, or would you like to configure DB settings and other options yourself?
333
+ 1. Create with defaults (--yes)
334
+ 2. Configure options manually"
335
335
 
336
- 사용자: "1"
336
+ User: "1"
337
337
 
338
- Claude: "다음 명령어로 생성합니다:
338
+ Claude: "Creating with the following command:
339
339
  pnpm create sonamu survey_system --yes
340
340
 
341
- 생성 완료 추가 설정이 필요하면 알려주세요."
341
+ Let me know if you need any additional configuration after creation."
342
342
  ```
343
343
 
344
344
  ### DO NOT - Incorrect Example
345
345
 
346
346
  ```
347
- 사용자: "설문조사 시스템을 만들려고 해. Entity 설계해줘."
347
+ User: "I want to build a survey system. Design the entities for me."
348
348
 
349
- Claude: "설문조사 시스템 Entity를 설계하기 전에 확인할게요.
349
+ Claude: "Before designing the survey system entities, let me confirm a few things.
350
350
 
351
- 1. 어느 경로에 프로젝트를 생성할까요?
352
- 2. Sonamu 프로젝트가 이미 생성되어 있나요?
353
- 3. 프로젝트명은 무엇으로 할까요?
354
- 4. 기본값으로 생성할까요, 옵션을 직접 설정할까요?"
351
+ 1. Which directory should I create the project in?
352
+ 2. Is a Sonamu project already set up?
353
+ 3. What should the project name be?
354
+ 4. Should I use defaults or configure options manually?"
355
355
  ```
356
356
 
357
- **잘못된 이유:**
358
- - 여러 질문을 번에 던짐 ( 번에 하나씩 질문해야 )
359
- - 질문 순서가 명확하지 않음
357
+ **Why this is wrong:**
358
+ - Asking multiple questions at once (should ask one at a time)
359
+ - The question order is not clear
360
360
 
361
361
  ---
362
362
 
363
- ## 프로젝트 생성 후 설정
363
+ ## Post-Creation Configuration
364
364
 
365
- 프로젝트 생성 사용자에게 확인할 사항:
365
+ Items to confirm with the user after project creation:
366
366
 
367
- ### 1. .env 확인
367
+ ### 1. Check .env
368
368
 
369
369
  ```
370
- Claude: "packages/api/.env 파일이 생성되었습니다. 기본 설정을 확인해볼까요?"
370
+ Claude: "The packages/api/.env file has been created. Would you like to review the default settings?"
371
371
  ```
372
372
 
373
- 기본 생성된 .env:
373
+ Default generated .env:
374
374
  ```env
375
375
  DB_HOST=0.0.0.0
376
376
  DB_PORT=5432
377
377
  DB_USER=postgres
378
378
  DB_PASSWORD=1234
379
- CONTAINER_NAME={프로젝트명}-container
380
- DATABASE_NAME={프로젝트명}
381
- PROJECT_NAME={프로젝트명}
382
- SESSION_SECRET={자동생성}
383
- SESSION_SALT={자동생성}
379
+ CONTAINER_NAME={project-name}-container
380
+ DATABASE_NAME={project-name}
381
+ PROJECT_NAME={project-name}
382
+ SESSION_SECRET={auto-generated}
383
+ SESSION_SALT={auto-generated}
384
384
  ```
385
385
 
386
- ### 1.5 template 기본값 잔류 체크 (CRITICAL)
386
+ ### 1.5 Check for Leftover Template Defaults (CRITICAL)
387
387
 
388
- `pnpm create sonamu`로 생성된 프로젝트에는 placeholder 값이 있다. **반드시 실제 값으로 교체해야 한다.**
388
+ Projects created with `pnpm create sonamu` contain placeholder values. **These must be replaced with real values.**
389
389
 
390
390
  ```bash
391
- # 확인: 기본값이 남아있는지 검색
391
+ # Check: search for leftover default values
392
392
  grep -r 'SonamuProject' packages/api/src/
393
393
  ```
394
394
 
395
395
  **`packages/api/src/sonamu.config.ts`:**
396
396
  ```typescript
397
- // DO NOT - template 기본값 그대로
397
+ // DO NOT - template default left as-is
398
398
  projectName: process.env.PROJECT_NAME ?? "SonamuProject"
399
399
 
400
- // DO - 실제 프로젝트명으로
400
+ // DO - replace with real project name
401
401
  projectName: process.env.PROJECT_NAME ?? "NIFOS"
402
402
  ```
403
403
 
404
- **교체 체크리스트:**
405
- - [ ] `sonamu.config.ts`의 `projectName` 기본값
406
- - [ ] `package.json` (root)의 `name` 필드
407
- - [ ] `.env`의 `PROJECT_NAME`, `DATABASE_NAME`
408
- - [ ] `.env`의 `SESSION_SECRET`, `SESSION_SALT` (운영 반드시 교체)
404
+ **Replacement checklist:**
405
+ - [ ] `projectName` default in `sonamu.config.ts`
406
+ - [ ] `name` field in `package.json` (root)
407
+ - [ ] `PROJECT_NAME`, `DATABASE_NAME` in `.env`
408
+ - [ ] `SESSION_SECRET`, `SESSION_SALT` in `.env` (must replace before going to production)
409
409
 
410
- ### 2. 추가 설정 필요 여부 확인
410
+ ### 2. Check Whether Additional Configuration Is Needed
411
411
 
412
412
  ```
413
- Claude: "추가로 설정할 항목이 있나요?
414
- - 세션 보안 설정 (프로덕션용)
415
- - S3 파일 업로드
416
- - 서버 포트 변경
417
- - 없음 (바로 진행)"
413
+ Claude: "Is there anything else you need to configure?
414
+ - Session security settings (for production)
415
+ - S3 file upload
416
+ - Change server port
417
+ - Nothing (proceed immediately)"
418
418
  ```
419
419
 
420
- 항목별 설정은 `config.md` 참조.
420
+ See `config.md` for configuration details for each item.
421
421
 
422
- ### 3. 설정 완료 후 진행
422
+ ### 3. Proceed After Configuration
423
423
 
424
424
  ```
425
- Claude: "설정이 완료되었습니다. 다음 단계로 진행할까요?
425
+ Claude: "Configuration is complete. Ready to proceed to the next step?
426
426
 
427
427
  1. cd survey_system/packages/api
428
428
  2. pnpm docker:up
429
429
  3. pnpm dev
430
- 4. (별도 터미널) pnpm sonamu auth generate"
430
+ 4. (separate terminal) pnpm sonamu auth generate"
431
431
  ```
432
432
 
433
433
  ---
434
434
 
435
- ## 기존 프로젝트 확인
435
+ ## Checking an Existing Project
436
436
 
437
- 사용자가 "프로젝트 있어"라고 답하면 경로를 물어보세요:
437
+ If the user says "I already have a project", ask for the path:
438
438
 
439
439
  ```
440
- Claude: "프로젝트 경로를 알려주세요."
440
+ Claude: "Please tell me the project path."
441
441
  ```
442
442
 
443
- 경로를 받은 `packages/api/src/application/` 존재 여부로 확인 가능합니다.
443
+ After receiving the path, you can confirm by checking whether `packages/api/src/application/` exists.
444
444
 
445
445
  ---
446
446
 
447
- ## 설정 관련 질문 처리
447
+ ## Handling Configuration Questions
448
448
 
449
- 사용자가 설정 관련 질문을 하면 `config.md`를 참조하여 답변:
449
+ When the user asks a configuration-related question, refer to `config.md` for the answer:
450
450
 
451
- | 질문 | 참조 |
452
- |------|------|
453
- | ".env 어떻게 설정해?" | config.md - .env 파일 |
454
- | "S3 연결하려면?" | config.md - server.storage |
455
- | "세션 설정 바꾸려면?" | config.md - server.plugins.session |
456
- | "포트 바꾸려면?" | config.md - server.listen |
457
- | "캐시 설정?" | config.md - server.cache |
451
+ | Question | Reference |
452
+ |----------|-----------|
453
+ | "How do I configure .env?" | config.md - .env file |
454
+ | "How do I connect S3?" | config.md - server.storage |
455
+ | "How do I change the session settings?" | config.md - server.plugins.session |
456
+ | "How do I change the port?" | config.md - server.listen |
457
+ | "Cache settings?" | config.md - server.cache |