윤누리
윤누리
Admin
🧙 AI 위자드
🎻 루키 파트너
🌈 지피터스금손
🚀 SNS 챌린지 달성자
☕ 커피챗 오픈

Claude Code로 4일 만에 Linear 자동화 macOS 앱 완성!

비개발자가 Claude Code로 4일 만에 Linear 자동화 macOS 앱 만든 후기

📝 한줄 요약

스크린샷 캡처만 하면 AI가 자동으로 Linear 이슈를 생성해주는 macOS 앱을 Claude Code와 함께 4일 만에 만들었습니다. 하루 20-40분 절약하고, 이슈 품질도 올라갔습니다.

결과부터 보고 가시죠

  • 리니어 토큰 입력(최초 1회 한 번만) > cmd+shift+L 누르면 > 자동으로 내용 요약해서 적절한 프로젝트, 담당자 지정해서 리니어 이슈 생성! 10초컷

배경에 나무가 있는 데스크톱 스크린샷

캡처하면 자동으로 분석 창이 뜨고

배경에 나무가 있는 컴퓨터 화면

카카오톡 대화 내용을 기반으로 이슈를 분석해서 적절한 프로젝트 담당자, 어느 정도의 난이도인지 추정해서 정보를 미리 기입해주고요 (사람이 보고 수정도 가능)

Create Issue를 하면

리니어 안에 방금 캡처한 이슈가 쏙 정리되어 들어와 있는 것을 확인할 수 있습니다.

스샷만 찍으면 되니까 인지적인 노력을 최소화하고 바로 할일을 체계적으로 정리할 수 있어요. 💞

🎯 이런 분들께 도움돼요

  • Linear 쓰는데 이슈 작성이 귀찮아서 자꾸 미루는 PM/기획자

  • 팀의 업무 기록이 여기저기 흩어져서 관리가 안 되는 분

  • AI 도구로 업무 자동화를 시도해보고 싶은데 어디서부터 시작할지 모르는 분

😫 문제 상황 (Before)

우리 팀은 카톡, 채널톡, Slack 등 다양한 채널에서 업무가 발생했습니다. 문제는 이런 대화들이 Linear 이슈로 제대로 기록되지 않는다는 거였어요.

"아, 이거 이슈로 만들어야 하는데..." 하면서도 귀찮아서 미루다 보면:

  • 실제로 수행한 업무와 Linear에 기록된 내용 간의 괴리가 계속 커졌고

  • Linear가 팀의 실제 업무 맥락을 충분히 담지 못해 AI가 업무를 이해하고 돕기 어려웠어요

  • 그 결과, 조직 차원의 업무 파악 / 개선 / 자동화가 불가능해졌습니다

특히 다양한 채널로 CS, 업무 협의가 들어올 때 이슈 만들기 가장 번거로웠어요:

  1. Linear 열기

  2. 제목 직접 작성하기

  3. 설명 직접 작성하기

  4. 프로젝트, 담당자, 우선순위 등 선택하기

한 번에 3-5분씩 걸렸고, 하루에 5-10번 정도 반복했습니다. 이대로는 Linear를 팀의 단일 원천(Source of Truth)으로 만들 수 없다고 판단했어요.

🛠️ 사용한 도구

  • 도구명: Claude Code (CLI)

  • 모델: Claude Opus 4.5

  • AI 분석: Google Gemini 3.0 Flash, Anthropic Claude Haiku 4.5

  • 특이사항: Electron, TypeScript 몰라도 Claude가 다 설명해주고 코드 작성


🔧 작업 과정

Linear Capture 앱 기본 구조 만들기

첫날, Claude에게 이렇게 요청했습니다.

macOS용 스크린샷 캡처 → Linear 이슈 자동 생성 앱을 만들고 싶어

저는 Electron이 뭔지도 몰랐지만, Claude가 전체 구조를 잡아줬어요. 단축키(⌘+Shift+L)를 누르면 화면 캡처가 시작되고, 이미지를 Cloudflare R2에 업로드한 뒤, 이슈 생성 폼이 뜨는 구조였습니다.

메인 프로세스, 렌더러 프로세스, IPC 통신... 용어는 어려웠지만 Claude가 하나씩 설명해주고 코드를 작성해줘서 금방 이해할 수 있었습니다.

(잠시 꿀팁)

  • 토큰이나 API 받아올 때 매번 헷갈리는데 클로드코드 브라우저 확장앱을 켜고 해달라고 하면 순식간에 뚝딱

  • cloudflare 처음 써봤는데 순식같에 5개의 토큰 액세스 키 등을 정리해줬습니다.


