RASEN

원이 아니라, 나선이다.

[ 의도 기반 자율 하니스 — 수동이 아니라 자동 ]

제자리로 돌아오는 루프는 그저 원일 뿐이다.

Rasen은 자율 하니스입니다 — 코딩 에이전트의 내부 루프를 감싸는, 설계된 외부 루프입니다. 당신은 의도만 전달하면 됩니다 — 목표, 버그, 기능 요청 — 하니스가 스스로 제안 → 구현 → 리뷰 → 수정 → 배포 → 보관을 진행하며, 작업이 끝날 때까지 반복합니다. 소프트웨어 개발의 자동변속기: 코드가 아니라 아이디어를 다루세요.

>>> 소스 · github.com/DumoeDss/rasen
버전
0.1.3
라이선스
MIT
요구 사항
Node.js >= 20.19.0
패키지
npm · @atelierai/rasen
01 / 브리핑

의도는 출발점이다. 나선은 그곳에 도달하는 방법이다.

패키지@atelierai/rasennpm
버전0.1.3빌드 시점에 읽음
라이선스MITOpenSpec + Sayo
계보OpenSpecFission-AI에서 포크
02 / 원이 아니라 — 나선이다

Rasen(螺旋, 나선)은 계속 상승하는 루프의 형태다.

그것이 전체 발상이며, 실제로 이 도구가 작동하는 방식과 그대로 맞아떨어진다.

01

>>>의도가 기원이다.

모든 변경은 당신이 써야 하는 문서가 아니라, 당신이 원하는 것에서 시작한다 — 목표, 버그 리포트, 기능 요청. 하니스가 그것을 rasen/ 워크스페이스에 기록하고 바로 작업에 들어간다: /rasen:propose → apply → archive. 그 과정에서 나오는 스펙은 파이프라인이 스스로 쌓아가는 작업 기억일 뿐, 당신에게 돌아오는 숙제가 아니다.

02

>>>루프가 형태다.

작업은 한 번의 워터폴이 아니라 주기로 진행된다. rasen 파이프라인 패밀리 — small-feature, bug-fix, full-feature, auto-decompose — 는 하나의 작업을 제안, 구현, 리뷰, 배포로 이어지는 하나의 루프로 만든다.

03

>>>매 회전마다 상승한다.

이 하니스는 단순히 반복하지 않고 진전을 만든다. /rasen:auto는 역할이 분리된 서브에이전트를 지휘하는 LEAD를 실행하고, 스스로 실수를 잡아내는 리뷰 사이클과, 세션 간 맥락을 옮기는 핸드오프/릴레이를 갖추어 — 매 회전이 시작보다 더 높은 지점에서 끝나게 한다.

04

>>>돌파할 때까지.

/rasen:goal은 문서가 아니라 조건으로 나선을 닫는다: 지표를 목표치까지 끌어올리거나, 모듈을 평가 기준에 맞게 정리하거나, 브리프에 답이 나올 때까지 조사한다 — 게이트가 충족될 때까지 수정 → 판정을 반복한다.

03 / 얻게 되는 것

일곱 개의 모듈, 하나의 하니스.

워크플로우 의도 기반 워크플로우

무엇을 만들지 말하기만 하면 된다. 하니스가 작업하는 동안 제안서, 스펙, 설계, 작업 목록을 담은 폴더를 스스로 생성하고 유지한다 — 당신이 직접 쓸 필요가 없다: /rasen:propose → /rasen:apply → /rasen:archive.

파이프라인 파이프라인 패밀리

small-feature / bug-fix / full-feature / auto-decompose는 데이터(YAML)로 제공되며, rasen pipeline show|list|classify|resume로 확인한다. 작업 유형 추가는 파일 하나 추가로 끝나며, 코드는 필요 없다.

오토파일럿 /rasen:auto

명령 하나로 에이전트가 LEAD가 되어, 역할이 분리된 서브에이전트(planner / implementer / reviewer / fixer / shipper)를 지휘해 파이프라인을 진행하며, 게이트에서만 멈춘다.

골 루프 /rasen:goal

