Gemini의 다중 모달 능력과 초장문 컨텍스트 창은 경이롭지만, CLI 형태의 도구로서 프로젝트 관리, 지식 영속화, 여러 작업의 협조 등 시각적인 관리 면에서 분명히 부족합니다. Gemini의 다중 모달 이해가 더 큰 가치를 발하려면 더 포괄적인 작업 환경이 필요합니다.
멀티스레드 병렬:Gemini가 동시에 코드를 읽고 설계를 분석하고 코드를 작성하게
Gemini는 한 세션 안에서 많은 일을 할 수 있지만, 실제 납품은 한 번에 하나의 작업씩 이루어지는 일은 거의 없습니다.
HagiCode는 여러 Gemini 세션을 병렬로 실행할 수 있으며, 각각 격리된 컨텍스트, 명확한 책임 경계, 독립적인 진행을 갖습니다.
이는 AI 지원을 단일 대화에서 팀이 실제로 소프트웨어를 구축하는 방식에 맞는 병렬 엔지니어링 워크벤치로 바꿉니다.
- 스레드 A는 백엔드 API 엔드포인트를 다듬고;
- 스레드 B는 프론트엔드 컴포넌트를 리팩터링하고;
- 스레드 C는 단위 테스트를 작성하고;
- 스레드 D는 보안 취약점을 코드 감사합니다.
OpenSpec 제안 세션:Gemini의 모든 결정을 추적 가능하게
일상 개발에서 가장 흔한 혼란은 코드를 못 쓰는 것이 아니라, 이런저런 변경을 해놓고 왜 했는지, 무엇을 바꿨는지, 변경들이 서로 어떻게 연관되는지 잊어버리는 것입니다.
HagiCode에 내장된 OpenSpec 제안 워크플로는 이 문제를 근본적으로 해결합니다. 모든 개발 작업은 제안으로 시작됩니다:
이 '먼저 생각하고 행동하는' 접근은 Gemini의 추론력을 더욱 빛나게 하고, 몇 달이 지난 뒤 코드를 돌아볼 때 결정의 맥락을 빠르게 이해할 수 있게 합니다.
- 먼저 이 작업이 어떤 문제를 해결하는지, 왜 이 방식이 타당한지 적습니다;
- 제안의 틀 안에서 Gemini와(과) 기술 방침을 깊이 논의합니다. 모든 대화와 결정은 제안의 맥락에 기록됩니다;
- 방침이 확정되면, Gemini는 제안의 제약 안에서 코드를 구현합니다;
- 최종 제안 문서, 논의 기록, 코드 변경이 완전한 추적 체인을 형성합니다.
AI 커밋:Gemini의 코드 출력을 자동 커밋
코드를 다 쓴 뒤 커밋 메시지를 작성하는 것은 많은 개발자에게 정신적 마찰입니다. 대충 쓰면 나중에 핵심 커밋을 찾을 수 없고, 너무 격식을 차리면 시간 낭비처럼 느껴집니다.
HagiCode의 AI 커밋 기능은 이것을 완전히 Gemini에 맡깁니다. 코드 변경을 분석하고 의도와 영향 범위를 이해한 뒤 구조가 명확하고 의미적으로 정확한 커밋 메시지를 자동 생성합니다. 더 중요한 것은, AI 커밋 중에 HagiCode가 리포지터리를 자동으로 잠가 병행 작업으로 인한 상태 충돌을 막고 안전하고 신뢰할 수 있는 커밋을 보장합니다.
주의력은 창작을 위해 아껴두고, 커밋의 사무 작업은 Gemini에 맡기세요.
Code Server 브라우저 에디터:다중 모달 분석에서 시각적 편집으로
Gemini가 코드를 분석하고 문제 파일을 식별하고 정확한 줄 번호까지 짚어준 뒤, 익숙한 어색한 순간이 찾아옵니다. AI 대화 창을 떠나 IDE로 돌아가 파일을 다시 찾고 수동으로 올바른 위치로 점프해야 합니다. 이 분석에서 편집으로의 문맥 단절은 흐름을 끊을 뿐 아니라 AI의 가치를 '문제의 위치를 알려주는' 수준에 머물게 하고 '직접 편집 모드로 들어가도록 돕는' 곳까지 닿지 못하게 합니다.
HagiCode에 내장된 Code Server 기반 브라우저 에디터는 바로 이 단절을 해소하기 위해 설계되었습니다:
Code Server 통합은 HagiCode를 코드를 분석할 수 있는 프론트엔드 페이지에 머물지 않고, Gemini의 분석이 직접 편집 액션으로 착지하는 완전한 워크스테이션으로 만듭니다. AI 분석과 직접 수정 사이의 도구 전환 비용을 최소화합니다.
- 분석에서 편집으로 원클릭:Gemini가 제안에서 변경이 필요한 파일을 식별하면, HagiCode는 해당 파일을 워크벤치에서 직접 열어 편집할 수 있습니다. 도구를 바꾸거나 파일을 다시 찾을 필요가 없으며, 분석 결과에서 직접 수정까지의 거리가 0입니다.
- 로컬, 컨테이너, 원격 완전 커버:프로젝트가 로컬 머신, Docker 컨테이너, 원격 서버 중 어디에서 실행되든, HagiCode의 Code Server는 브라우저로 프로젝트 디렉터리를 열어 편집할 수 있습니다. 더 이상 '이 프로젝트는 특정 환경에서만 편집할 수 있다'는 제약에 묶이지 않습니다.
- Vault 직접 편집:Vault에 등록한 코드 참조 라이브러리와 학습 프로젝트도 Code Server에서 직접 열어 탐색할 수 있습니다. Gemini가 예시 코드를 참조할 때 언제든 뛰어들어 더 깊이 학습하거나 실습할 수 있습니다.
Preset Task:Gemini의 다중 모달 능력을 템플릿화
Gemini의 능력은 강력하지만, 매번 요구사항을 손으로 입력하는 건 효율적이지 않습니다. 더 중요한 건, 커뮤니티가 이미 풍부한 고품질 Skills를 만들어냈다는 점입니다. 코드 리뷰 템플릿부터 풀스택 CRUD 생성기, 자동 문서 생성부터 테스트 케이스 오케스트레이션까지. 이렇게 검증된 실천들은 곳곳에 흩어져 있고 이를 통합적으로 호스팅하고 호출할 장소가 없습니다.
HagiCode의 Preset Task 메커니즘은 이 문제를 해결하기 위해 설계되었습니다. 단순한 단축 명령이 아니라 확장 가능한 Skills 통합 플랫폼입니다:
Preset Task는 Gemini와의 협업을 '매번 처음부터 소통하기'에서 '커뮤니티의 어깨 위에 서서 성숙한 워크플로를 원클릭으로 호출하기'로 업그레이드합니다. 템플릿은 당신이 고르고 Gemini가 실행합니다. 이것이 진정한 워크플로 자동화이며, 과정 전체가 시각적으로도 즐겁습니다.
- 바로 쓰는 커뮤니티 Skills:HagiCode는 인기 있는 커뮤니티 Skills를 Preset Task로 가져올 수 있습니다. 복잡한 프롬프트를 처음부터 만들 필요가 없습니다. 커뮤니티가 이미 풍부한 고품질 작업 템플릿을 축적해 두었습니다. 가져오기만 하면 바로 사용할 수 있고, 새로운 CRUD 모듈, 포괄적인 코드 리뷰, API 문서 생성 등 모두에 기성 해법이 있습니다.
- 확장 가능한 Skills 시스템:독자적인 프로젝트 요구사항이나 팀 관례이 있다면, 커뮤니티 Skills 위에 커스터마이징과 조합을 할 수 있습니다. 체크리스트를 조정하고, 팀 코딩 규칙을 추가하고, 여러 Skills를 연결해 완전한 개발 파이프라인을 구축해 팀만의 작업 템플릿 라이브러리를 만들 수 있습니다.
- 시각적 조작, 플레인 텍스트의 지루함과 작별:이것이 HagiCode와 순수 명령줄 도구의 근본적 차이입니다. Preset Task 선택에 터미널에서 명령을 입력하고 매개변수를 조립할 필요가 없습니다. 정성껏 설계된 시각적 인터페이스로 완결됩니다. 클릭으로 작업을 선택하고, 드롭다운으로 매개변수를 바꾸고, 드래그 앤 드롭으로 작업 순서를 바꿉니다. 모든 단계에 명확한 시각적 피드백과 상태 표시가 있습니다. 사람과 기계의 상호작용은 'AI를 부르기 위해 코드를 쓰는' 것에서 'UI로 AI를 지휘하는' 것으로 옮겨갑니다.
게임화 인터페이스:터미널의 다중 모달 경험을 직관적으로
프로그래밍 자체는 지루할 수도 있지만, 즐거울 수도 있습니다. HagiCode의 게임화된 인터페이스 설계는 명령줄 도구의 차가운 경험에서 벗어납니다:
Gemini는 지성을, HagiCode는 경험을 제공합니다. 둘이 함께하면 AI 프로그래밍은 '생산성 도구'에서 '정말 열고 싶은 개발 환경'으로 바뀝니다.
- 명확한 시각적 피드백:각 세션의 실행 상태, 진행, 결과가 직관적인 인터페이스 요소로 제시됩니다. 터미널 출력을 미친 듯이 스크롤할 필요가 없습니다.
- 성취와 진행의 시각화:작업 완료, 코드 커밋, 제안 승인 같은 마일스톤이 보이는 성취물로 포장되어, 개발 과정에 리듬과 성취감을 줍니다.
- 낮은 진입 장벽:마우스 클릭, 드래그 앤 드롭, 키보드 단축키의 조합으로 순수 터미널 워크플로에 익숙하지 않은 개발자도 Gemini의 모든 기능을 쉽게 다룰 수 있습니다.
Agents 관리:Gemini의 멀티태스크 병렬을 조직화된 오케스트레이션으로
병렬 세션은 유용하지만, 여러 개가 동시에 돌기 시작하면 다음 병목은 조율이 됩니다.
HagiCode의 Agents 관리 계층은 각 Gemini 워커를 보이는 상태, 할당된 범위, 독립적인 설정을 가진 이름 붙은 스케줄 가능한 Agent로 바꿉니다.
'터미널이 많이 열려 있다'에서 '작은 AI 팀이 한곳에서 조율되고 있다'로 옮겨갑니다.
- Agent 아이덴티티와 상태 시각화:어떤 Agent가 실행 중인지, 대기 중인지, 막혔는지, 보관 가능한지 한눈에 확인할 수 있습니다.
- 작업-Agent 바인딩:제안, 리뷰, 리팩터링, 테스트 작업을 각각 전용 Agent에 할당할 수 있습니다.
- 독립적인 Agent 설정:서로 다른 Agent가 간섭 없이 다른 모델 루트, Skills, 컨텍스트 범위를 사용할 수 있습니다.
Monospecs 다중 리포지터리 관리:Gemini의 초장문 컨텍스트를 진정으로 유용하게
실제 프로젝트에서 코드가 단일 리포지터리에 머무는 일은 드뭅니다. 프론트엔드, 백엔드, 문서, 공유 라이브러리가 서로 다른 리포에 흩어져 있고, 하나의 기능 변경이 여러 리포를 동시에 건드려야 할 수 있습니다. Gemini에게 단일 리포 모드는 작동하지만, 리포 간 관계를 본래 이해하지 못해 매 대화마다 '이 변경은 다른 두 리포에도 동기화돼야 해'라고 수동으로 알려야 하며, 이는 분명히 비효율적입니다.
HagiCode의 Monospecs 메커니즘은 다중 리포 시나리오를 위해 설계된 구조화된 해법입니다. .hagicode/monospecs.yaml 설정 파일을 통해 프로젝트 그룹의 모든 하위 리포 주소, 이름, 관계를 선언해, 제안을 시작할 때 Gemini에게 자동으로 리포 간 지도를 제공합니다:
Monospecs는 본질적으로 리포 간 협업에서 Gemini의 인지적 사각지대를 없앱니다. Gemini의 추론은 강력하지만, 변경 범위를 특정하려면 여전히 정확한 지도가 필요하며, Monospecs가 바로 그 체계적으로 관리되는 프로젝트 지도입니다.
- 자동 리포 관계 인식:개발 제안을 만들 때 Gemini는 Monospecs 설정에서 하위 리포 목록을 직접 읽어, '이 변경의 프론트엔드 코드는 repos/frontend, API 정의는 repos/backend, 문서는 repos/docs'에 있다는 것을 알 수 있습니다. 더 이상 매번 어떤 리포가 관여하는지 수동으로 나열할 필요가 없습니다.
- 리포 간 변경 추적:제안이 여러 하위 리포에 걸칠 때, OpenSpec 제안 디렉터리는 메인 리포에 머물고 하위 리포는 코드 변경만 담당합니다. 이렇게 하면 스펙과 코드가 분리되고 하위 리포는 깨끗하게 유지되지만, 전체 변경의 결정 체인과 논의 기록은 한곳에 집중됩니다. 보관 시 commit_when_archive가 스펙을 메인 리포에 자동 커밋할 수도 있어, 수동 버전 관리의 번거로움을 덜어줍니다.
- AI 커밋의 똑똑한 리포 지정:AI 커밋 시 HagiCode는 변경을 Monospecs 설정과 대조해 커밋이 어느 대상 리포로 가야 하는지 자동으로 제안합니다. 터미널에서 각 디렉터리에 cd 할 필요 없이, HagiCode가 이 코드가 어느 리포에 속하는지 판단합니다.
- 리포별 AGENTS.md:각 하위 리포는 자체 AGENTS.md를 가져, 해당 리포의 기술 스택, 코딩 규칙, 개발 관례를 Gemini에게 알릴 수 있습니다. Gemini는 서로 다른 리포를 조작할 때 해당 가이드를 자동으로 읽어, 항상 팀의 기준에 맞게 행동합니다.
Vault 크로스 프로젝트 지식 베이스:Gemini의 초장문 컨텍스트에 영속적 가치를
Gemini의 컨텍스트 창은 크지만, 새 세션은 매번 처음부터 시작합니다. 이전 제안에서 쌓은 경험, 분석한 프로젝트 구조, 논의한 모범 사례는 세션이 끝나면 모두 '잊힙니다'. 순수 대화 도구에서는 이를 받아들일 수밖에 없지만, HagiCode에서는 Vault 시스템이 판도를 바꿉니다.
Vault는 HagiCode의 크로스 프로젝트 영속 지식 저장 계층입니다. 핵심 설계 철학은 '한 번 등록하면, 어디서든 재사용'입니다:
Monospecs가 Gemini에게 프로젝트가 어디에 있는지 이해시킨다면, Vault는 Gemini에게 전에 무엇을 배웠는지 기억하게 합니다. 전자는 Gemini의 공간적 시야를 넓히고, 후자는 Gemini의 시간적 기억을 연장합니다. 둘이 함께하면 Gemini는 더 이상 매번 자기소개를 하는 낯선 사람이 아니라, 당신의 프로젝트 전경과 지식 축적을 진정으로 이해하는 장기 파트너가 됩니다.
- 다중 유형 지식 컨테이너:Vault는 네 가지 유형을 지원합니다. folder(일반 파일 디렉터리), coderef(오픈소스 프로젝트 학습 전용으로 표준화된 디렉터리 구조를 자동 초기화), obsidian(기존 Obsidian 노트를 직접 연결), system-managed(시스템이 자동 관리하는 프로젝트 설정과 프롬프트 템플릿 라이브러리). 곳곳에 흩어진 코드 리포지터리, 학습 노트, 설계 문서를 Vault에 등록하면 Gemini는 어떤 제안에서든 이 지식 자원의 존재를 자동으로 인식합니다.
- 자동 AI 컨텍스트 주입:새 제안이 시작될 때마다 HagiCode는 등록된 Vault 정보를 Gemini의 컨텍스트에 자동으로 주입합니다. 코드 조각을 수동으로 복사하거나 프로젝트 배경을 다시 설명할 필요가 없습니다. Gemini는 제안을 받는 시점에 어떤 학습 자원과 참조 프로젝트를 이용할 수 있는지 이미 알고 있어, 기존 지식에서 바로 작업을 시작할 수 있습니다.
- 세분화된 접근 제어:각 Vault는 reference(읽기 전용) 또는 editable로 표시할 수 있습니다. 오픈소스 프로젝트의 참조 코드 라이브러리는 읽기 전용으로 설정해 Gemini가 읽고 분석할 수는 있지만 수정할 수 없게 해, 잘못된 변경을 막습니다. 자신의 프로젝트 Vault를 editable로 설정하면 Gemini가 직접 코드를 작성하도록 도울 수 있습니다. 이 경계 덕에 AI의 자유도는 항상 통제 가능합니다.
- 크로스 프로젝트 지식 재사용:프로젝트 A를 분석하면서 '디자인 패턴 참조' Vault를 등록하면, Gemini는 이후 어떤 제안에서든 접근할 수 있습니다. 지식 베이스를 반복해 구축할 필요 없이, Vault는 학습 결과와 참조 자원을 상속 가능한 장기 자산으로 바꿉니다.
OmniRoute 모델 라우팅:Gemini CLI에 하나 이상의 길을
팀은 좋아하는 워크플로를 유지하면서 모델 접근을 하나의 벤더나 하나의 구독 경로에 묶이지 않아야 합니다.
OmniRoute는 상호작용 계층과 모델 라우팅 계층을 분리해, HagiCode는 워크플로에 Gemini를 남긴 채 아래에서 모델 소스를 전환할 수 있습니다.
이는 더 나은 비용 통제, 더 나은 작업-모델 적합, 그리고 모델 가격이나 가용성이 변할 때 워크플로 동요 감소를 가져다줍니다.
- 이미 선호하는 CLI나 상호작용 스타일을 유지하면서 아래의 모델 루트만 바꿀 수 있습니다.
- 하나의 라우팅 전략을 HagiCode에 연결된 여러 Agent와 여러 AI 도구에서 공유할 수 있습니다.
- 빠른 코딩, 심층 리뷰, 아키텍처 계획 등 서로 다른 워크로드에 서로 다른 모델 루트를 조정할 수 있습니다.
- 개별 워크플로를 재작업하는 대신 라우팅 계층에서 비용과 능력을 한 번에 조정할 수 있습니다.