jutell 0.3.0
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.
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/assets/default-config.json +26 -0
- package/assets/local-admin/assets/index-CVml-p-C.css +1 -0
- package/assets/local-admin/assets/index-Gxd8X8ii.js +60 -0
- package/assets/local-admin/index.html +14 -0
- package/assets/local-admin-server.js +1391 -0
- package/assets/mcp-server/config/bridge-config.js +72 -0
- package/assets/mcp-server/index.js +42 -0
- package/assets/mcp-server/tools/bridge-tools.js +64 -0
- package/assets/mcp-server/tools/catalog.js +25 -0
- package/assets/mcp-server/tools/usage-counters.js +97 -0
- package/assets/skill/SKILL.md +135 -0
- package/assets/skill/references/explained-diff-format.md +117 -0
- package/assets/skill/references/feature-registry.md +29 -0
- package/assets/skill/references/glossary-ko.md +302 -0
- package/assets/skill/references/report-format.md +176 -0
- package/assets/skill/references/risk-level-guide.md +85 -0
- package/assets/templates/request-builder/BUG_REPORT_REQUEST.md +100 -0
- package/assets/templates/request-builder/CODE_REVIEW_REQUEST.md +93 -0
- package/assets/templates/request-builder/DESIGN_REQUEST.md +111 -0
- package/assets/templates/request-builder/FEATURE_REQUEST.md +93 -0
- package/assets/templates/request-builder/MANUAL_EDIT_GUIDE.md +95 -0
- package/assets/templates/request-builder/NEXT_AGENT_HANDOFF.md +106 -0
- package/assets/templates/request-builder/PROJECT_PLANNING_REQUEST.md +106 -0
- package/assets/templates/request-builder/README.md +48 -0
- package/assets/version.json +6 -0
- package/dist/cli.js +82 -0
- package/dist/commands/dashboard.js +81 -0
- package/dist/commands/default.js +103 -0
- package/dist/commands/lifecycle.js +166 -0
- package/dist/commands/migrate.js +159 -0
- package/dist/commands/provider.js +135 -0
- package/dist/commands/session/add-work.js +43 -0
- package/dist/commands/session/create-page.js +53 -0
- package/dist/commands/session/finish-session.js +28 -0
- package/dist/commands/session/index.js +76 -0
- package/dist/commands/session/move-page.js +37 -0
- package/dist/commands/session/new-session.js +24 -0
- package/dist/commands/session/operator-storage.js +126 -0
- package/dist/commands/session/prompt.js +77 -0
- package/dist/commands/session/storage-command.js +74 -0
- package/dist/commands/session/storage.js +212 -0
- package/dist/commands/session/types.js +1 -0
- package/dist/commands/status.js +208 -0
- package/dist/commands/upgrade.js +113 -0
- package/dist/commands/use.js +180 -0
- package/dist/compat.js +5 -0
- package/dist/config/managed.js +257 -0
- package/dist/config/paths.js +100 -0
- package/dist/index.js +4 -0
- package/dist/installer/agents.js +42 -0
- package/dist/installer/claude.js +160 -0
- package/dist/installer/config.js +45 -0
- package/dist/installer/opencode.js +237 -0
- package/dist/installer/providers.js +15 -0
- package/dist/installer/skill.js +94 -0
- package/dist/output/format.js +187 -0
- package/dist/process/mcpProbe.js +122 -0
- package/dist/process/system.js +34 -0
- package/dist/types.js +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
# JuTell — 한국어 용어 reference
|
|
2
|
+
|
|
3
|
+
이 문서는 `docs/GLOSSARY_POLICY.md`를 실행할 때 필요한 핵심 용어 사전이다. 모든 용어를 자동으로 설명하지 말고, 현재 보고서를 이해하는 데 필요한 경우에만 사용한다.
|
|
4
|
+
|
|
5
|
+
## 목차
|
|
6
|
+
|
|
7
|
+
1. [화면과 코드 구조](#1-화면과-코드-구조)
|
|
8
|
+
2. [서버와 데이터](#2-서버와-데이터)
|
|
9
|
+
3. [로그인과 보안](#3-로그인과-보안)
|
|
10
|
+
4. [실행과 검증](#4-실행과-검증)
|
|
11
|
+
5. [Git과 변경](#5-git과-변경)
|
|
12
|
+
6. [배포와 운영](#6-배포와-운영)
|
|
13
|
+
7. [문맥 주의 용어](#7-문맥-주의-용어)
|
|
14
|
+
|
|
15
|
+
## 1. 화면과 코드 구조
|
|
16
|
+
|
|
17
|
+
### GUI
|
|
18
|
+
|
|
19
|
+
GUI(사용자가 눈으로 보고 클릭하거나 입력하는 프로그램 화면)
|
|
20
|
+
|
|
21
|
+
### CLI
|
|
22
|
+
|
|
23
|
+
CLI(터미널에 명령어를 입력해 프로그램을 사용하는 방식)
|
|
24
|
+
|
|
25
|
+
### IDE
|
|
26
|
+
|
|
27
|
+
IDE(코드를 작성하고 실행하는 개발 도구)
|
|
28
|
+
|
|
29
|
+
주의: Codex가 파일을 읽고 수정하는 실행 환경을 자동으로 IDE라고 부르지 않는다.
|
|
30
|
+
|
|
31
|
+
### Component
|
|
32
|
+
|
|
33
|
+
Component(화면이나 기능을 구성하는 독립적인 코드 조각)
|
|
34
|
+
|
|
35
|
+
적용 조건: 프로젝트가 Component 구조를 사용하는 것이 확인된 경우에만 사용한다.
|
|
36
|
+
|
|
37
|
+
### Props
|
|
38
|
+
|
|
39
|
+
Props(React Component에 전달되는 값)
|
|
40
|
+
|
|
41
|
+
적용 조건: React 프로젝트에서만 사용한다.
|
|
42
|
+
|
|
43
|
+
### Hook
|
|
44
|
+
|
|
45
|
+
Hook(React의 상태나 기능을 재사용하기 위한 기능)
|
|
46
|
+
|
|
47
|
+
적용 조건: React 프로젝트에서만 사용한다.
|
|
48
|
+
|
|
49
|
+
### Event
|
|
50
|
+
|
|
51
|
+
Event(클릭이나 입력처럼 프로그램에서 발생한 동작이나 신호)
|
|
52
|
+
|
|
53
|
+
문맥에 따라 사용자 동작인지 시스템 신호인지 확인한다.
|
|
54
|
+
|
|
55
|
+
### Handler
|
|
56
|
+
|
|
57
|
+
Handler(특정 동작이 발생했을 때 실행되는 기능)
|
|
58
|
+
|
|
59
|
+
### State
|
|
60
|
+
|
|
61
|
+
State(화면이나 기능이 현재 가지고 있는 값이나 상태)
|
|
62
|
+
|
|
63
|
+
현재 프로젝트에서 입력값, 로그인 상태, 검색 진행 상태 중 무엇을 뜻하는지 확인한다.
|
|
64
|
+
|
|
65
|
+
### Layout
|
|
66
|
+
|
|
67
|
+
Layout(화면 요소를 배치하는 구조)
|
|
68
|
+
|
|
69
|
+
## 2. 서버와 데이터
|
|
70
|
+
|
|
71
|
+
### API
|
|
72
|
+
|
|
73
|
+
API(프로그램끼리 정보를 주고받는 연결 통로)
|
|
74
|
+
|
|
75
|
+
### Endpoint
|
|
76
|
+
|
|
77
|
+
Endpoint(API 요청을 보내거나 받는 구체적인 주소)
|
|
78
|
+
|
|
79
|
+
### Request
|
|
80
|
+
|
|
81
|
+
Request(프로그램에 작업이나 정보를 요청하는 것)
|
|
82
|
+
|
|
83
|
+
### Response
|
|
84
|
+
|
|
85
|
+
Response(요청에 대해 프로그램이 돌려주는 결과)
|
|
86
|
+
|
|
87
|
+
### Server
|
|
88
|
+
|
|
89
|
+
Server(요청을 받아 처리하고 결과를 돌려주는 프로그램)
|
|
90
|
+
|
|
91
|
+
### Client
|
|
92
|
+
|
|
93
|
+
Client(서버에 요청을 보내고 결과를 사용하는 프로그램이나 화면)
|
|
94
|
+
|
|
95
|
+
### Database
|
|
96
|
+
|
|
97
|
+
Database(프로그램의 정보를 저장하고 관리하는 시스템)
|
|
98
|
+
|
|
99
|
+
### Schema
|
|
100
|
+
|
|
101
|
+
Schema(데이터가 어떤 항목과 구조로 저장되는지 정한 규칙)
|
|
102
|
+
|
|
103
|
+
### Query
|
|
104
|
+
|
|
105
|
+
Query(데이터를 조회하거나 변경하기 위해 보내는 요청)
|
|
106
|
+
|
|
107
|
+
### Migration
|
|
108
|
+
|
|
109
|
+
Migration(데이터베이스 구조를 변경하고 적용하는 작업)
|
|
110
|
+
|
|
111
|
+
### Cache
|
|
112
|
+
|
|
113
|
+
Cache(다시 사용할 정보를 빠르게 가져오도록 임시로 저장하는 기능)
|
|
114
|
+
|
|
115
|
+
### 입력 검증
|
|
116
|
+
|
|
117
|
+
입력 검증(입력한 값이 필요한 조건에 맞는지 먼저 확인하는 기능)
|
|
118
|
+
|
|
119
|
+
시나리오 B에서는 다음 의미를 유지한다.
|
|
120
|
+
|
|
121
|
+
> 검색어가 필요한 조건에 맞는지 검색 실행 전에 먼저 확인하는 기능
|
|
122
|
+
|
|
123
|
+
### Dependency
|
|
124
|
+
|
|
125
|
+
Dependency(프로젝트가 사용하기 위해 의존하는 다른 코드나 패키지)
|
|
126
|
+
|
|
127
|
+
### Package
|
|
128
|
+
|
|
129
|
+
Package(설치해서 사용할 수 있도록 묶어 놓은 코드와 설정)
|
|
130
|
+
|
|
131
|
+
### Framework
|
|
132
|
+
|
|
133
|
+
Framework(프로그램을 일정한 구조로 만들도록 도와주는 개발 기반)
|
|
134
|
+
|
|
135
|
+
### Library
|
|
136
|
+
|
|
137
|
+
Library(특정 기능을 가져다 사용할 수 있는 코드 모음)
|
|
138
|
+
|
|
139
|
+
## 3. 로그인과 보안
|
|
140
|
+
|
|
141
|
+
### Authentication
|
|
142
|
+
|
|
143
|
+
Authentication(사용자가 누구인지 확인하는 과정)
|
|
144
|
+
|
|
145
|
+
한국어 보고서에서는 `인증(Authentication, 사용자가 누구인지 확인하는 과정)`처럼 쓸 수 있다.
|
|
146
|
+
|
|
147
|
+
### Authorization
|
|
148
|
+
|
|
149
|
+
Authorization(확인된 사용자가 어떤 기능을 사용할 수 있는지 판단하는 과정)
|
|
150
|
+
|
|
151
|
+
한국어 보고서에서는 `권한 확인(Authorization, 사용자가 해당 기능을 사용할 수 있는지 판단하는 과정)`처럼 쓸 수 있다.
|
|
152
|
+
|
|
153
|
+
### Session
|
|
154
|
+
|
|
155
|
+
Session(여러 요청을 같은 사용자나 작업의 흐름으로 연결하는 정보)
|
|
156
|
+
|
|
157
|
+
로그인 문맥에서는 로그인 상태를 일정 시간 유지하는 정보라는 뜻으로 설명할 수 있다.
|
|
158
|
+
|
|
159
|
+
### Token
|
|
160
|
+
|
|
161
|
+
Token(인증이나 접근 권한을 확인할 때 사용하는 값)
|
|
162
|
+
|
|
163
|
+
실제 Token 값은 보고서에 출력하지 않는다. 현재 프로젝트에서 다른 용도로 사용되면 그 문맥을 우선한다.
|
|
164
|
+
|
|
165
|
+
### Cookie
|
|
166
|
+
|
|
167
|
+
Cookie(브라우저가 로그인 상태나 설정을 기억하기 위해 저장하는 작은 정보)
|
|
168
|
+
|
|
169
|
+
### Middleware
|
|
170
|
+
|
|
171
|
+
Middleware(요청과 실제 기능 사이에서 추가 확인이나 처리를 하는 중간 기능)
|
|
172
|
+
|
|
173
|
+
처리가 실행 전인지, 실행 후인지, 요청과 응답 모두에 적용되는지 현재 코드를 확인한다.
|
|
174
|
+
|
|
175
|
+
### Permission
|
|
176
|
+
|
|
177
|
+
Permission(사용자가 특정 기능을 사용할 수 있는 권한)
|
|
178
|
+
|
|
179
|
+
### Secret
|
|
180
|
+
|
|
181
|
+
Secret(외부에 공개하면 안 되는 민감한 값)
|
|
182
|
+
|
|
183
|
+
예: API 키, 비밀번호, 접근 토큰, 인증 쿠키, 연결 문자열.
|
|
184
|
+
|
|
185
|
+
### Environment Variable
|
|
186
|
+
|
|
187
|
+
Environment Variable(코드 밖에서 설정값이나 비밀 값을 전달하는 방식)
|
|
188
|
+
|
|
189
|
+
실제 값은 보고서에 표시하지 않고 변수 이름만 표시한다.
|
|
190
|
+
|
|
191
|
+
## 4. 실행과 검증
|
|
192
|
+
|
|
193
|
+
### Runtime
|
|
194
|
+
|
|
195
|
+
Runtime(프로그램이 실제로 실행되는 환경)
|
|
196
|
+
|
|
197
|
+
### Build
|
|
198
|
+
|
|
199
|
+
Build(작성한 코드를 실행하거나 배포할 수 있는 형태로 준비하는 과정)
|
|
200
|
+
|
|
201
|
+
### Compile
|
|
202
|
+
|
|
203
|
+
Compile(작성한 코드를 다른 실행 가능한 형태로 바꾸는 과정)
|
|
204
|
+
|
|
205
|
+
### Unit Test
|
|
206
|
+
|
|
207
|
+
Unit Test(작은 기능 하나가 올바르게 작동하는지 확인하는 자동 테스트)
|
|
208
|
+
|
|
209
|
+
### Integration Test
|
|
210
|
+
|
|
211
|
+
Integration Test(여러 기능이 연결됐을 때 함께 작동하는지 확인하는 테스트)
|
|
212
|
+
|
|
213
|
+
### Lint
|
|
214
|
+
|
|
215
|
+
Lint(코드 형식이나 잠재적인 문제를 자동으로 검사하는 도구)
|
|
216
|
+
|
|
217
|
+
### Type Check
|
|
218
|
+
|
|
219
|
+
Type Check(코드에서 사용하는 값의 종류가 서로 맞는지 검사하는 과정)
|
|
220
|
+
|
|
221
|
+
### Refactoring
|
|
222
|
+
|
|
223
|
+
Refactoring(기능을 바꾸지 않는 것을 목표로 코드 구조를 정리하는 작업)
|
|
224
|
+
|
|
225
|
+
Refactoring 후 기능이 실제로 유지됐는지는 별도 검증이 필요하다.
|
|
226
|
+
|
|
227
|
+
## 5. Git과 변경
|
|
228
|
+
|
|
229
|
+
### Diff
|
|
230
|
+
|
|
231
|
+
Diff(수정 전과 수정 후의 차이)
|
|
232
|
+
|
|
233
|
+
### Commit
|
|
234
|
+
|
|
235
|
+
Commit(Git에 변경 내용을 하나의 기록으로 저장하는 것)
|
|
236
|
+
|
|
237
|
+
### Branch
|
|
238
|
+
|
|
239
|
+
Branch(코드 변경을 분리해 작업하는 개발 흐름 또는 기록)
|
|
240
|
+
|
|
241
|
+
Branch를 실제 별도 폴더나 작업 공간으로 설명하지 않는다.
|
|
242
|
+
|
|
243
|
+
### Merge
|
|
244
|
+
|
|
245
|
+
Merge(분리해서 작업한 변경 내용을 하나의 흐름으로 합치는 작업)
|
|
246
|
+
|
|
247
|
+
## 6. 배포와 운영
|
|
248
|
+
|
|
249
|
+
### Deploy
|
|
250
|
+
|
|
251
|
+
Deploy(프로그램을 실제 사용 가능한 환경에 반영하는 작업)
|
|
252
|
+
|
|
253
|
+
### Production
|
|
254
|
+
|
|
255
|
+
Production(실제 사용자가 이용하는 운영 환경)
|
|
256
|
+
|
|
257
|
+
### Staging
|
|
258
|
+
|
|
259
|
+
Staging(실제 배포 전에 운영 환경과 비슷하게 시험하는 환경)
|
|
260
|
+
|
|
261
|
+
### Hosting
|
|
262
|
+
|
|
263
|
+
Hosting(웹사이트나 프로그램을 실행할 공간을 제공하는 서비스)
|
|
264
|
+
|
|
265
|
+
### Domain
|
|
266
|
+
|
|
267
|
+
Domain(사용자가 웹사이트에 접속할 때 사용하는 주소)
|
|
268
|
+
|
|
269
|
+
### Rollback
|
|
270
|
+
|
|
271
|
+
Rollback(문제가 생긴 변경을 이전 상태로 되돌리는 작업)
|
|
272
|
+
|
|
273
|
+
### Log
|
|
274
|
+
|
|
275
|
+
Log(프로그램에서 발생한 동작, 상태 또는 오류를 기록한 내용)
|
|
276
|
+
|
|
277
|
+
## 7. 문맥 주의 용어
|
|
278
|
+
|
|
279
|
+
다음 용어는 하나의 정의로 고정하지 않는다.
|
|
280
|
+
|
|
281
|
+
| 용어 | 확인할 문맥 |
|
|
282
|
+
|---|---|
|
|
283
|
+
| Route | 웹 페이지 주소, 서버 API 경로, 화면 이동 규칙 중 무엇인지 확인 |
|
|
284
|
+
| State | 입력값, 로그인 상태, 화면 표시 상태 등 무엇을 기억하는지 확인 |
|
|
285
|
+
| Event | 사용자 동작인지 시스템 신호인지 확인 |
|
|
286
|
+
| Session | 로그인 유지 정보인지, 일반 작업 흐름인지 확인 |
|
|
287
|
+
| Token | 인증 토큰인지, 다른 용도의 식별 값인지 확인 |
|
|
288
|
+
| Middleware | 요청 전 처리인지, 요청·응답을 함께 처리하는지 확인 |
|
|
289
|
+
|
|
290
|
+
문맥을 확인하지 못하면 다음과 같이 표시한다.
|
|
291
|
+
|
|
292
|
+
> 이 용어가 현재 프로젝트에서 정확히 어떤 역할을 하는지는 확인하지 못했습니다.
|
|
293
|
+
|
|
294
|
+
## 잘못된 설명을 피하는 예
|
|
295
|
+
|
|
296
|
+
| 피해야 할 표현 | 권장 방향 |
|
|
297
|
+
|---|---|
|
|
298
|
+
| GUI는 AI와 대화하는 공간이다 | GUI는 사용자가 보고 조작하는 프로그램 화면이다 |
|
|
299
|
+
| Database는 컴퓨터의 머리다 | Database는 정보를 저장하고 관리하는 시스템이다 |
|
|
300
|
+
| Middleware는 요청을 가로채는 계층이다 | Middleware는 요청과 기능 사이에서 추가 처리를 하는 중간 기능이다 |
|
|
301
|
+
| Branch는 별도 작업 폴더다 | Branch는 변경을 분리하는 개발 흐름 또는 기록이다 |
|
|
302
|
+
| 입력 검증은 Submit handler에 guard를 넣는 것이다 | 입력한 값이 조건에 맞는지 실행 전에 확인하는 기능이다 |
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# JuTell — Report Format Reference
|
|
2
|
+
|
|
3
|
+
이 문서는 `docs/BEGINNER_REPORT_SPEC.md`의 짧은 실행용 형식이다. 상황에 맞는 형식만 사용하고 내용을 반복하지 않는다.
|
|
4
|
+
|
|
5
|
+
## 1. 정보 체계
|
|
6
|
+
|
|
7
|
+
서로 다른 네 가지 정보를 섞지 않는다.
|
|
8
|
+
|
|
9
|
+
* 근거 출처: 파일, Git, 명령, 브라우저 또는 실제 실행, 코드 예상, 사용자 제공 정보
|
|
10
|
+
* 확인 상태: 확인됨, 일부 확인, 확인하지 못함
|
|
11
|
+
* 사용자 행동: 사용자 확인 필요, 추가 테스트 권장, 설정 필요, 사용자 결정 필요
|
|
12
|
+
* 보고서 상태: 확인 완료, 추가 확인 필요, 일부 확인, 작업 보류, 범위 밖
|
|
13
|
+
|
|
14
|
+
검증 결과는 별도로 표시한다.
|
|
15
|
+
|
|
16
|
+
* 통과
|
|
17
|
+
* 일부 통과
|
|
18
|
+
* 실패
|
|
19
|
+
* 실행하지 못함
|
|
20
|
+
* 실행하지 않음
|
|
21
|
+
* 검증 수단 없음
|
|
22
|
+
|
|
23
|
+
중요한 주장에는 가능한 경우 근거와 확인 상태를 함께 적는다. 코드만 보고 예상한 내용은 `근거: 코드 예상`과 `확인 상태: 확인하지 못함`으로 표시한다.
|
|
24
|
+
|
|
25
|
+
## 2. 단순 작업 보고
|
|
26
|
+
|
|
27
|
+
문구, 색상, 작은 화면 배치처럼 위험이 낮은 작업에 사용한다.
|
|
28
|
+
|
|
29
|
+
```md
|
|
30
|
+
## 변경 요약
|
|
31
|
+
<무엇을 바꿨는지 한두 문장>
|
|
32
|
+
|
|
33
|
+
## 사용자에게 달라지는 점
|
|
34
|
+
<확인됨 또는 예상됨을 표시한 화면 변화>
|
|
35
|
+
|
|
36
|
+
## 프로그램 내부에서 달라진 점
|
|
37
|
+
<내부 기능 변화 또는 없음>
|
|
38
|
+
|
|
39
|
+
## 주요 수정 파일
|
|
40
|
+
- `<파일>` — <역할 한 문장>
|
|
41
|
+
|
|
42
|
+
## 검증 결과
|
|
43
|
+
- 근거: <출처>
|
|
44
|
+
- 확인 상태: <상태>
|
|
45
|
+
- <실행한 검증과 실행하지 않은 검증>
|
|
46
|
+
|
|
47
|
+
## 위험과 사용자 확인
|
|
48
|
+
- 위험도: <낮음/중간/높음/판정 불가>
|
|
49
|
+
- 근거: <짧은 이유>
|
|
50
|
+
- <필요한 사용자 행동>
|
|
51
|
+
- 보고서 상태: <상태>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
단순 작업은 기본 항목마다 1~2문장, 주요 파일 최대 3개, 전체 기본 12문장 또는 약 25줄을 우선한다. 안전 문제나 중요한 실패가 있으면 정확한 경고를 우선한다.
|
|
55
|
+
|
|
56
|
+
## 3. 일반 작업 보고
|
|
57
|
+
|
|
58
|
+
기능 동작이 바뀌거나 여러 파일이 수정된 경우 사용한다.
|
|
59
|
+
|
|
60
|
+
* 기본 6개 항목을 유지한다.
|
|
61
|
+
* 주요 파일은 최대 5개를 설명한다.
|
|
62
|
+
* 검증 결과, 미확인 항목, 위험도 근거를 분리한다.
|
|
63
|
+
* 나머지 파일은 필요할 때 목록이나 개수로 요약한다.
|
|
64
|
+
|
|
65
|
+
## 4. 최소 보고
|
|
66
|
+
|
|
67
|
+
사용자가 상세 보고를 생략해달라고 요청한 경우 사용한다.
|
|
68
|
+
|
|
69
|
+
```md
|
|
70
|
+
작업 완료 여부: <완료/미완료>
|
|
71
|
+
주요 수정 파일: <파일 또는 확인하지 못함>
|
|
72
|
+
중요한 실패 또는 확인하지 못한 항목: <내용 또는 없음>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
안전 문제, 데이터 손실 가능성, 비밀정보 노출, 핵심 검증 실패는 최소 보고에서도 생략하지 않는다.
|
|
76
|
+
|
|
77
|
+
## 5. 계획 요청
|
|
78
|
+
|
|
79
|
+
실제 변경 전에는 완료 보고서처럼 쓰지 않는다.
|
|
80
|
+
|
|
81
|
+
* 변경 목표
|
|
82
|
+
* 예상 변경 범위
|
|
83
|
+
* 영향을 받을 수 있는 기능
|
|
84
|
+
* 확인할 파일
|
|
85
|
+
* 필요한 검증
|
|
86
|
+
* 아직 결정되지 않은 사항
|
|
87
|
+
|
|
88
|
+
## 6. 코드 또는 파일 설명 요청
|
|
89
|
+
|
|
90
|
+
전체 작업 보고서를 강제로 만들지 않는다. 요청한 범위에서 필요한 항목만 설명한다.
|
|
91
|
+
|
|
92
|
+
* 이 코드나 파일의 역할
|
|
93
|
+
* 언제 사용되는지
|
|
94
|
+
* 입력과 결과 중 필요한 내용
|
|
95
|
+
* 수정 시 영향 가능성
|
|
96
|
+
|
|
97
|
+
여러 코드 블록을 한 줄씩 설명하지 않고 기능 블록으로 묶는다.
|
|
98
|
+
|
|
99
|
+
## 6.5 코드 또는 Diff 설명
|
|
100
|
+
|
|
101
|
+
코드·Diff 원문을 요청받았거나 실제로 제시한 경우에만 적용한다. 코드 원문을 제시하지 않은 일반 완료 보고에는 강제하지 않는다.
|
|
102
|
+
|
|
103
|
+
* 모든 줄을 하나씩 해설하지 않는다.
|
|
104
|
+
* 기능 단위로 묶어 설명한다.
|
|
105
|
+
* 파일 역할
|
|
106
|
+
* 변경 전 문제
|
|
107
|
+
* 변경한 내용
|
|
108
|
+
* 사용자에게 보이는 변화
|
|
109
|
+
* 수정 시 주의할 영향
|
|
110
|
+
* 확인된 사실과 예상 구분
|
|
111
|
+
* Diff가 매우 길면 핵심 구간만 설명하고 전체 원문 반복 금지
|
|
112
|
+
|
|
113
|
+
```md
|
|
114
|
+
### 변경 내용 설명
|
|
115
|
+
|
|
116
|
+
- 이 코드는 <파일 역할>.
|
|
117
|
+
- 기존에는 <변경 전 문제>.
|
|
118
|
+
- 이제 <변경한 내용>과 <사용자에게 보이는 변화>.
|
|
119
|
+
- 주의: <수정 시 영향 또는 확인 상태>.
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## 6.6 다음 행동 제안
|
|
123
|
+
|
|
124
|
+
`nextActionSuggestions`가 활성일 때 보고서 마지막에 한 문장 제안을 **최대 3개**만 추가한다. 다음 경우에만 추가한다.
|
|
125
|
+
|
|
126
|
+
* 사용자가 직접 확인해야 할 항목이 남은 경우
|
|
127
|
+
* 검증되지 않아 보류된 항목이 있는 경우
|
|
128
|
+
* 설정이 필요한 경우
|
|
129
|
+
* 데이터 손실·보안 위험이 확인된 경우
|
|
130
|
+
|
|
131
|
+
```md
|
|
132
|
+
## 다음 행동 제안
|
|
133
|
+
- 실제 화면에서 검색 버튼을 눌러 확인해주세요.
|
|
134
|
+
- `WEATHER_API_KEY` 설정을 마치면 결과를 다시 확인해주세요.
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
제안은 보고서에 이미 있는 확인 항목 중에서만 고르고, 추측이나 새 작업을 제안하지 않는다. 해당하지 않으면 섹션을 만들지 않는다.
|
|
138
|
+
|
|
139
|
+
## 6.7 설명형 변경 요약
|
|
140
|
+
|
|
141
|
+
`explainedDiff` Feature가 활성일 때 의미 있는 변경(기능 동작·화면 변화·데이터 처리 변화)은 무엇을 바꿨나요·왜 바꿨나요·어디를 바꿨나요·실제 중요한 변경 순으로 묶어 설명할 수 있다.
|
|
142
|
+
|
|
143
|
+
* 근거가 없는 변경 이유는 추측하지 않고 "변경 이유는 Agent 결과에서 확인되지 않았습니다."로 표시한다.
|
|
144
|
+
* 문구·색상·경로처럼 직접 다듬을 수 있는 위치의 코드 근거가 있을 때만 "내가 직접 다듬고 싶다면?"을 덧붙인다.
|
|
145
|
+
* 단순 작업에는 이 형식을 강제하지 않고 기존 6개 항목을 유지한다.
|
|
146
|
+
|
|
147
|
+
형식과 예시는 `references/explained-diff-format.md`를 따른다.
|
|
148
|
+
|
|
149
|
+
## 7. 금지 표현
|
|
150
|
+
|
|
151
|
+
근거가 없으면 다음 표현을 사용하지 않는다.
|
|
152
|
+
|
|
153
|
+
* 완벽하게 작동합니다
|
|
154
|
+
* 모든 문제가 해결됐습니다
|
|
155
|
+
* 오류가 전혀 없습니다
|
|
156
|
+
* 기존 기능에 영향이 없습니다
|
|
157
|
+
* 배포해도 됩니다
|
|
158
|
+
* 안전합니다
|
|
159
|
+
* 모든 테스트가 통과했습니다
|
|
160
|
+
* 화면이 정상적으로 표시됩니다
|
|
161
|
+
|
|
162
|
+
대신 확인한 범위, 실행한 검증, 남은 미확인 사항을 적는다.
|
|
163
|
+
|
|
164
|
+
## 8. 로컬 Feature 설정
|
|
165
|
+
|
|
166
|
+
프로젝트 루트의 `.jutell.json` 우선, 없으면 `.beginner-bridge.json`을 확인한다.
|
|
167
|
+
|
|
168
|
+
* 파일이 없으면 `balanced` 기본값을 사용한다.
|
|
169
|
+
* JSON, Profile, Feature ID, 값 형식 또는 limits가 잘못되면 설정 전체를 추측하지 않고 `balanced`로 진행한다.
|
|
170
|
+
* 잘못된 설정이 있었을 때만 설정 문제를 짧게 알리고 설정 파일 전체를 출력하지 않는다.
|
|
171
|
+
* 명시적 `features`와 `limits`는 Profile 기본값보다 우선한다.
|
|
172
|
+
* 사용자가 요청한 보고 형식과 안전상 강제 보고 항목은 Feature를 끄더라도 적용한다.
|
|
173
|
+
* 실패, 핵심 검증 실패, 중요한 미확인 사항, 높은 위험·판정 불가, 비밀정보·데이터 손실 위험, 범위 밖 변경과 작업 보류 사유는 숨기지 않는다.
|
|
174
|
+
* limits는 선택 정보의 길이와 수에 적용하며 안전상 강제 정보에는 적용하지 않는다.
|
|
175
|
+
|
|
176
|
+
Feature ID별 상세 예외는 `references/feature-registry.md`, 전체 정책은 `docs/FEATURE_CONFIGURATION.md`를 참조한다.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# JuTell — Risk Level Guide
|
|
2
|
+
|
|
3
|
+
이 문서는 `docs/BEGINNER_REPORT_SPEC.md`의 위험도 규칙을 짧게 적용하기 위한 reference다. 위험도는 정상 작동 여부가 아니라 변경이 기존 기능에 미칠 수 있는 영향의 크기다.
|
|
4
|
+
|
|
5
|
+
## 1. 낮음
|
|
6
|
+
|
|
7
|
+
프로그램 핵심 동작에 영향을 줄 가능성이 작은 변경이다.
|
|
8
|
+
|
|
9
|
+
* 일반 문구
|
|
10
|
+
* 색상, 여백, 단순 화면 배치
|
|
11
|
+
* 문서나 주석
|
|
12
|
+
* 테스트 설명
|
|
13
|
+
|
|
14
|
+
예: 로그인 버튼의 문구와 `#2563EB` 색상만 변경하고 로그인 처리 코드는 건드리지 않은 경우.
|
|
15
|
+
|
|
16
|
+
## 2. 중간
|
|
17
|
+
|
|
18
|
+
특정 기능이나 한정된 사용자 흐름의 동작에 영향을 줄 수 있는 변경이다.
|
|
19
|
+
|
|
20
|
+
* 버튼 동작
|
|
21
|
+
* 입력 검증
|
|
22
|
+
* 특정 페이지 이동
|
|
23
|
+
* 특정 기능의 상태 처리
|
|
24
|
+
* 특정 페이지의 데이터 표시
|
|
25
|
+
* 파일 업로드
|
|
26
|
+
* 로컬 저장 방식
|
|
27
|
+
|
|
28
|
+
예: 검색 실행 전에 빈 검색어인지 확인하는 조건을 추가한 경우.
|
|
29
|
+
|
|
30
|
+
## 3. 높음
|
|
31
|
+
|
|
32
|
+
여러 기능, 중요한 데이터, 보안 또는 운영 환경에 영향을 줄 수 있는 변경이다.
|
|
33
|
+
|
|
34
|
+
* 로그인과 인증
|
|
35
|
+
* 권한
|
|
36
|
+
* 결제
|
|
37
|
+
* 데이터베이스 구조
|
|
38
|
+
* 공통 상태 관리
|
|
39
|
+
* 공통 API 처리
|
|
40
|
+
* 외부 서비스 연결
|
|
41
|
+
* 비밀정보 처리
|
|
42
|
+
* 배포 설정
|
|
43
|
+
* 여러 기능이 사용하는 공통 로직
|
|
44
|
+
|
|
45
|
+
## 4. 판정 불가
|
|
46
|
+
|
|
47
|
+
실행 환경이 없다는 이유만으로 판정 불가로 만들지 않는다. 코드나 변경 범위 자체를 충분히 읽지 못해 영향도를 판단할 근거가 없을 때 사용한다.
|
|
48
|
+
|
|
49
|
+
예:
|
|
50
|
+
|
|
51
|
+
* 변경 파일을 열 수 없음
|
|
52
|
+
* 기존 변경과 이번 변경을 구분할 수 없고 영향 범위도 확인하지 못함
|
|
53
|
+
* 프로젝트 구조가 불명확해 수정 대상의 역할을 파악할 수 없음
|
|
54
|
+
|
|
55
|
+
코드를 읽었지만 테스트나 브라우저를 실행하지 못한 경우에는 가능한 범위에서 위험도를 판단하고, 검증 상태를 별도로 표시한다.
|
|
56
|
+
|
|
57
|
+
## 5. 여러 조건이 겹칠 때
|
|
58
|
+
|
|
59
|
+
여러 위험도 조건에 해당하면 가장 높은 위험도를 적용한다. 파일 이름이 아니라 실제 변경 내용을 기준으로 한다.
|
|
60
|
+
|
|
61
|
+
단, 인증 파일 안의 주석만 수정한 것처럼 실제 변경 내용이 문서·주석 수준인 경우에는 변경 내용에 맞춰 낮음으로 판단할 수 있다.
|
|
62
|
+
|
|
63
|
+
위험도에는 한두 문장의 근거를 함께 작성한다.
|
|
64
|
+
|
|
65
|
+
## 6. 검증 가능성과 분리
|
|
66
|
+
|
|
67
|
+
위험도와 검증 가능성은 서로 다른 판단이다.
|
|
68
|
+
|
|
69
|
+
* 위험도: 변경이 얼마나 넓고 중요한 기능에 영향을 줄 수 있는가
|
|
70
|
+
* 검증 가능성: 테스트, 브라우저, 권한, 도구로 실제 결과를 확인할 수 있는가
|
|
71
|
+
|
|
72
|
+
예:
|
|
73
|
+
|
|
74
|
+
* 브라우저를 실행하지 못했지만 로그인 처리 코드를 읽음 → 위험도 높음, 화면 검증은 확인하지 못함
|
|
75
|
+
* 파일을 읽지 못해 변경 범위를 모름 → 위험도 판정 불가
|
|
76
|
+
|
|
77
|
+
## 7. V0.1 시나리오
|
|
78
|
+
|
|
79
|
+
### 시나리오 A
|
|
80
|
+
|
|
81
|
+
로그인 버튼 문구와 색상만 변경하면 낮음이다. 로그인 처리, 인증, 세션, 공통 버튼 동작까지 변경하면 실제 변경 범위에 따라 중간 또는 높음이다.
|
|
82
|
+
|
|
83
|
+
### 시나리오 B
|
|
84
|
+
|
|
85
|
+
검색어가 비어 있을 때 검색 요청을 막는 입력 조건 변경은 중간이다. 공통 검색 로직, 검색 API, 데이터 저장 방식을 함께 변경하면 높음으로 올린다.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# 문제(버그) 신고서
|
|
2
|
+
|
|
3
|
+
> 작성법: `[ ]`에 체크하고, 빈칸은 쉬운 말로 채웁니다. 모르는 항목은 비워 두세요.
|
|
4
|
+
|
|
5
|
+
## 1. 지금 만들고 있는 것
|
|
6
|
+
|
|
7
|
+
지금 만들고 있는 화면이나 프로젝트를 한두 문장으로 설명해 주세요.
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
(예: 사용자가 검색어를 입력하면 결과를 보여주는 화면)
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
- [ ] 잘 모르겠음
|
|
14
|
+
- [ ] AI가 먼저 확인 후 제안
|
|
15
|
+
|
|
16
|
+
## 2. 어떤 문제가 있나요?
|
|
17
|
+
|
|
18
|
+
무엇이 어떻게 이상한지 있는 그대로 적어 주세요. 어디서부터 잘못됐는지 몰라도 괜찮습니다.
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
(예: 검색 버튼을 눌러도 아무 반응이 없다)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
- [ ] 정확히 무엇이 문제인지 모르겠음 (어떤 점이 이상한지 느껴지지만 특정하지 못함)
|
|
25
|
+
- [ ] 잘 모르겠음
|
|
26
|
+
- [ ] AI가 먼저 확인 후 제안
|
|
27
|
+
|
|
28
|
+
## 3. 언제 문제가 생기나요?
|
|
29
|
+
|
|
30
|
+
문제가 생기는 상황을 가능한 한 자세히 적어 주세요. 기억나는 순서대로 적으면 됩니다.
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
(예: 검색어를 입력하고 Enter를 누르면 화면이 멈춘다. 몇 초 뒤 다시 동작한다)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
- [ ] 항상 발생함
|
|
37
|
+
- [ ] 가끔 발생함
|
|
38
|
+
- [ ] 특정 조건에서만 발생함 (아래에 조건을 적어 주세요)
|
|
39
|
+
- [ ] 정확히 언제인지 모르겠음
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
(특정 조건이 있으면 여기에 적기)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## 4. 원하는 결과
|
|
46
|
+
|
|
47
|
+
문제가 해결되면 어떻게 동작하길 원하는지 적어 주세요.
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
(예: 버튼을 누르면 바로 검색 결과가 보인다)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
- [ ] 잘 모르겠음 (AI가 원래 의도된 동작을 확인해 알려주기)
|
|
54
|
+
|
|
55
|
+
## 5. 반드시 유지할 부분
|
|
56
|
+
|
|
57
|
+
이번 수정에서 지금 있는 것 중 없어지면 안 되는 것을 적어 주세요.
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
(예: 검색 결과 정렬 순서는 그대로 유지)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
- [ ] 현재 상태 유지
|
|
64
|
+
- [ ] 요청하지 않음
|
|
65
|
+
|
|
66
|
+
## 6. 사용자가 직접 확인할 부분
|
|
67
|
+
|
|
68
|
+
수정 뒤 사용자가 직접 눌러 보거나 확인해야 하는 것을 적어 주세요.
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
(예: 검색 버튼을 눌렀을 때 결과가 보이는지)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
- [ ] 요청하지 않음
|
|
75
|
+
|
|
76
|
+
## 7. AI가 먼저 확인할 질문
|
|
77
|
+
|
|
78
|
+
- [ ] AI가 먼저 문제를 재현해 보고 원인을 찾아 알려주세요.
|
|
79
|
+
- [ ] 문제가 데이터 손실이나 보안과 관련될 가능성이 있는지 확인해 알려주세요.
|
|
80
|
+
- [ ] 원인을 못 찾으면 어떤 정보가 더 필요한지 알려주세요.
|
|
81
|
+
- [ ] AI가 먼저 확인 후 제안 (위 항목 대신 AI 판단에 맡김)
|
|
82
|
+
|
|
83
|
+
## 8. 최종 요청문
|
|
84
|
+
|
|
85
|
+
아래를 복사해서 사용 중인 AI Agent에 붙여넣으세요. `( )` 자리에 위 내용을 합쳐서 적어도 됩니다.
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
이 프로젝트에서 다음 문제를 확인하고 고쳐주세요.
|
|
89
|
+
|
|
90
|
+
[문제 내용] (2번 항목 내용)
|
|
91
|
+
[발생 상황] (3번 항목 내용)
|
|
92
|
+
[원하는 결과] (4번 항목 내용)
|
|
93
|
+
[유지할 부분] (5번 항목, 없으면 "없음")
|
|
94
|
+
[사용자 확인] (6번 항목, 없으면 "없음")
|
|
95
|
+
|
|
96
|
+
체크되지 않은 항목은 비워 두었습니다.
|
|
97
|
+
먼저 문제를 재현하고 원인을 찾은 뒤 수정 계획을 알려주세요.
|
|
98
|
+
원인을 확정하기 전에는 추측을 확정된 사실처럼 말하지 말아주세요.
|
|
99
|
+
데이터 손실이나 보안 관련 가능성이 있으면 작업 전에 먼저 알려주세요.
|
|
100
|
+
```
|