/rasen:auto의 자매 기능으로, "완료"가 문서가 아니라 조건인 작업을 위한 것이다. LEAD가 measure / evaluate / research로 분류하고, 게이트가 충족되거나 라운드 상한에 도달할 때까지 수정 → 판정을 반복한다.

분해 자동 분해

하나의 리뷰 가능한 diff에 담기에 너무 큰 작업은 의존성 DAG와 보수적인 직렬/병렬 정책을 갖춘, 독립적으로 전달 가능한 하위 변경들로 분할된다.

브라우저 제어 chrome-use

CDP를 통해 실제 Chrome을 조작하는 전문가: 탐색, 클릭, 네트워크 트래픽 캡처, JS 주입, 쿠키와 localStorage 읽기, 요청 대기 — 로그인된 페이지, SPA, 일반 fetch로는 닿지 않는 모든 것에 사용한다.

연속성 컨텍스트 감지 및 핸드오프

rasen agent context는 실제 점유율을 측정하고, /rasen:handoff는 요약된 체크포인트를 기록한다. 워커는 소프트 예산에 도달하면 스스로 핸드오프하고, 컴팩트 복구 훅이 자동 컴팩트 이후 다시 기준점을 잡아, 장시간 실행도 컨텍스트 한계를 견딘다.

04 / 실제로 동작하는 모습

하나의 세션, 네 개의 명령.

You: /rasen:explore
AI:  What would you like to explore?
You: I want dark mode but I'm not sure how to do it cleanly.
AI:  Let me look at your styling setup...
     Cleanest path here: CSS variables + a small theme context,
     with system-preference detection. No new dependencies. Scope it?
You: Yes, let's do it.

You: /rasen:propose add-dark-mode
AI:  Created rasen/changes/add-dark-mode/
     proposal.md — why we're doing this, what's changing
     specs/       — requirements and scenarios
     design.md    — technical approach
     tasks.md     — implementation checklist
     Ready for implementation!
You: /rasen:apply
AI:  Implementing tasks...
     1.1 Add theme context provider
     1.2 Create toggle component
     2.1 Add CSS variables
     2.2 Wire up localStorage
     All tasks complete!
You: /rasen:archive
AI:  Archived to rasen/changes/archive/2026-01-23-add-dark-mode/
     Specs updated. Ready for the next feature.
05 / 설치

명령 하나, 그리고 초기화.

Node.js >= 20.19.0이 필요합니다. rasen 설치는 기존 OpenSpec 설정을 전혀 방해하지 않습니다 — 네임스페이스가 절대 겹치지 않습니다.

npm i -g @atelierai/rasen
cd your-project && rasen init

rasen initrasen/ 워크스페이스(스펙과 변경 사항)를 생성하고, 사용 중인 AI 코딩 도구에 /rasen:* 슬래시 명령을 설치합니다. 업그레이드 후에는 rasen update를 실행해 안내와 최신 슬래시 명령을 받아오세요.

06 / openspec과의 공존

독립된 네임스페이스, 충돌 제로.

Rasen은 Fission-AI의 OpenSpec(MIT)에서 포크되어 현재는 Sayo가 독립적으로 유지 관리하고 있으며, Fission-AI와는 무관합니다. 워크플로우 시맨틱은 업스트림 OpenSpec v1.5.0과 일치합니다 — 제안 → 적용 → 보관 모델이 동일합니다 — 다만 rasen은 독립된 네임스페이스에서 동작하므로, 같은 프로젝트에 둘 다 동시에 설치할 수 있습니다.

영역
openspec
rasen
바이너리
openspec
rasen
슬래시 명령
/opsx:*
/rasen:*
스킬
openspec-*
rasen-*
워크스페이스
openspec/
rasen/

기존에 openspec/ 워크스페이스가 있다면, rasen migrate는 복사만 수행합니다: openspec/{specs,changes,config.yaml}rasen/으로 복사하고, 이미 존재하는 항목은 건너뜁니다. 원본 openspec/ 디렉터리는 수정되거나 삭제되지 않습니다.