rootr-cli 0.10.0 → 0.14.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
@@ -246,6 +246,25 @@ rootr sign ledger # 워크스페이스 원장 전체 재계산
246
246
  원본은 `SUPERSEDED`로 남습니다 — 지침이 "고친 흔적과 원본이 모두 보여야 한다"를
247
247
  요구하기 때문입니다.
248
248
 
249
+ ### 제보 보내기 (feedback)
250
+
251
+ ```bash
252
+ rootr feedback "행을 추가하려는데 rootr_add_row가 칸 이름을 못 찾는다고 합니다. 칸 id로 바꾸니 됐습니다." --kind friction
253
+ rootr feedback --file report.md --kind bug --email me@example.com
254
+ cat error.log | rootr feedback --kind bug
255
+ ```
256
+
257
+ 오류·불편·제안을 Rootr 팀에 보냅니다. **로그인도, 워크스페이스도, API 키도 필요
258
+ 없습니다** — 키가 틀려서 아무것도 못 하는 상태에서도 보내집니다(그 제보가 우리가
259
+ 제일 받고 싶은 제보입니다). 사용량 한도에도 걸리지 않고, 크레딧도 쓰지 않습니다.
260
+
261
+ `--kind`는 `bug`(안 되는 것) · `friction`(되지만 불편·헷갈림) · `idea`(있으면 좋겠다) ·
262
+ `praise` · `other` 중 하나이며, 생략하면 `other`입니다. `--title`을 안 주면 본문 첫
263
+ 줄이 제목이 됩니다. 답을 받고 싶을 때만 `--email`을 주세요.
264
+
265
+ 같은 사람이 10분 안에 같은 내용을 또 보내면 한 건으로 합칩니다 — 실패 재시도
266
+ 안에서 반복 호출해도 목록이 더러워지지 않습니다.
267
+
249
268
  ### RCA 질의응답 (ask)
250
269
 
