Skip to content

CLITrigger

v0.2.2 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai-automation ai-coding claude claude-code codex codex-cli
+12 more
developer-tools express gemini gemini-cli git-worktree harness harness-engineering llm-wiki multi-agent sqlite task-orchestration typescript

Summary

AI summary

Session screenshot paste now uses the host OS clipboard instead of creating files in the project tree.

Full changelog

Full Changelog: https://github.com/HyperAITeam/CLITrigger/compare/v0.2.1...v0.2.2

v0.2.2 — 세션 터미널 정비: OS 클립보드 페이스트, 색상 태그, 8방향 리사이즈, 위키 원본 md 동시 주입

릴리즈 일자: 2026-05-04
이전 버전: v0.2.1

요약 (TL;DR)

  • 세션 스크린샷/이미지 페이스트가 이제 사용자 프로젝트 트리에 파일을 만들지 않습니다 — 호스트 OS 클립보드에 직접 push 후 PTY로 Alt+V만 보내 Claude/Codex/Gemini가 자체 paste 핸들러로 처리.
  • 세션 터미널이 iTerm2 / Windows Terminal과 동일한 클립보드 단축키를 지원합니다 (Ctrl/Cmd+C/V/X, Alt+V, macOS Option-as-Meta). 이전엔 raw 제어문자가 PTY로 흘러갔습니다.
  • 세션을 색상 태그로 구분할 수 있고 (글로벌 Settings → Sessions 탭에서 CRUD), 제목 입력은 선택사항이 됐으며, 비-워크트리 세션도 default branch를 칩으로 표시합니다.
  • 위키 주입 시 원본 markdown 파일도 큐레이트 노드와 병렬로 함께 주입할 수 있습니다 (<raw_source_files> 블록).
  • 플로팅 세션 창을 8방향 모두에서 리사이즈할 수 있습니다 (이전에는 우하단 한 모서리만).
  • 세션 X 버튼이 명시적인 종료 흐름으로 정리됐고 (running 시 confirm), 도크 트레이 chip 드래그로 순서 변경, 최소화 상태가 워크스페이스 전환 후에도 유지됩니다.

주요 변경

세션 이미지 페이스트가 OS 클립보드 경유로 전환

이전엔 스크린샷을 붙여넣으면 서버가 <project>/.clitrigger/paste-images/imgN.<ext>로 비트맵을 저장하고 그 경로를 PTY에 텍스트로 보내 CLI가 path-to-image 디텍터로 픽업하던 방식이었습니다. 디스크에 잔여 파일이 남아 IDE 탐색기/OS 인덱서에 노출되고, 세션 cleanup이 다른 세션의 이미지를 함께 지우는 레이스가 있었습니다.

