gadak

같은 지라, 기다림 없이.

회사가 이미 쓰는 Jira를 — Confluence 위키까지 — 이 머신의 SQLite 파일 하나로 미러링합니다. 검색은 밀리초 안에 끝나고, 히스토리는 문서처럼 읽히고, 스피너는 사라집니다. 원본은 여전히 Jira — 기다리는 것만 없어집니다.

2만 건 미러에서 타이핑 속도로 검색. 녹화본이지 애니메이션이 아닙니다.

같은 질문, 두 가지 방식

Jira REST API gadak
단순 필터, 100건 583 ms 19 ms 31×
이슈 1건 + 체인지로그 전체 710 ms 28 ms 25×
전문 검색 543 ms 41 ms 13×
에픽별 열린 이슈 (GROUP BY) 4,761 ms — API 8페이지 22 ms — 쿼리 하나 214×
변경 이력에 대한 집계 표현 불가 14 ms
레이트 리밋 429 + Retry-After 없음 — 내 디스크니까

2026-08-26 실제 Atlassian Cloud 사이트(실제 업무 프로젝트, 3,296건) 대상 실측 — 합성 fixture가 아닙니다. gadak 수치에는 CLI 프로세스 시작까지 포함. 측정 방법과 gadak이 지는 지점 표 전체는 docs/BENCHMARKS.md.

로컬 미러에서는 — 데모가 쓰는 것과 같은 SQLite 파일, 2만 건: 팔레트 검색(HTTP 왕복 포함) 0.5~2ms, 534건 사이트 풀 싱크 약 5초, 변화 없는 증분 재실행 쓰기 0건.

아니면 라이브 데모를 열어보세요

새로 씻어낸 534건 샘플 미러 위의 실제 UI — 설치도 계정도 없습니다. 이 페이지의 영상도 같은 앱에서 녹화했습니다.

▶ 라이브 데모 열기

타이핑을 따라오는 검색

하나의 팔레트가 전부를 덮습니다 — 제목, 본문, 코멘트, 위키까지. 접두 매치는 단어를 끝내기 전에 로컬에서 뜨고, 전문 검색이 바로 뒤따릅니다. 스피너도 왕복도 없습니다.

어떤 축이든, 메뉴 하나 — 숫자까지 붙어서

담당자·우선순위·에픽으로 다시 묶으면 분포 막대가 구간별 개수를 실시간으로 셉니다. 필터 메뉴의 모든 옵션도 현재 뷰 기준으로 카운트되어, 고르기 전에 이미 답을 압니다 — 메뉴가 먼저 알고 있습니다. 저장된 뷰는 URL 하나.

에픽으로 묶인 백로그 위에 열린 담당자 필터 메뉴: 모든 옵션에 실시간 카운트가 붙고, 위의 분포 막대는 에픽별 개수를 셉니다.

히스토리가 문서처럼 읽힌다

상태 변화·코멘트·연결된 PR이 한 번의 스크롤에 — 읽는 시점에 체류 시간이 계산됩니다(대기 6분, 진행 34일). 체인지로그가 곧 인터페이스입니다.

이슈 하나를 위에서 아래로: Reopened ×2 배지, 대기·진행 체류 시간 칩, Bot 라벨이 붙은 에이전트 코멘트, 붉은 Reopened 마커가 있는 상태 변경 히스토리.

나와 에이전트가 나누는 하나의 어휘

CLI가 곧 에이전트 인터페이스입니다 — create, claim, transition, 보드는 눈앞에서 같이 움직입니다. MCP 서버가 셸 없는 클라이언트를 맡습니다. 쓰기는 origin까지 통과하고, 읽기는 로컬 미러에서 나옵니다. 그리고 에이전트의 모든 쓰기에는 이름이 남습니다 — 코멘트와 연결된 PR에 봇의 이름이, 팀이 읽는 그 스레드에 그대로 붙습니다.

JQL이 표현 못 하는 질문 하나를, 로컬 미러에서 답하기.
gadak create NMB "Ship the export" --field team=platform
gadak claim NMB-1042
gadak transition NMB-1042 done -m "shipped"
미러 위의 실제 Claude Code 세션: 이슈와 위키 페이지가 하나의 인덱스 — Jira와 Confluence가 대신 만들어 주지 않는 조인.

같은 미러를 코딩 에이전트에게 넘기려면:

gadak skill install
스킬이 움직이는 모습: 새 색과 차트 대시보드를 부탁하자 에이전트가 gadak을 실행하고, 둘 다 리로드 없이 열린 탭에 내려앉습니다.
벽을 세우고, 그 벽이 앱으로 되돌아옵니다. HTML 문서 하나에 이름 붙은 쿼리들 — 에이전트가 벽에 올린 키는 진짜 링크라, 누르면 페이지를 떠나는 대신 그 이슈가 열립니다.
룩을 바꾸되, 당신이 요청한 값을 지킵니다. 토큰 쓰기는 적용된 뒤 어떻게 보일지를 말해 줍니다 — 여기서는 경고가 타입 사다리 전체를 찍어 주고, 세션이 스스로 단을 복구합니다.

셸이 없는 MCP 클라이언트(Claude Desktop)에는:

claude mcp add gadak -- gadak mcp

도구별 붙여넣기 블록 → docs/AGENT_SETUP.md

원본은 여전히 Jira입니다

회사 일과 내 일, 나란히

두 번째 워크스페이스가 개인 작업을 회사 트래커 밖에 둡니다 — 같은 머신, 다른 파일, 다른 자격증명. 스탠드얼론은 트래커 없이도 시작합니다.

스탠드얼론은 트래커 없이도 시작합니다:

gadak init --standalone

두 번째 워크스페이스: 같은 머신, 다른 파일, 다른 자격증명:

gadak --workspace side init

설치

데스크톱 앱, CLI 포함:

brew install --cask midagedev/tap/gadak

CLI만:

brew install midagedev/tap/gadak-cli

회사 Jira에 연결 (사이트·이메일·토큰·프로젝트를 차례로 묻습니다):

gadak init && gadak sync && gadak serve

모든 플랫폼 →