251
270
  ```bash
@@ -258,7 +277,7 @@ rootr ask "왜 결제 실패가 늘었지?" --workspace ws_123
258
277
 
259
278
  ## MCP 서버로 사용하기
260
279
 
261
- `rootr mcp`는 stdio로 MCP(Model Context Protocol) 서버를 구동합니다. 제공 도구 134종:
280
+ `rootr mcp`는 stdio로 MCP(Model Context Protocol) 서버를 구동합니다. 제공 도구 152종:
262
281
 
263
282
  노드를 가리키는 인자(`target`, `databaseId`, `spreadsheetId`, `formId`, `crmId`, `trackerId`,
264
283
  `recordingId`, `presentationId`, `whiteboardId`, `logId`, `parentId` 등)는 **노드 id와 경로를 모두**
@@ -277,6 +296,10 @@ rootr ask "왜 결제 실패가 늘었지?" --workspace ws_123
277
296
  | `rootr_edit` | 정확한 텍스트 스니펫 치환 |
278
297
  | `rootr_write` | 문서 전체 교체(파괴적) 또는 신규 생성 |
279
298
  | `rootr_search` | 워크스페이스 검색 |
299
+ | `rootr_comment_document` | 문서에 댓글 달기 |
300
+ | `rootr_list_document_comments` | 문서에 달린 댓글 목록 |
301
+ | `rootr_duplicate_node` | 노드 통째로 복제(하위까지) |
302
+ | `rootr_move_node` | 노드 옮기기 / 이름 바꾸기 |
280
303
 
281
304
  에이전트에게는 가능하면 `rootr_append`/`rootr_edit`을 우선 사용하고,
282
305
  `rootr_write`는 정말 전체를 다시 쓸 때만 (가능하면 `ifMatch`와 함께) 쓰도록
@@ -297,9 +320,15 @@ rootr ask "왜 결제 실패가 늘었지?" --workspace ws_123
297
320
  | 도구 | 필요 스코프 | 설명 |
298
321
  |---|---|---|
299
322
  | `rootr_workspaces` | 계정 키 또는 워크스페이스 키 | 내 워크스페이스 목록 |
300
- | `rootr_scaffold_plan` | 워크스페이스 불필요 | 의도(intent) 문장으로 문서 트리 계획 생성 |
301
- | `rootr_create_workspace` | **계정 키(PAT) + workspaces:create** | 계획된 트리로 새 워크스페이스 생성 |
302
- | `rootr_scaffold_apply` | docs:write | 기존 워크스페이스에 트리 적용 |
323
+ | `rootr_scaffold_plan` | 워크스페이스 불필요 | 짓기 1단계 — 물어볼 것·설계 규칙·건축 자재 목록을 받는다 |
324
+ | `rootr_scaffold_review` | 워크스페이스 불필요 | 짓기 2단계 — **만들기 전에** 설계를 검사받는다(점수·고칠 곳). 컴파일러처럼 고쳐 가며 짓는다 |
325
+ | `rootr_create_workspace` | **계정 키(PAT) + workspaces:create** | 짓기 3단계 — 계획된 트리로 새 워크스페이스 생성(검사 결과도 같이 돌려준다) |
326
+ | `rootr_scaffold_apply` | docs:write | 짓기 3단계 — 기존 워크스페이스에 트리 적용(검사 결과도 같이 돌려준다) |
327
+ | `rootr_delete_workspace` | **계정 키(PAT) + OWNER** | 짓다 실패해 남은 **빈 워크스페이스 치우기**. 이름을 그대로 다시 적어야 지워진다(되돌릴 수 없음) |
328
+
329
+ 스캐폴딩은 **plan → 물어보기 → 설계 → review → 고치기 → apply** 한 바퀴입니다.
330
+ `review` 를 건너뛰면 "얇은 마크다운 파일 묶음"이 됩니다. CLI 로도 같은 세 단계를 쓸 수 있습니다:
331
+ `rootr scaffold plan "..."` / `rootr scaffold review --file tree.json` / `rootr scaffold apply --file tree.json`.
303
332
 
304
333
  #### LOG 데이터스토어 (docs:read/docs:write)
305
334
 
@@ -341,10 +370,20 @@ rootr ask "왜 결제 실패가 늘었지?" --workspace ws_123
341
370
  | 도구 | 설명 |
342
371
  |---|---|
343
372
  | `rootr_read_database` | 스키마(열 정의)+행 전체 읽기 — **다른 표 도구를 쓰기 전에 먼저** (`includeBody: true` 면 행마다 상세 내용까지) |
344
- | `rootr_list_rows` | 행만 조회(스키마 제외, `includeBody` 지원) |
373
+ | `rootr_list_rows` | 행만 조회(스키마 제외, `includeBody` 지원, `backlinks: true`면 "나를 가리키는 다른 표의 행"도 함께) |
345
374
  | `rootr_add_row` | 행 추가 (`values`는 열 이름 또는 id로 지정, `body`로 상세 내용까지) |
346
375
  | `rootr_update_row` | 행 수정 (칸반 카드 이동 = select 열 값 변경, `body`로 상세 내용 교체) |
376
+ | `rootr_bulk_create_rows` | 행 여러 개를 한 번에 추가 |
377
+ | `rootr_bulk_update_rows` | 여러 행을 **같은 값**으로 한 번에 수정 |
378
+ | `rootr_bulk_update_rows_each` | 여러 행을 **행마다 다른 값**으로 한 번에 수정 |
347
379
  | `rootr_delete_row` | 행 삭제 |
380
+ | `rootr_bulk_delete_rows` | 행 여러 개를 한 번에 삭제 |
381
+ | `rootr_create_view` | 보기 추가 — 테이블/보드/캘린더/타임라인/갤러리 |
382
+ | `rootr_update_view` | 보기 수정 — 열 숨기기·이름·그룹·필터·정렬·열 너비 |
383
+ | `rootr_delete_view` | 보기 삭제 |
384
+ | `rootr_create_row_page` | 행에 상세 페이지 붙이기(문서 또는 서명문서) |
385
+ | `rootr_set_row_page_type` | 앞으로 만드는 행이 무엇으로 열릴지 정하기 |
386
+ | `rootr_unlink_row_page` | 행과 상세 페이지의 연결 끊기 |
348
387
  | `rootr_add_column` | **열 추가** — 기존 열·행은 그대로 |
349
388
  | `rootr_update_column` | 열 이름 변경 / select 선택지 교체 |
350
389
  | `rootr_delete_column` | 열 삭제(파괴적) |
@@ -396,6 +435,118 @@ rootr ask "왜 결제 실패가 늘었지?" --workspace ws_123
396
435
  - `title` 열은 추가로 만들 수도, 삭제할 수도 없습니다.
397
436
  - 삭제한 열의 값은 행 안에 남아 있지만 화면에는 나오지 않습니다 — 사용자 확인 후 호출하세요.
398
437
 
438
+ #### 폼(FORM) — 받아 적는 창구 (docs:read/docs:write)
439
+
440
+ | 도구 | 설명 |
441
+ |---|---|
442
+ | `rootr_create_form` | 폼 만들기 — 질문 정의·응답 모을 표(`targetDatabaseId`)까지 한 번에 |
443
+ | `rootr_read_form` | 질문 정의와 설정 읽기 — **고치기 전에 먼저** |
444
+ | `rootr_update_form` | 질문·설정 수정(`config`는 아래 설명 참고) |
445
+ | `rootr_create_form_collector` | 응답 모을 표·스프레드시트를 **만들어서** 연결(표는 질문 그대로 칸 생성) |
446
+ | `rootr_list_form_responses` | 들어온 응답 목록 |
447
+ | `rootr_submit_form_response` | 응답 한 건 제출(사람 대신 넣어 줄 때) |
448
+ | `rootr_update_form_response` | 이미 들어온 응답 고치기(폼 검사 규칙 다시 통과) |
449
+ | `rootr_delete_form_response` | 응답 한 건 삭제 |
450
+ | `rootr_create_form_share_link` | 폼 전용 공유 링크 발급(`/f/<토큰>`) |
451
+ | `rootr_list_form_share_links` | 발급된 공유 링크 목록 |
452
+
453
+ 폼을 밖에 여는 정상 경로는 **`rootr_publish_node`** 입니다 — 발행하면 `/p/<슬러그>`
454
+ 주소가 나오고 **응답 받기도 같이 켜집니다**. `config.publicSubmit`을 손으로 만질 일은
455
+ 거의 없고, 그만 받고 싶으면 `closesAt`·`maxResponses`를 걸거나 발행을 내리세요.
456
+ `config.theme`은 `clean`·`paper`·`noir`·`ocean`·`sunset`·`mint`·`bento`·`brutal`·
457
+ `vivid`·`dark` 10종이며, `cover`/`logo`는 이미지 **주소**라 `rootr_upload_attachment`로
458
+ 먼저 올리고 받은 url을 넣습니다(비워 두면 기본 커버가 붙습니다).
459
+
460
+ #### 웹에 공개 발행 (docs:write)
461
+
462
+ | 도구 | 설명 |
463
+ |---|---|
464
+ | `rootr_publish_node` | **아무 노드나** 공개 — 문서·표·폼·시트·화이트보드·덱, 하위까지 |
465
+ | `rootr_set_node_public` | 이미 공개한 것의 설정 변경(하위 포함 여부·검색 노출·만료) |
466
+ | `rootr_node_public_status` | 지금 공개돼 있는지, 주소는 무엇인지 |
467
+ | `rootr_publish_document` | 문서 전용 발행(구형 — 새로 짤 때는 `rootr_publish_node`) |
468
+ | `rootr_set_document_public` | 문서 전용 공개 설정 변경 |
469
+ | `rootr_document_public_status` | 문서 전용 공개 상태 |
470
+
471
+ #### 스프레드시트 (docs:read/docs:write)
472
+
473
+ | 도구 | 설명 |
474
+ |---|---|
475
+ | `rootr_create_spreadsheet` | 스프레드시트 만들기(시트 여러 장 가능) |
476
+ | `rootr_read_spreadsheet` | 시트·셀·수식 읽기 |
477
+ | `rootr_patch_spreadsheet_cells` | **(권장)** 셀 값·수식만 콕 집어 쓰기 |
478
+ | `rootr_update_spreadsheet` | 설정·아이콘 변경, 또는 시트 전체 교체(파괴적) |
479
+ | `rootr_create_sheet` | 시트(탭) 추가 |
480
+ | `rootr_update_sheet` | 시트 한 장 이름 변경·크기 조정 |
481
+ | `rootr_delete_sheet` | 시트(탭) 삭제 |
482
+
483
+ #### 화이트보드 (docs:read/docs:write)
484
+
485
+ | 도구 | 설명 |
486
+ |---|---|
487
+ | `rootr_create_whiteboard` | 화이트보드 만들기 |
488
+ | `rootr_read_whiteboard` | 도형·연결선 읽기 |
489
+ | `rootr_update_whiteboard` | 장면 교체 또는 병합(merge), 설정·아이콘 |
490
+
491
+ #### 녹음 · 회의록 (docs:read/docs:write)
492
+
493
+ | 도구 | 설명 |
494
+ |---|---|
495
+ | `rootr_create_recording` | 녹음 노드 만들기 |
496
+ | `rootr_upload_recording_audio` | 오디오 올리기(올리면 받아쓰기가 시작됩니다) |
497
+ | `rootr_transcribe_recording` | 받아쓰기 실행/재실행 |
498
+ | `rootr_read_recording` | 받아쓴 글·화자 구간 읽기 |
499
+ | `rootr_rename_recording_speakers` | 화자 이름 바꾸기(화자1 → 김대표) |
500
+ | `rootr_summarize_recording` | 요약·회의록 만들기 |
501
+ | `rootr_download_recording_audio` | 원본 오디오 내려받기 |
502
+
503
+ #### CRM (docs:read/docs:write)
504
+
505
+ | 도구 | 설명 |
506
+ |---|---|
507
+ | `rootr_crm_create` | CRM 노드 만들기(파이프라인·칸 정의) |
508
+ | `rootr_crm_get` | 파이프라인·칸·건수 보기 |
509
+ | `rootr_crm_update` | 파이프라인·칸·설정 수정 |
510
+ | `rootr_crm_list_companies` / `rootr_crm_get_company` | 회사 목록 / 상세(연락처·딜·활동·할 일) |
511
+ | `rootr_crm_upsert_company` | 회사 추가·수정·삭제 |
512
+ | `rootr_crm_list_contacts` / `rootr_crm_get_contact` | 연락처 목록 / 상세 |
513
+ | `rootr_crm_upsert_contact` | 연락처 추가·수정·삭제 |
514
+ | `rootr_crm_list_deals` / `rootr_crm_get_deal` | 딜 목록 / 상세 |
515
+ | `rootr_crm_upsert_deal` | 딜 추가·수정·삭제 |
516
+ | `rootr_crm_move_deal` | 딜을 다음 칸으로 옮기기(칸반 카드 이동) |
517
+ | `rootr_crm_log_activity` / `rootr_crm_list_activities` | 활동 기록 남기기 / 타임라인 조회 |
518
+ | `rootr_crm_upsert_task` / `rootr_crm_list_tasks` | 후속 할 일 만들기·수정 / 목록 |
519
+ | `rootr_crm_import` | 여러 건 한 번에 가져오기 |
520
+
521
+ #### 템플릿 (docs:read/docs:write)
522
+
523
+ | 도구 | 설명 |
524
+ |---|---|
525
+ | `rootr_list_templates` | 문서·표 템플릿 목록 |
526
+ | `rootr_apply_template` | 템플릿으로 노드 만들기 |
527
+ | `rootr_save_as_template` | 지금 노드를(또는 즉석 정의를) 템플릿으로 저장 |
528
+ | `rootr_update_template` | 템플릿 수정 |
529
+
530
+ #### 제보 (인증 불필요)
531
+
532
+ | 도구 | 설명 |
533
+ |---|---|
534
+ | `rootr_send_feedback` | 오류·불편·제안 보내기 — 키가 없거나 틀려도 들어갑니다 |
535
+
536
+ **에이전트에게**: 이 도구는 시켜야 부르는 도구가 아닙니다. 일하다가 예상 못 한
537
+ 오류를 만나거나, 도구가 설명과 다르게 동작하거나, 우회를 하게 되거나, 사용자가
538
+ "이거 안 된다/헷갈린다"고 말하면 **묻지 말고 그 자리에서 한 번 보내고** 하던 일을
539
+ 계속하세요. 도구 설명에도 같은 말이 적혀 있습니다. 같은 문제로 두 번 보내지 마세요
540
+ (10분 내 같은 내용은 자동으로 합쳐집니다).
541
+
542
+ #### 읽음 확인 (docs:read/docs:write)
543
+
544
+ | 도구 | 설명 |
545
+ |---|---|
546
+ | `rootr_set_read_requirement` | 이 문서를 반드시 읽게 하기(대상·기한) |
547
+ | `rootr_read_requirement` | 누가 읽었고 누가 안 읽었는지 |
548
+ | `rootr_clear_read_requirement` | 읽음 요구 해제 |
549
+
399
550
  #### 서명문서 · 연구노트 (docs:read/docs:write)
400
551
 
401
552
  | 도구 | 설명 |
@@ -429,6 +580,9 @@ rootr ask "왜 결제 실패가 늘었지?" --workspace ws_123
429
580
  | 도구 | 설명 |
430
581
  |---|---|
431
582
  | `rootr_document_versions` | 문서 버전 히스토리 조회 |
583
+ | `rootr_read_document_version` | 그 시점 본문을 그대로 읽기(되돌리기 전에 확인용) |
584
+ | `rootr_restore_document_version` | 문서를 예전 버전으로 되돌리기 |
585
+ | `rootr_update_node` | 아무 노드나 이름·아이콘 변경 / 옮기기 |
432
586
  | `rootr_delete_node` | 노드를 휴지통으로 이동(복구 가능) |
433
587
 
434
588
  #### 프레젠테이션
@@ -436,7 +590,9 @@ rootr ask "왜 결제 실패가 늘었지?" --workspace ws_123
436
590
  프레젠테이션(PRESENTATION)은 전용 MCP 도구(`rootr_create_presentation`,
437
591
  `rootr_read_presentation`, `rootr_append_presentation_slides`,
438
592
  `rootr_update_presentation_slide`, `rootr_reorder_presentation_slides`,
439
- `rootr_update_presentation`)로 저작합니다. 아래처럼 **같은 API 키로 REST를 직접
593
+ `rootr_update_presentation`)로 저작합니다. 슬라이드에 넣을 그림은
594
+ `rootr_generate_image`(문장으로 이미지 생성)와 `rootr_remove_image_background`(배경 지우기)로
595
+ 만들 수 있습니다 — 둘 다 AI 크레딧을 씁니다. 아래처럼 **같은 API 키로 REST를 직접
440
596
  호출**해도 됩니다 (`x-api-key` 헤더, `docs:write`):
441
597
 
442
598
  ```bash