AI가 스크린샷을 분석해서 이슈 정보 자동 생성

기본 구조가 완성되자, 다음 단계로 넘어갔습니다.

스크린샷을 AI로 분석해서 이슈 제목, 설명, 프로젝트, 담당자까지 자동으로 채워주면 좋겠어

이게 정말 핵심 기능이었어요. Gemini 3.0 flash를 활용해서 스크린샷의 텍스트를 읽고, 내용을 분석해서 자동으로:

  • 이슈 제목 생성 (예: "로그인 - 소셜로그인 세션 만료 오류 수정")

  • 마크다운 형식 설명 작성 (## 이슈 / ## 상세 내용 / ## To Do)

  • 관련 프로젝트 자동 선택

  • 담당자 매칭

  • 우선순위 추천 (긴급/높음/보통/낮음)

  • 작업 포인트 추정 (1/2/3/5/8)

처음엔 AI가 프로젝트를 잘못 매칭하는 경우가 있었는데, Claude에게 "프로젝트 설명도 AI에 컨텍스트로 제공하면 정확도가 올라갈 것 같아"라고 하니까 바로 개선해줬습니다. 충분한 컨텍스트를 주니 정확도가 확 올라갔어요.


DMG 패키징의 늪... 그리고 탈출

앱이 잘 작동하니 이제 배포할 차례였습니다. 하지만 여기서 큰 문제가 생겼어요.

개발 모드(npm run start)에서는 모든 게 완벽하게 작동했는데, DMG로 패키징해서 설치하면 앱이 아예 실행되지 않았습니다. 핫키를 눌러도 반응이 없었어요.

개발 모드에서는 핫키가 잘 작동하는데, DMG로 설치하면 앱이 실행이 안 돼

문제 상황을 구체적으로 설명하니, Claude가 체계적으로 분석을 시작했습니다: (사실 무슨 말인지 잘 모름)

  1. 네이티브 모듈 문제: C++ 바인딩을 사용하는 mac-screen-capture-permissions 모듈이 제대로 번들링되지 않았어요

    • 해결: Electron 내장 API(systemPreferences)로 대체

  2. 파일 권한 문제: crash 로그를 앱 번들 내부에 쓰려고 해서 권한 오류 발생

    • 해결: app.getPath('userData') 경로 사용

  3. Hardened Runtime 충돌: Apple 인증서 없이 ad-hoc 서명할 때는 hardenedRuntime: true가 문제였어요

    • 해결: hardenedRuntime: false 설정

  4. Gatekeeper 차단: macOS가 서명되지 않은 앱을 조용히 차단

    • 해결: Finder에서 우클릭 → "Open" 안내

Claude가 4가지 원인을 모두 찾아서 하나씩 해결해줬고, 드디어 DMG가 정상 작동했습니다!

이렇게 이슈로 등록하고 싶은 카카오톡을 캡처하면 바로 리니어 이슈가 생성됩니다.

한국어 채팅 앱 스크린샷


실패하고 배운 것: Settings 기능 추가

동료 개발자분께 피드백을 요청했는데, 리니어 생성자를 다르게 하려면 개인별 토큰 세팅이 필요하다고 하더라고요. 하여 기능을 추가했습니다.

그 전에는 이슈를 생성하면 - 무조건 윤누리 로 생성되는 문제가 있었죠.

멤버별로 Linear API 토큰을 설정할 수 있게 Settings 기능을 만들어줘

이렇게 각 팀원들의 토큰을 넣을 수 있게 구현했습니다.

Claude가 Settings UI, 토큰 저장소, IPC 핸들러까지 다 만들어줬어요. 개발 모드에서는 완벽했습니다.

하지만... DMG로 빌드하니 앱이 또 실행되지 않았습니다. 이번엔 아무런 오류 메시지도 없이 그냥 실행이 안 됐어요.

원인을 찾기 어려워서 일단 전부 롤백했습니다. 답답했지만, Claude가 이렇게 제안했어요:

"Phase를 1-6으로 나눠서, 각 단계마다 DMG를 빌드하고 테스트하면서 신중하게 다시 구현해봅시다"

이게 정말 중요한 교훈이었어요. AI와 협업할 때 한 번에 다 하려고 하지 말고, 작게 쪼개서 하나씩 검증하는 게 훨씬 안전하다는 걸 배웠습니다.

Phase 1: Settings 저장소 → DMG 테스트 ✅

Phase 2: Settings UI → DMG 테스트 ✅

Phase 3: IPC 핸들러 → DMG 테스트 ✅

Phase 4: Tray 메뉴 추가 → DMG 테스트 ✅

Phase 5: 메인 UI 버튼 추가 → DMG 테스트 ✅

각 단계마다 확인하니까 문제가 생겨도 바로 원인을 찾을 수 있었어요. Phase 4에서 트레이 아이콘이 안 보이는 문제가 있었는데, 바로 이전 단계로 돌아가서 고칠 수 있었습니다.

결국 Settings 기능을 안전하게 완성했고, 버전 1.1.0을 릴리스했습니다! (내일 팀원들에게 공개 예정)


✅ 결과 (After)

Before vs After

항목

Before

After

소요 시간

3-5분 (수동 작업)

30초 (단축키 + AI 자동)

하루 작업 횟수

5-10번

5-10번

하루 절약 시간

-

20-40분

이슈 품질

제목만 있거나 설명 부실

맥락 있는 설명 + To Do 자동 생성

Linear 활용도

Slack/카톡에만 공유하고 끝

모든 업무가 Linear 이슈로 기록

결과물

  • macOS 앱 (v1.1.1)

  • 전역 단축키 캡처 (⌘+Shift+L)

  • AI 기반 이슈 정보 자동 생성

  • Cloudflare R2 이미지 업로드

  • Linear API 연동

  • Settings 관리 (개인 토큰 저장)

가장 큰 변화: Linear가 팀의 실제 업무를 반영하는 단일 원천(Source of Truth)으로 기능할 단초를 마련한 것 같아요.
이제 충분한 description을 가진 이슈 비율이 높아져서, 향후 AI가 업무 패턴을 분석하고 자동화할 토대가 마련되었어요.



🌍 다른 업무에 적용한다면?

이번 경험을 바탕으로 다른 자동화 아이디어들이 떠올랐어요:

  • 채널톡/Slack 메시지 → Linear 이슈 자동 생성: 특정 이모지 리액션을 달면 자동으로 이슈 생성

  • 회의록 → Linear 액션 아이템 자동 추출: 회의 내용에서 TODO를 찾아서 이슈로 생성

  • 이메일 → Linear 이슈 변환: 중요한 이메일을 포워딩하면 이슈로 저장

  • Linear 이슈 분석 → 업무 패턴 리포트: 누적된 이슈를 분석해서 반복 업무 식별

핵심은 "귀찮아서 미루던 기록을 자동화"하는 거예요. Claude Code와 함께라면 충분히 가능합니다!


🚀 앞으로의 계획

  1. Linear 이슈 자동 해결 에이전트

    • 사람의 판단이 반드시 필요하지 않은 단순 업무를 AI에게 부분적으로 이관

    • 예: 라벨링, 우선순위 조정, 중복 이슈 통합 등

  2. 업무 패턴 분석 및 개선 제안

    • 누적된 Linear 이슈를 분석해서 반복되는 업무 식별

    • 비효율적인 프로세스 자동 감지 및 개선 방향 제안

  3. 다른 채널 자동 연동

    • Slack, 채널톡, 이메일 등에서 발생하는 업무도 자동으로 Linear 이슈로 변환

    • 진짜 "단일 원천(Source of Truth)" 완성


덧 _ 이 고퀄의 게시글을 순식간에 쓸 수 있었던 이유

바로 송다혜님의 커스텀 커맨드 덕

💡 AI 활용 사례글, 이제 한방에 쓰세요

Claude Code로 작업하고 나서 사례글 쓰려면...

  • 뭘 했는지 기억이 안 나고

  • 대화 내역 다시 뒤지기 번거롭고

  • 글 쓰는 것도 시간이 오래 걸리잖아요

/write-post 한 번이면:

  1. DEVLOG 자동 생성 (세션에서 작업 내역 추출)

  2. 질문에 답하면 사례글 완성 (글 구조 고민 X)

설치:

  • Mac/Linux:

curl -fsSL <https://raw.githubusercontent.com/daht-mad/write-post/main/install_mac.sh> | bash
  • Windows (PowerShell):

iwr -useb <https://raw.githubusercontent.com/daht-mad/write-post/main/install_win.ps1> | iex

실행하면 전역/프로젝트 설치 선택 가능합니다.

자세한 내용: https://github.com/daht-mad/write-post

7
8개의 답글
밀어주고 끌어주는

온·오프라인 AI 스터디

AI로 어디까지 할 수 있는지
직접 확인하실 분만 신청하세요.