이번 버전부터는:

  • 서버가 이미지 비트맵을 호스트 OS 클립보드에 직접 푸시합니다 (Windows: PowerShell Clipboard.SetImage 메모리, macOS: os.tmpdir() 임시 파일 + osascript + 즉시 unlink, Linux: wl-copy/xclip stdin)
  • 클라이언트는 PTY에 \x1bv (Alt+V) 한 시퀀스만 보냅니다
  • CLI(Claude/Codex/Gemini)가 자체 클립보드 paste 핸들러로 [Image #N]을 렌더합니다

사용자 프로젝트 트리에 디스크 파일이 만들어지지 않습니다.

부팅 시 1회성 cleanup이 모든 프로젝트의 레거시 <project>/.clitrigger/paste-images/(워크트리 포함)를 best-effort로 정리하므로 업그레이드 후 별도 작업은 필요 없습니다.

xterm 세션 클립보드 단축키 + macOS Option-as-Meta

xterm.js core가 의도적으로 클립보드 통합을 비워둔 정책 때문에 이전엔 Ctrl/Cmd+C/V/X가 raw 제어문자(^C/^V/^X)로 PTY에 들어가 클립보드 동작이 안 되고 SIGINT만 동작했습니다.

이제는 iTerm2 / Windows Terminal과 동일하게:

  • Ctrl/Cmd+C: selection이 있으면 복사, 없으면 SIGINT (macOS Ctrl+C도 SIGINT 유지)
  • Ctrl/Cmd+V, Alt+V: 클립보드 텍스트 → PTY로 forward
  • Ctrl/Cmd+X: selection 있으면 잘라내기, 없으면 그대로 PTY로
  • macOS는 Option을 Meta로 인식 — Option+B/F 같은 readline/tmux Meta 단축키 정상 동작
  • HTTP LAN-IP origin에서 clipboard.readText()가 차단된 환경에선 컨테이너 paste 이벤트로 fallback

세션 색상 태그 + 글로벌 설정 + 선택적 제목

  • 색상 태그: 사이드바 톱니 → Settings → Sessions 탭에서 이름 + #RRGGBB 색상 페어로 태그 CRUD. 한 번 만든 태그는 모든 프로젝트에서 공유. 세션 폼에 dropdown으로 노출되며, 리스트의 세션 row에 색상 칩으로 표시됩니다.
  • 선택적 제목: 빈 칸으로 저장하면 서버가 Session YYYY-MM-DD HH:MM 형식으로 자동 채웁니다. "이름 짓기"가 마찰이라 일단 시작 후 나중에 편집하는 흐름이 가능해집니다.
  • 워크트리 디폴트 상속 체인: 신규 세션은 (1) 프로젝트 use_worktree 정책을 따르고, (2) Settings → Sessions 탭의 "Default use worktree"가 그 위에 한 번 더 override 합니다. todos/discussions와 정책 일관성 회복.
  • default branch 칩: 비-워크트리 세션이 Git 저장소면 project.default_branch로 fallback해서 GitBranch 칩을 렌더 — 한 프로젝트에 워크트리/메인 세션이 섞여 있을 때 어디서 도는지 한 눈에 보입니다.

위키 원본 markdown 파일 동시 주입

위키 주입은 그동안 LLM이 압축한 큐레이트 노드만 프롬프트에 넣었고, 인제스트 시점에 보존되는 .clitrigger/raw/*.md 원본은 닿을 수 없었습니다. 큐레이션 과정에서 떨어져 나간 디테일이 필요한 케이스가 무력했죠.

todo / discussion / session 폼의 위키 주입 섹션 아래에 "원본 md 파일" 섹션이 추가됐습니다:

  • 큐레이트 노드(<long_term_memory> 블록)와 병렬로 원본 md를 <raw_source_files> 블록으로 함께 주입
  • mode와 직교 — None 모드여도 raw 파일이 선택되어 있으면 주입 발동
  • sourceType별(todo/discussion/manual) 그룹화 + 검색 + 파일 사이즈 + 파생 노드 카운트 칩
  • 파일당 50KB cap ([... truncated] 마커), .clitrigger/raw/ 외부 경로는 차단

플로팅 세션 창 8방향 리사이즈

이전엔 우하단 한 모서리만 잡아서 늘릴 수 있었습니다. 이제 4 엣지(N/S/E/W) + 4 코너(NE/NW/SE/SW) 모두에서 리사이즈할 수 있습니다. 마우스가 창 가장자리에 가까워지면 OS 데스크탑 창처럼 ns/ew/nwse/nesw 커서로 바뀌고, North/West에서 끌면 반대편 엣지가 고정된 채 늘어납니다. 기존 chrome-drag, Aero 엣지 스냅, 이웃 윈도우 sticky snap, 도크 오버레이 흐름은 그대로.

세션 창 종료 흐름 + 도크 트레이 정리

  • X = 종료 (이전엔 무음 백그라운드 전환): 그룹에 running 세션이 있으면 confirm 1회 후 stopSession() 호출. 백그라운드는 최소화 버튼 역할이라 X = 종료가 멘탈 모델에 더 맞습니다.
  • 도크 트레이 chip 드래그 재정렬: 좌하단 dock chip을 드래그해서 좌우 순서 변경 (cursor: grab).
  • 최소화 상태가 워크스페이스 전환 후에도 유지: localStorage hydration이 minimized: false를 하드코딩하던 회귀를 수정.

폴리시 + dev 모드 자가-치유

  • 세션 cleanup 버튼: worktree_path 단독 → worktree_path || branch_nameuse_worktree=false로 만든 세션이나 이전에 delete_branch=false로 정리한 세션처럼 브랜치만 남은 경우에도 UI에서 정리 가능.
  • 세션 편집 저장 회귀 수정: use_worktree 부울이 better-sqlite3 binding을 거부해 항상 실패하던 버그 — update 경로도 0/1로 정규화.
  • 분할 pane 리사이즈 drift: 두 도킹된 세션 사이의 splitter를 끌면 분할자가 커서를 따라가지 못하고 폭주하던 회귀 — snapshot을 initialSizes(불변) / finalSizes(라이브)로 분리.
  • dev 모드 better-sqlite3 ABI 자가-치유: build-electron.bat 직후 dev.bat로 돌아갈 때 native bind ABI mismatch로 크래시하던 회귀 — dev.bat 부팅 직전에 new Database(':memory:') 프로브 + 실패 시 stale .node 삭제 + 자동 npm rebuild.

설치 / 업데이트

npm i -g [email protected]

기존 사용자는 위 명령으로 업데이트하면 충분합니다. 데스크탑 앱(.exe / .dmg / .AppImage)은 GitHub Release 자산을 사용하세요.

업그레이드 후 첫 부팅에서 레거시 <project>/.clitrigger/paste-images/ 디렉터리가 있으면 자동으로 정리됩니다 (best-effort, 실패해도 부팅 영향 없음).

전체 커밋 목록

  • 9174228 chore(release): v0.2.2
  • 9e63ff5 feat(session): add 8-direction resize to floating session window
  • 6485654 WIP(docs): document raw md injection, session tags/settings, clipboard shortcuts
  • e54c55d WIP(docs): document OS clipboard image paste flow
  • dcac8db feat(session): paste screenshots via host OS clipboard, not project dir
  • 586e372 WIP(release): add release notes phase to skill and wire workflow body_path
  • 8371ac3 feat: add screenshot dir lookup to clipboard-image-path
  • 5c86686 feat(session): OS clipboard file paste, sequential img names, paste-dir cleanup
  • f807db3 WIP(session): OS clipboard file paste, sequential img names, paste-dir cleanup
  • 8c88bf6 feat(session): clipboard image paste, dock tray reorder, and minimized state persistence
  • 066efbd feat(session): show project default branch when session has no branch
  • 5bae195 WIP(session): tighten auto-close phase gate and defer active flag
  • dc35289 feat(session): add color tags, settings panel, and optional titles
  • 703a11c WIP(session): dedup IME onData by string equality not time window
  • ceb9a81 feat(session): confirm-on-close for running windows + project-default worktree
  • e5edce9 feat(wiki): inject original markdown sources alongside curated entries
  • 56f5efa fix(session): show cleanup button when only branch_name remains
  • 7b86730 fix(session): coerce use_worktree boolean to 0/1 on session update
  • a0b577b fix(session): wire clipboard shortcuts and Alt+V paste in xterm sessions
  • 5f544cb WIP(readme): document npm upgrade command and update-check hint

관련 문서

  • 상세 changelog — 날짜별 기술 결정 기록
    • 2026-05-03 — 위키 원본 md 동시 주입 + 세션 색상 태그/설정/선택적 제목 + 클립보드 단축키 + 도크 재정렬
    • 2026-05-04 — 세션 스크린샷 호스트 OS 클립보드 페이스트 (프로젝트 트리에 파일 0)

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track CLITrigger

Get notified when new releases ship.

Sign up free

About CLITrigger

Self-hosted web UI for orchestrating Claude Code, Codex, and Gemini CLIs in parallel git worktrees. Features multi-agent discussion mode (architect/developer/reviewer debate before implementation), cross-project Morning Review Queue, scheduled execution with rate-limit auto-recovery, and a built-in Git client. MIT.

All releases →

Related context

Beta — feedback welcome: [email protected]