@bifos/dooray-cli 0.18.0 → 0.19.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/README.md CHANGED
@@ -41,6 +41,10 @@ printf '%s' "$TOKEN" | dooray config set api-key -
41
41
  토큰을 명령 인자로 넘기면 셸 기록과 프로세스 목록에 남는다. 에이전트가 대신 실행하면 실행 로그에도 남는다.
42
42
  stdin 으로 받은 값은 양끝 공백을 지운 뒤 저장하고, 비어 있으면 저장하지 않고 종료 코드 3 으로 끝낸다.
43
43
 
44
+ `api-key` 나 `base-url` 을 바꾸면 캐시를 함께 비우고 그 사실을 알린다.
45
+ 캐시는 계정과 접속 환경별로 나뉘지 않아서, 비우지 않으면 이전 계정의 프로젝트와 멤버가 남아 잘못 매칭된다.
46
+ 같은 값을 다시 설정하는 경우와 최초 설정에서는 비우지 않는다.
47
+
44
48
  에이전트에서 쓰려면 스킬을 설치한다. Claude Code 가 이 CLI 의 사용법을 알게 된다.
45
49
 
46
50
  ```bash
@@ -100,7 +104,7 @@ Claude 데스크톱 앱은 사용자 컴퓨터의 파일과 명령을 기본 상
100
104
  ```
101
105
 
102
106
  에이전트가 알맞은 `dooray` 명령으로 옮기고, 필요하면 프로젝트 코드나 업무 번호를 먼저 조회한다.
103
- 업무 URL 을 그대로 붙여도 된다 에이전트가 URL 에서 대상을 찾아낸다.
107
+ 업무 URL 을 그대로 붙여도 된다. 에이전트가 URL 에서 대상을 찾아낸다.
104
108
 
105
109
  에이전트가 쓰는 명령 카탈로그와 판단 기준은 [스킬 문서](skills/dooray-cli/SKILL.md)에 있다.
106
110
 
@@ -115,6 +119,11 @@ dooray post get <project> 42 # 업무 상세
115
119
  dooray post create <project> --title "제목" # 업무 생성
116
120
  dooray post comment add <project> 42 --body "댓글"
117
121
  dooray wiki pages <project> # 위키 페이지 목록
122
+ dooray wiki page get --id <page-id> # 페이지 ID 하나로 조회 (project 불필요)
123
+ dooray wiki list --search 설계 # 위키 이름으로 찾기 (대소문자 무시)
124
+ dooray wiki page get --url "https://<tenant>.dooray.com/wiki/<wikiId>/<pageId>"
125
+ dooray wiki page move --id <page-id> --parent <parent-page-id>
126
+ dooray wiki page move --id <page-id> --parent <parent-page-id> --no-children
118
127
  dooray mail list --unread # 안 읽은 메일
119
128
  ```
120
129
 
@@ -169,6 +178,31 @@ CLI로 올린 파일은 댓글의 첨부 카드가 아니라 본문 링크로
169
178
  플래그가 없으면 삭제 API를 호출하기 전에 종료 코드 3으로 끝난다.
170
179
  기존 삭제 자동화에는 명시적인 yes 플래그를 추가해야 한다.
171
180
 
181
+ ### 프로젝트 태그 만들기
182
+
183
+ 업무에 붙일 태그를 CLI 에서 만든다.
184
+
185
+ ```bash
186
+ dooray project tags <project> # 태그 목록
187
+ dooray project tags list <project> # 같은 동작
188
+ dooray project tags create <project> --name "배포환경:staging" # 그룹에 속한 태그
189
+ dooray project tags create <project> --name "긴급" --color c6eab3 # 그룹 없는 태그
190
+ dooray project tags group <project> "배포환경" --select-one # 그룹에서 하나만 고르게
191
+ ```
192
+
193
+ `--name` 은 `"그룹명:태그명"` 형식이고 그룹명은 생략할 수 있다.
194
+ 같은 그룹명으로 여러 번 만들면 그 그룹에 태그가 쌓인다.
195
+ `--color` 를 생략하면 회색이 붙는다.
196
+
197
+ `group` 은 그룹의 필수 여부(`--mandatory`)와 단일 선택 여부(`--select-one`)를 바꾼다.
198
+ 해제는 `--no-mandatory` 와 `--no-select-one` 이고, 지정하지 않은 쪽은 그대로 둔다.
199
+ 태그가 하나도 없는 그룹은 대상이 되지 않는다.
200
+
201
+ 프로젝트 코드가 `list`, `create`, `group` 중 하나와 같으면 그 인자가 하위 명령으로 먼저 읽힌다.
202
+ 그때는 `dooray project tags list <project>` 로 목록을 조회한다.
203
+
204
+ 태그 이름·색상 수정과 태그 삭제는 Dooray API 에 경로가 없어 웹 설정 화면에서 한다.
205
+
172
206
  ## 프로젝트 구조
173
207
 
174
208
  ```
@@ -177,7 +211,8 @@ src/
177
211
  api/ Dooray REST API 클라이언트 (ky), IMAP·SMTP 클라이언트
178
212
  cache/ ~/.dooray/cache/ 파일 캐시
179
213
  config/ ~/.dooray/config.json 스키마와 읽기·쓰기
180
- resolvers/ 이름·이메일·URL 을 ID 로 바꾸는 계층
214
+ resolvers/ 이름·이메일·URL 을 ID 로 바꾸는 읽기 계층
215
+ services/ 상태를 바꾸는 API 를 호출하고 그 엔티티의 캐시를 지우는 계층
181
216
  commands/ Commander.js 명령 정의
182
217
  formatters/ 표·JSON·quiet 출력
183
218
  editor/ $EDITOR 연동
@@ -185,7 +220,10 @@ src/
185
220
  utils/ 에러, 스피너, 종료 코드
186
221
  ```
187
222
 
188
- 의존 방향은 `api/` `resolvers/` → `commands/` → `formatters/` 다.
223
+ 의존 방향은 읽기와 쓰기로 나뉜다.
224
+ 읽기는 `api/` → `resolvers/` → `commands/` → `formatters/` 다.
225
+ 쓰기는 `commands/` → `services/` → `api/` 와 `cache/` 다.
226
+ `services/` 는 `resolvers/` 를 의존하지 않는다. 이름을 ID 로 바꾸는 일과 바꾸는 일을 조합하는 것은 `commands/` 다.
189
227
 
190
228
  | 문서 | 담는 것 |
191
229
  | --- | --- |