개발자 커뮤니티에서 beads와 gastown에 대해서 들었다. 제작자인 Steve Yegge의 Medium을 보고, github repository를 보고 몇 가지 아이디어가 떠올랐다. 하지만, 컨셉을 모두 이해하지 못한 상태에서 좀 큰 아이디어에 뛰어 들다 보니, 다시 작게 해보자는 생각이 들었다.

1. Beads/Gastown 개요 및 Mini-Journal 프로젝트 연계

Beads & Gastown이란?

  • Beads (bd): 에이전트 전용 '구조화된 기억 엔진'이다. 일반적인 이슈 트래커와 달리, 에이전트가 이해하기 쉬운 형태로 태스크 간의 의존성(Graph)을 관리하고, 개발 문맥(Context)을 보존한다.
  • Gastown (gt): 여러 에이전트가 협업할 수 있는 '가상 워크스페이스(공장)'를 조율합니다. 원본 코드를 보호하면서 에이전트가 안전하게 코드를 수정하고 테스트할 수 있는 독립된 작업 공간(Crew/Hooks)을 제공한다.

Steve Yegge의 Agentic coding tool이 docker이면, GasTown은 Kubenettes라는 비유가 찰떡같다는 생각이다.

Mini-Journal 프로젝트 사례 연계

이번 프로젝트는 단순히 "일기 앱을 만드는 것"이 목적이 아니다. "사용자가 설계(PRD)를 던지면, AI 에이전트가 Beads에서 할 일을 찾고 Gastown 공장에서 스스로 코드를 생산하는 워크플로우"를 검증하는 사례이다. Node.js를 이용해 날짜별로 저널을 기록하는 간단한 기능을 구현하며 이 시스템의 개념, 동작 그리고 실효성을 확인했다.


2. 관련 툴 설치 가이드 (Environment Setup)

프로젝트 시작을 위해 필요한 핵심 도구들의 설치 과정이다. 나는 Mini PC/Unbutu 환경에서 확인했다. Mac 혹은 Windows/WSL2에서도 가능하다고 한다.

Go & 관련 바이너리 설치

Beads와 Gastown은 Go 언어로 작성되었다.

# Go 설치 (Ubuntu 기준)
sudo apt update && sudo apt install golang-go

# Beads/Gastown 설치 (다른 프로젝트 연동으로 소스 코드가 있는 경우)
cd ~/prj/Livo/apps/beads && go install ./cmd/bd
cd ~/prj/Livo/apps/gastown && go install ./cmd/gt

# 환경 변수 등록 (~/.bashrc)
export PATH=$PATH:$(go env GOPATH)/bin

tmux 설치

Gastown은 에이전트 세션을 격리하고 유지하기 위해 tmux를 필수적으로 사용한한다.

sudo apt install tmux

3. Workspace 설정 및 Beads 준비

공장 부지를 닦고 작업 목록을 만드는 과정입니다.

Workspace(공장) 초기화

# 1. 중앙 워크스페이스 생성
gt install ~/gt --git

# 2. 프로젝트(Rig) 등록
gt rig add journal /home/blcktgr/prj/mini-journal

# 3. 개발자 전용 작업장(Crew) 생성
gt crew add blcktgr --rig journal

# 4. 작업 공간으로 이동 (이곳이 실제 전장입니다)
cd ~/gt/journal/crew/blcktgr

Beads 이슈 생성

에이전트에게 시킬 일을 정의한다.

# Beads 초기화
bd init

# 첫 번째 작업 생성 (PRD의 US-001 대응)
bd create "US-001" -p 0

# 준비된 작업 확인
bd ready

4. 개발 실행 및 테스트

실제로 AI 에이전트(Mayor)를 깨워 개발을 진행하고 로컬에서 검증하는 단계이다.

에이전트 가동 (Mayor Start)

안정적인 개발을 위해 Claude를 메인 에이전트로 설정하여 접속한다.

# 1. 에이전트 설정 및 실행
gt config default-agent claude
gt mayor start

# 2. 세션 접속 (tmux 인터페이스 진입)
gt mayor attach

에이전트 지시 및 코딩

세션 내부에서 에이전트에게 PRD.mdCLAUDE.md를 읽게 한 뒤, bd ready에 있는 이슈를 처리하도록 명령한다. 에이전트는 이 과정에서 journal.js 파일을 생성하고 Docs/transformations/에 설계 기록을 남긴긴다.

로컬 테스트

에이전트가 작성을 완료하면, 로컬 터미널에서 즉시 검증한한다.

Bash

# 오늘 날짜의 저널 기록 테스트
node journal.js "블로그 포스팅 준비 중"

# 결과 확인
ls entries/
cat entries/2026-01-24.md

💡 마무리

Agentic Coding은 정말 빠르게 발전하고 있다. 단순히, Agent에게 요구 사항 문서를 주고 개발하라고 하는 단계에서, 문맥(Context)을 설계하고 에이전트의 워크플로우를 관리하는 오케스트레이션으로 진화하고 있는 것을 살펴 볼 수 있다.

개인적으로는 이제 baby step을 해보았기에, dashboard를 만들거나 여러 프로젝트를 한꺼번에 돌려보거나, 여러 agent (claude, codex, gemini, opencode)를 활용해 보고자 한다.

사실, 어려웠던 점은 gemini와 연계가 안되어서 시간을 사용했다. LLM, github issues, googling으로는 아직 힌트를 얻지는 못했다. 하지만, claude만으로도 훌륭했다.

참고 링크

Welcome to GasTwon, https://steve-yegge.medium.com/welcome-to-gas-town-4f25ee16dd04

mini-journal, https://github.com/blcktgr73/mini-journal

+ Recent posts