@bifos/dooray-cli 0.14.1 → 0.15.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 +44 -17
- package/dist/index.js +838 -216
- package/package.json +3 -2
- package/skills/dooray-cli/SKILL.md +6 -0
- package/skills/dooray-cli/references/common.md +33 -0
package/README.md
CHANGED
|
@@ -24,11 +24,12 @@ dooray setup
|
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
아래 순서로 진행합니다:
|
|
27
|
+
|
|
27
28
|
1. API Endpoint 선택
|
|
28
29
|
2. API Key 입력
|
|
29
30
|
3. 연결 테스트
|
|
30
31
|
4. 메일 설정 (선택)
|
|
31
|
-
API 토큰은 `https://{tenant}.dooray.com/setting/api/token`에서 발급할 수 있습니다.
|
|
32
|
+
API 토큰은 `https://{tenant}.dooray.com/setting/api/token`에서 발급할 수 있습니다.
|
|
32
33
|
|
|
33
34
|
수동 설정도 가능합니다:
|
|
34
35
|
|
|
@@ -38,6 +39,25 @@ dooray config set api-key <YOUR_API_TOKEN>
|
|
|
38
39
|
dooray doctor
|
|
39
40
|
```
|
|
40
41
|
|
|
42
|
+
## Claude Code 스킬 관리
|
|
43
|
+
|
|
44
|
+
AI 에이전트용 스킬은 CLI와 별도로 상태를 확인하고 갱신할 수 있습니다.
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
dooray skill status # 설치 상태 확인
|
|
48
|
+
dooray skill install # 최초 설치
|
|
49
|
+
dooray skill update # 현재 CLI 버전의 스킬로 갱신
|
|
50
|
+
dooray skill status --json # 자동화용 상태 확인
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Node 버전 관리자를 사용하면 전역 npm 설치 경로가 Node 버전별로 달라질 수 있습니다.
|
|
54
|
+
스킬은 npm 패키지 경로를 직접 가리키지 않고 관리 저장소를 거쳐 연결됩니다.
|
|
55
|
+
절대 경로 `XDG_DATA_HOME`이 있으면 `$XDG_DATA_HOME/dooray-cli/skills/`를 사용하고, 없거나 상대 경로이면 `~/.local/share/dooray-cli/skills/`를 사용합니다.
|
|
56
|
+
그래서 Node 버전 경로가 바뀌어도 Claude Code 활성 링크는 안정적으로 유지됩니다.
|
|
57
|
+
다만 `npm install -g @bifos/dooray-cli@latest`로 CLI를 갱신한 뒤에는 새 스킬 파일을 반영하기 위해 `dooray skill update`를 명시적으로 실행하세요.
|
|
58
|
+
기존 경로가 직접 만든 파일이나 디렉터리라면 기본 갱신은 중단됩니다.
|
|
59
|
+
그 경우 내용을 확인한 뒤 `dooray skill update --force`를 사용하면 기존 항목을 `.backup-<timestamp>` 경로로 백업하고 교체합니다.
|
|
60
|
+
|
|
41
61
|
## 사용법 (Usage)
|
|
42
62
|
|
|
43
63
|
### 프로젝트
|
|
@@ -80,12 +100,12 @@ dooray post get <project> 42 --json # JSON 출력
|
|
|
80
100
|
|
|
81
101
|
#### 업무 식별 방식 (post 하위 16개 명령 공통)
|
|
82
102
|
|
|
83
|
-
| 방식
|
|
84
|
-
|
|
85
|
-
| `<project> <number>`
|
|
86
|
-
| Dooray URL positional | `dooray post get https://x.dooray.com/task/to/<postId>`
|
|
87
|
-
| `--id <postId>`
|
|
88
|
-
| `--url <url>`
|
|
103
|
+
| 방식 | 예시 |
|
|
104
|
+
| --------------------- | ------------------------------------------------------------- |
|
|
105
|
+
| `<project> <number>` | `dooray post get <project> 42` |
|
|
106
|
+
| Dooray URL positional | `dooray post get https://x.dooray.com/task/to/<postId>` |
|
|
107
|
+
| `--id <postId>` | `dooray post get --id <postId>` |
|
|
108
|
+
| `--url <url>` | `dooray post get --url https://x.dooray.com/task/to/<postId>` |
|
|
89
109
|
|
|
90
110
|
지원 URL 형식 3종 (positional 첫 인자 / `--url` 공통):
|
|
91
111
|
|
|
@@ -315,6 +335,7 @@ dooray post create <project> --title "..." --cc 1234567890123456789
|
|
|
315
335
|
```
|
|
316
336
|
|
|
317
337
|
분기 규칙 (`resolveMember` 자동 판단):
|
|
338
|
+
|
|
318
339
|
- `^\d{15,}$` — memberId 직접 사용
|
|
319
340
|
- `^[^\s@]+@[^\s@]+\.[^\s@]+$` — 이메일, `searchMembers` exact 조회
|
|
320
341
|
- 그 외 — 이름 부분일치
|
|
@@ -453,6 +474,7 @@ SNIPPET=$(dooray wiki page file upload <project> <page-id> --file ./diagram.png
|
|
|
453
474
|
```
|
|
454
475
|
|
|
455
476
|
**주의**:
|
|
477
|
+
|
|
456
478
|
- `upload` 시 multipart 필드 순서 (`type` → `file`) 가 중요.
|
|
457
479
|
클라이언트가 자동으로 강제
|
|
458
480
|
- `inline_image` 로 올린 파일은 본문에 markdown 으로 박혀야 위키에서 보임.
|
|
@@ -491,6 +513,7 @@ dooray wiki page comment list "https://<tenant>.dooray.com/wiki/<wikiId>/<pageId
|
|
|
491
513
|
```
|
|
492
514
|
|
|
493
515
|
**post comment 와의 차이**:
|
|
516
|
+
|
|
494
517
|
- mention / cc / 받는 사람 미지원 — wiki API 부재
|
|
495
518
|
- 첨부 파일 미지원 — wiki comment 전용 endpoint 부재 (페이지 본문 파일은 `wiki page file` 사용)
|
|
496
519
|
- 본문은 markdown 그대로 전송 (mimeType 자동)
|
|
@@ -501,7 +524,7 @@ IMAP을 통해 Dooray 메일을 조회할 수 있습니다. 메일 설정은 `do
|
|
|
501
524
|
|
|
502
525
|
```bash
|
|
503
526
|
# 수동 설정 (dooray setup 사용 시 불필요)
|
|
504
|
-
dooray config set imap-username
|
|
527
|
+
dooray config set imap-username user@example.com
|
|
505
528
|
dooray config set imap-password <IMAP_APP_PASSWORD>
|
|
506
529
|
|
|
507
530
|
# 메일 조회
|
|
@@ -514,8 +537,8 @@ dooray mail get <uid> --json # JSON 출력
|
|
|
514
537
|
|
|
515
538
|
# 메일 발송
|
|
516
539
|
dooray mail send --to "user@example.com" --subject "제목" --body "본문"
|
|
517
|
-
dooray mail send --to "
|
|
518
|
-
dooray mail send --to "
|
|
540
|
+
dooray mail send --to "recipient@example.com" --cc "copy@example.com" --subject "제목" --body-file ./content.md
|
|
541
|
+
dooray mail send --to "recipient@example.com" --subject "HTML 메일" --body "<h1>Hello</h1>" --html
|
|
519
542
|
|
|
520
543
|
# 메일 답장 (스레드 유지)
|
|
521
544
|
dooray mail reply <uid> --body "답장 내용"
|
|
@@ -585,6 +608,7 @@ dooray post file upload <project> <number> ./report.pdf --json
|
|
|
585
608
|
```
|
|
586
609
|
|
|
587
610
|
URL/`--id`/`--url` 모드에서는 sub-id를 옵션으로 전달:
|
|
611
|
+
|
|
588
612
|
```bash
|
|
589
613
|
dooray post file download --url <url> --file-id <fileId> -o ./downloads
|
|
590
614
|
dooray post file delete --url <url> --file-id <fileId>
|
|
@@ -618,11 +642,11 @@ dooray post comment file delete <project> <post-num> <comment-id> <file-id> --ye
|
|
|
618
642
|
|
|
619
643
|
## 출력 모드
|
|
620
644
|
|
|
621
|
-
| 플래그
|
|
622
|
-
|
|
623
|
-
| (없음)
|
|
624
|
-
| `--json`
|
|
625
|
-
| `--quiet` | ID만 출력
|
|
645
|
+
| 플래그 | 설명 | 용도 |
|
|
646
|
+
| --------- | ----------- | ---------------- |
|
|
647
|
+
| (없음) | 테이블 출력 | 사람이 읽기 좋음 |
|
|
648
|
+
| `--json` | JSON 출력 | 파싱, 파이프라인 |
|
|
649
|
+
| `--quiet` | ID만 출력 | 스크립팅 |
|
|
626
650
|
|
|
627
651
|
```bash
|
|
628
652
|
# 파이프라인 예시
|
|
@@ -636,8 +660,9 @@ dooray post list <project> --quiet | xargs -I{} dooray post done <project> {}
|
|
|
636
660
|
Claude Code 등의 AI 에이전트에서 dooray-cli를 자동으로 활용할 수 있도록 의도→커맨드 매핑, 체이닝 예시, 에러 핸들링 가이드가 포함되어 있습니다.
|
|
637
661
|
|
|
638
662
|
```bash
|
|
639
|
-
#
|
|
640
|
-
|
|
663
|
+
# Claude Code 스킬 상태 확인과 설치
|
|
664
|
+
dooray skill status
|
|
665
|
+
dooray skill install
|
|
641
666
|
```
|
|
642
667
|
|
|
643
668
|
## 피드백 (GitHub Issue 등록)
|
|
@@ -696,11 +721,13 @@ dooray --help
|
|
|
696
721
|
이 레포는 두 개의 워크플로를 사용합니다:
|
|
697
722
|
|
|
698
723
|
### CI (`.github/workflows/ci.yml`)
|
|
724
|
+
|
|
699
725
|
- 트리거: `main` 으로 push, `main` 대상 PR
|
|
700
726
|
- 동작: `pnpm install --frozen-lockfile`, `pnpm test`, `pnpm build` (Node 18, ubuntu-latest)
|
|
701
727
|
- 별도 secret 불필요
|
|
702
728
|
|
|
703
729
|
### Claude code review (`.github/workflows/claude-code-review.yml`)
|
|
730
|
+
|
|
704
731
|
- 트리거: PR opened, PR 댓글에 `/review` 포함
|
|
705
732
|
- 동작: 4 병렬 specialist 에이전트 (TypeScript / Conventions / Security / Architecture) 가 인라인 리뷰 + 요약 댓글 1개 게시
|
|
706
733
|
- 필요 secret: `CLAUDE_CODE_OAUTH_TOKEN`
|