[ contents ]
참고

CLI 레퍼런스

Rasen CLI(rasen)는 프로젝트 설정, 검증, 상태 검사 및 관리를 위한 터미널 명령을 제공합니다. 이 명령은 명령에 설명된 AI 슬래시 명령(예: /rasen:propose)을 보완합니다.

요약

카테고리 명령 목적
설정 init, update 프로젝트에서 rasen 초기화 및 업데이트
스토어(독립 실행형 rasen 저장소) store setup, store register, store unregister, store remove, store list, store doctor 스토어 관리 — 등록한 독립 실행형 rasen 저장소
상태 진단 doctor 확인된 루트의 관계 상태 보고
작업 컨텍스트 context 작업 집합 구성(루트 + 참조 스토어)
개인용 워크셋 workset create, workset list, workset open, workset remove 도구에서 개인용 로컬 작업 뷰 유지 및 열기
탐색 list, view, show 변경 및 스펙 탐색
검증 validate 변경 및 스펙의 문제 확인
라이프사이클 archive 완료된 변경 최종 처리
워크플로우 new change, status, instructions, templates, schemas 산출물 주도 워크플로우 지원
스키마 schema init, schema fork, schema validate, schema which 커스텀 워크플로우 생성 및 관리
구성 config 설정 보기 및 수정
유틸리티 feedback, completion 피드백 및 쉘 통합

인간 vs 에이전트 명령

대부분의 CLI 명령은 터미널에서 인간 사용을 위해 설계되었습니다. 일부 명령은 JSON 출력을 통한 에이전트/스크립트 사용도 지원합니다.

인간 전용 명령

이 명령들은 대화형이며 터미널 사용을 위해 설계되었습니다.

명령 목적
rasen init 프로젝트 초기화(대화형 프롬프트)
rasen view 대화형 대시보드
rasen workset open <name> 저장된 워크셋 열기(에디터 윈도우 또는 터미널 에이전트 세션)
rasen config edit 에디터에서 구성 열기
rasen feedback GitHub를 통해 피드백 제출
rasen completion install 쉘 자동 완성 설치

에이전트 호환 명령

이 명령들은 AI 에이전트 및 스크립트의 프로그래매틱 사용을 위해 --json 출력을 지원합니다.

명령 인간 사용 에이전트 사용
rasen list 변경/스펙 탐색 구조화된 데이터의 --json
rasen show <item> 콘텐츠 읽기 구문 분석을 위한 --json
rasen validate 문제 확인 대량 검증을 위한 --all --json
rasen status 산출물 진행 상황 확인 구조화된 상태를 위한 --json
rasen instructions 다음 단계 가져오기 에이전트 지침을 위한 --json
rasen templates 템플릿 경로 찾기 경로 해석을 위한 --json
rasen schemas 사용 가능한 스키마 나열 스키마 발견을 위한 --json
rasen store setup <id> 로컬 스토어 생성 및 등록 구조화된 설정 출력을 위한 명시적 입력과 --json
rasen store register <path> 기존 스토어 등록 구조화된 등록 출력을 위한 --json
rasen store unregister <id> 로컬 스토어 등록 취소 구조화된 정리 출력을 위한 --json
rasen store remove <id> 등록된 로컬 스토어 폴더 삭제 비대화형 삭제를 위한 --yes --json
rasen store list 등록된 스토어 탐색 구조화된 등록을 위한 --json
rasen store doctor 로컬 스토어 설정 확인 구조화된 진단을 위한 --json
rasen new change <id> 리포지토리 로컬 변경 스캐폴딩 생성 --json, Rasen 루트로 등록된 스토어를 사용하기 위한 --store <id>
rasen workset create [name] 개인용 작업 뷰 구성 비대화형 구성을 위한 --member <path> --json
rasen workset list 저장된 워크셋 탐색 구조화된 뷰를 위한 --json
rasen workset remove <name> 저장된 뷰 삭제 비대화형 제거를 위한 --yes --json

전역 옵션

이 옵션은 모든 명령과 함께 작동합니다.

옵션 설명
--version, -V 버전 번호 표시
--no-color 컬러 출력 비활성화
--help, -h 명령 도움말 표시

설정 명령

rasen init

프로젝트에서 rasen을 초기화합니다. 폴더 구조를 생성하고 AI 도구 통합을 구성합니다.

기본 동작은 전역 구성 기본값을 사용합니다. 프로파일 full(모든 워크플로우), 전달 방식 both.

rasen init [path] [options]

인수:

인수 필수 설명
path 아니오 대상 디렉토리(기본값: 현재 디렉토리)

옵션:

옵션 설명
--tools <list> AI 도구를 비대화형으로 구성합니다. all, none 또는 쉼표로 구분된 목록 사용
--force 프롬프트 없이 레거시 파일 자동 정리
--profile <profile> 이 init 실행의 전역 프로파일 재정의(full, core 또는 custom)

--profile custom은 전역 구성에서 현재 선택된 워크플로우를 사용합니다(rasen config profile).

지원되는 도구 ID(--tools): amazon-q, antigravity, auggie, bob, claude, cline, codex, forgecode, codebuddy, continue, costrict, crush, cursor, factory, gemini, github-copilot, iflow, junie, kilocode, kimi, kiro, lingma, vibe, opencode, pi, qoder, qwen, roocode, trae, windsurf

이 목록은 src/core/config.tsAI_TOOLS를 미러합니다. 각 도구의 스킬 및 명령 경로는 지원 도구를 참조하세요.

예시:

# 대화형 초기화
rasen init

# 특정 디렉토리에서 초기화
rasen init ./my-project

# 비대화형: Claude 및 Cursor에 대해 구성
rasen init --tools claude,cursor

# 지원되는 모든 도구에 대해 구성
rasen init --tools all

# 이 실행의 프로파일 재정의
rasen init --profile core

# 프롬프트 건너뛰고 레거시 파일 자동 정리
rasen init --force

생성되는 항목:

rasen/
├── specs/              # 사양(신뢰할 수 있는 단일 소스)
├── changes/            # 제안 변경
└── config.yaml         # 프로젝트 구성

.claude/skills/         # Claude Code 스킬(claude 선택 시)
.cursor/skills/         # Cursor 스킬(cursor 선택 시)
.cursor/commands/       # Cursor OPSX 명령(전달 방식이 both일 경우)
... (기타 도구 구성)

rasen update

CLI를 업그레이드한 후 rasen 지침 파일을 업데이트합니다. 현재 전역 프로파일, 선택된 워크플로우 및 전달 방식을 사용하여 AI 도구 구성 파일을 다시 생성합니다.

rasen update [path] [options]

인수:

인수 필수 설명
path 아니오 대상 디렉토리(기본값: 현재 디렉토리)

옵션:

옵션 설명
--force 파일이 최신 상태일 때도 업데이트 강제

예시:

# npm 업그레이드 후 지침 파일 업데이트
npm update @atelierai/rasen
rasen update

스토어(독립 실행형 rasen 저장소)

베타. 스토어 및 이를 기반으로 구축된 기능(참조, 작업 컨텍스트, 워크셋)은 새로운 기능이므로 명령 이름, 플래그, 파일 형식 및 JSON 출력이 릴리스 간에 변경될 수 있습니다. 문제 중심 연습은 스토어 가이드를 참조합니다.

스토어는 이 머신에 등록한 독립 실행형 rasen 저장소입니다(예: 계획 저장소 또는 계약 저장소). 스토어를 등록하면 일반 명령(list, show, status, validate, new change, archive, ...)이 --store <id>를 전달하여 어디서든 스토어에서 작동할 수 있습니다.

rasen store setup

로컬 스토어를 생성하고 등록합니다. 터미널에서 인수가 없으면 Rasen이 사용자에게 설정 과정을 안내합니다. 에이전트와 스크립트는 명시적 입력을 전달하고 --json을 사용해야 합니다.

rasen store setup [id] [options]

옵션:

옵션 설명
--path <path> 스토어가 저장될 폴더(예: ~/rasen/<id>)
--remote <url> 새 스토어의 store.yaml에 기록할 정규 원격
--init-git Git 저장소를 초기 커밋으로 초기화(기본값)
--no-init-git 모든 Git 작업 건너뛰기: init 없음, 초기 커밋 없음
--json JSON 출력

비대화형 실행(--json, 스크립트, 에이전트)은 스토어 id와 --path를 모두 전달해야 합니다. 대화형 터미널에서 설정은 사용자가 소유한 보이는 위치(예: ~/rasen/<id>)의 편집 가능한 제안으로 위치를 요청합니다. rasen의 관리되는 데이터 디렉토리로 기본값을 설정하지 않습니다.

예시:

rasen store setup
rasen store setup team-context
rasen store setup team-context --path ~/rasen/team-context --no-init-git
rasen store setup team-context --path ~/rasen/team-context --no-init-git --json

rasen store register

기존 로컬 스토어 폴더를 등록합니다.

rasen store register [path] [options]

옵션:

옵션 설명
--id <id> 스토어 id(스토어 메타데이터 또는 폴더 이름으로 기본값)
--yes 건강한 Rasen 루트의 스토어 식별 메타데이터 생성 확인
--json JSON 출력

rasen store unregister

로컬 스토어 등록을 잊되 파일은 삭제하지 않습니다.

rasen store unregister <id> [--json]

스토어를 옮겼거나 다른 곳에 복제했거나 이 머신에서 rasen으로 더 이상 표시되지 않아야 할 때 사용합니다.

rasen store remove

로컬 스토어 등록을 잊고 로컬 폴더를 삭제합니다.

rasen store remove <id> [--yes] [--json]

remove는 대화형 터미널에서 삭제하기 전에 정확한 폴더를 표시합니다. 에이전트, 스크립트 및 JSON 호출자는 삭제를 확인하기 위해 --yes를 전달해야 합니다. Rasen은 일치하는 스토어 메타데이터를 포함하지 않는 폴더 삭제를 거부합니다.

rasen store list

로컬로 등록된 스토어를 나열합니다.

rasen store list [--json]
rasen store ls [--json]

rasen store doctor

로컬 스토어 등록, 메타데이터 및 Git 존재를 확인합니다.

rasen store doctor [id] [--json]

Doctor는 진단 전용입니다. 누락된 루트, 메타데이터 불일치 및 잘못된 로컬 레지스트리 상태를 보고하되 스토어를 수정하지 않습니다.

프로젝트에서 스토어 참조

프로젝트 리포지토리는 작업이 참조하는 스토어를 rasen/config.yaml에 선언할 수 있습니다.

schema: spec-driven
references:
  - team-context

그 이후로 해당 리포지토리의 rasen instructions 출력(산출물별 및 apply 표면, JSON 및 인간 모드 모두)은 각 참조 스토어의 스펙 색인 — 스펙 ID, 각 스펙의 Purpose 섹션의 한 줄 요약 및 fetch 명령(rasen show <spec-id> --type spec --store <id>)을 포함합니다. 색인은 모든 실행에서 등록된 체크아웃에서 실시간으로 구축되며, 스펙 콘텐츠는 출력으로 복사되지 않습니다.

참조는 읽기 전용 컨텍스트입니다. 명령이 작동하는 위치는 절대 변경되지 않습니다. 작업은 리포지토리 자체 루트에 유지되며 참조 스토어에 쓰기는 명시적 --store 작업으로 유지됩니다. 확인할 수 없는 참조(예: 이 머신에 등록되지 않은 스토어)는 정확한 수정과 함께 색인의 경고로 성능이 저하되며 지침은 계속 생성됩니다. rasen doctor는 한 곳에서 참조 상태를 보고합니다.

스토어를 클론한 위치 기록

스토어는 커밋된 식별 파일에 정규 클론 소스를 기록할 수 있으므로 온보딩은 "스토어 등록"에서 끝나지 않습니다.

rasen store setup team-context --path ~/rasen/team-context \
  --remote git@github.com:acme/team-context.git

원격은 초기 커밋 내 .rasen-store/store.yaml에 도착하므로 모든 클론이 이를 알고 탄생합니다. 기존 스토어의 경우 store.yaml을 직접 편집하고 커밋합니다. store doctor는 기록된 원격(및 체크아웃의 관찰된 Git origin)을 표시합니다. setup/register 공유 지침이 이름을 지정하며, register는 머신 로컬 레지스트리의 체크아웃 원본을 기록합니다.

참조 선언은 클론 소스도 포함할 수 있으므로 스토어를 아직 갖지 않은 팀 동료는 완전하고 붙여넣을 수 있는 수정사항(git clone <remote> <path> && rasen store register <path> --id <id>)을 얻습니다.

references:
  - { id: team-context, remote: "git@github.com:acme/team-context.git" }

원격 기록은 동기화가 아닙니다. rasen은 자체적으로 클론, 풀 또는 푸시를 하지 않습니다.

기본 스토어 선언

계획이 완전히 외부화된 리포지토리 — 로컬 rasen/specs/ 또는 rasen/changes/ 없음 — 모든 명령에서 --store를 전달하는 대신 스토어를 한 번 선언할 수 있습니다.

# rasen/config.yaml (rasen/ 아래의 유일한 파일)
store: team-context

일반 명령은 선언된 스토어로 자동으로 해석됩니다. 루트 배너 및 JSON root 블록이 source: "declared"와 스토어 id를 보고하며, 인쇄된 힌트는 여전히 --store <id>를 포함합니다. 선언은 재정의가 아닌 폴백입니다. 명시적 --store은 항상 이기고, 실제 계획 폴더가 있는 디렉토리는 포인터를 무시합니다(경고 포함). 포인터 리포지토리를 로컬 Rasen 루트로 변환하려면 store: 줄을 제거하고 rasen init을 실행합니다 — init은 선언이 있는 동안 스캐폴드를 거부합니다.

Doctor(관계 상태)

한 가지 읽기 전용 질문, 한 곳: Rasen 루트가 건강합니까? 참조하는 스토어를 이 머신에서 사용할 수 있습니까?

rasen doctor [--store <id>] [--json]

보고서는 루트 상태, 스토어 메타데이터 상태(기록된 원격과 체크아웃의 원본이 분산될 때의 참고 포함) 및 참조 상태(지침이 표시하는 것과 동일한 진단, 확인되지 않은 참조에 대한 클론 수정 포함)를 구분합니다. 심각도 관계없이 상태 발견은 종료 0 — 에이전트는 status 배열을 읽습니다. 명령 실패만(루트 없음, 알 수 없는 스토어) 종료 1입니다. Doctor는 절대 클론, 동기화 또는 복구하지 않습니다. 조립된 집합 자체가 아니라 상태를 가져오려면 rasen context를 사용합니다.

작업 컨텍스트(조립된 집합)

rasen 선언을 통해 이 작업이 관련된 모든 것이 한 작업 집합에 있습니다. Rasen 루트 및 참조하는 스토어.

rasen context [--store <id>] [--json] [--code-workspace <path> [--force]]

JSON 브리프는 에이전트 소비 가능합니다(사용 가능한 각 참조 스토어가 fetch 레시피를 포함합니다. 확인되지 않은 멤버는 지침과 doctor가 표시하는 것과 동일한 수정사항을 포함합니다). --code-workspace는 루트 및 사용 가능한 참조 스토어(ref:<id> 폴더)를 포함하는 VS Code 워크스페이스 파일을 추가로 씁니다 — 이 명령이 수행하는 유일한 쓰기, 파일이 존재하면 --force 없이 거부됩니다. 사용할 수 없는 멤버는 보고되고 추측되지 않습니다.

"작업 컨텍스트"는 조립된 집합입니다. rasen/config.yamlcontext: 필드는 지침에 주입된 프로젝트 배경 — 두 가지 다른 것입니다. rasen doctor는 집합이 건강한지 답변합니다. rasen context는 집합이 무엇인지 답변합니다.

개인용 워크셋

베타. 워크셋은 새로운 베타 표면의 일부이므로 명령, 플래그 및 파일 형식이 릴리스 간에 변경될 수 있습니다. 연습은 스토어 가이드를 참조합니다.

워크셋은 함께 작업하는 폴더의 개인용 명명된 뷰 — 계획 루트 및 선택하는 다른 항목 — 머신에 유지되고 도구에서 이름으로 다시 열립니다. 이는 순수 로컬입니다. 절대 커밋되지 않고, 절대 공유되지 않으며, 선언에서 파생되지 않으며, 하나를 제거하면 멤버 폴더를 절대 건드리지 않습니다.

rasen workset create [name] [--member <path> | --member <name>=<path>]... [--tool <id>] [--json]
rasen workset list [--json]
rasen workset open <name> [--tool <id>]
rasen workset remove <name> [--yes] [--json]

create는 짧은 안내 흐름을 실행합니다(또는 --member 플래그를 비대화형으로 사용합니다. 첫 번째 멤버는 기본입니다 — 세션이 시작됩니다). open은 선택한 도구를 시작합니다. 에디터(VS Code, Cursor)는 모든 멤버가 있는 창을 열고 돌아옵니다. CLI 에이전트(Claude Code, codex)는 이 터미널을 모든 멤버가 첨부되고 프롬프트가 미리 채워지지 않은 세션으로 인수합니다. 열 때 누락된 멤버 폴더는 참고와 함께 건너뜁니다. 저장된 도구 기본 설정은 --tool로 열 때마다 재정의할 수 있습니다.

새 도구 지원은 코드가 아닌 구성입니다. 모든 도구는 두 시작 스타일 중 하나입니다 — workspace-file(생성된 .code-workspace로 시작됨) 또는 attach-dirs(멤버당 하나의 attach 플래그) — 전역 config.json(이를 rasen config edit로 열기)의 openers 키는 필드당 도구를 추가하거나 기본값을 조정합니다.

{
  "openers": {
    "zed": { "style": "workspace-file" },
    "claude": { "attach_flag": "--dir" }
  }
}

모든 워크셋 상태는 전역 데이터 디렉토리의 worksets/ 폴더 아래에 있습니다(저장된 뷰 및 생성된 <name>.code-workspace 파일, 모든 열기에서 다시 생성됨). 해당 폴더를 삭제하면 모든 흔적이 제거됩니다.

머신 데이터 위치: 전역 데이터 디렉토리(워크셋, 스토어 레지스트리, 프로젝트 레지스트리, 사용자 스키마/파이프라인) 및 전역 구성 디렉토리(config.json)는 모든 플랫폼에서 기본적으로 ~/.rasen으로 설정됩니다. RASEN_HOME을 하나의 커스텀 디렉토리로 이동하도록 설정합니다. XDG_DATA_HOME/XDG_CONFIG_HOME은 호환성 별칭으로 RASEN_HOME 아래에서 여전히 적용됩니다. 업그레이드 후 첫 실행에서 이전 플랫폼별 위치에서 발견된 데이터는 손실 없이 자동으로 ~/.rasen으로 채택됩니다.


탐색 명령

rasen list

프로젝트의 변경 또는 스펙을 나열합니다.

rasen list [options]

옵션:

옵션 설명
--specs 변경 대신 스펙 나열
--changes 변경 나열(기본값)
--sort <order> recent(기본값) 또는 name으로 정렬
--json JSON으로 출력

예시:

# 모든 활성 변경 나열
rasen list

# 모든 스펙 나열
rasen list --specs

# 스크립트를 위한 JSON 출력
rasen list --json

출력(텍스트):

Changes:
  add-dark-mode     No tasks      just now

rasen view

스펙 및 변경을 탐색하기 위한 대화형 대시보드를 표시합니다.

rasen view

프로젝트의 사양 및 변경을 탐색하기 위한 터미널 기반 인터페이스를 엽니다.


rasen show

변경 또는 스펙의 세부 정보를 표시합니다.

rasen show [item-name] [options]

인수:

인수 필수 설명
item-name 아니오 변경 또는 스펙의 이름(생략하면 프롬프트)

옵션:

옵션 설명
--type <type> 유형 지정: change 또는 spec(모호하지 않으면 자동 감지)
--json JSON으로 출력
--no-interactive 프롬프트 비활성화

변경 특정 옵션:

옵션 설명
--deltas-only 델타 스펙만 표시(JSON 모드)

스펙 특정 옵션:

옵션 설명
--requirements 요구사항만 표시, 시나리오 제외(JSON 모드)
--no-scenarios 시나리오 콘텐츠 제외(JSON 모드)
-r, --requirement <id> 1 기반 색인으로 특정 요구사항 표시(JSON 모드)

예시:

# 대화형 선택
rasen show

# 특정 변경 표시
rasen show add-dark-mode

# 특정 스펙 표시
rasen show auth --type spec

# 구문 분석을 위한 JSON 출력
rasen show add-dark-mode --json

검증 명령

rasen validate

변경 및 스펙의 구조 문제를 검증합니다.

rasen validate [item-name] [options]

인수:

인수 필수 설명
item-name 아니오 검증할 특정 항목(생략하면 프롬프트)

옵션:

옵션 설명
--all 모든 변경 및 스펙 검증
--changes 모든 변경 검증
--specs 모든 스펙 검증
--type <type> 이름이 모호할 때 유형 지정: change 또는 spec
--strict 엄격한 검증 모드 활성화
--json JSON으로 출력
--concurrency <n> 최대 병렬 검증(기본값: 6, 또는 RASEN_CONCURRENCY 환경 변수)
--no-interactive 프롬프트 비활성화

예시:

# 대화형 검증
rasen validate

# 특정 변경 검증
rasen validate add-dark-mode

# 모든 변경 검증
rasen validate --changes

# JSON 출력을 사용한 모든 것 검증(CI/스크립트용)
rasen validate --all --json

# 증가된 병렬 처리를 사용한 엄격한 검증
rasen validate --all --strict --concurrency 12

출력(텍스트):

Validating add-dark-mode...
  ✓ proposal.md valid
  ✓ specs/ui/spec.md valid
  ⚠ design.md: missing "Technical Approach" section

1 warning found

출력(JSON):

{
  "version": "1.0.0",
  "results": {
    "changes": [
      {
        "name": "add-dark-mode",
        "valid": true,
        "warnings": ["design.md: missing 'Technical Approach' section"]
      }
    ]
  },
  "summary": {
    "total": 1,
    "valid": 1,
    "invalid": 0
  }
}

라이프사이클 명령

rasen archive

완료된 변경을 보관하고 델타 스펙을 주 스펙으로 병합합니다.

rasen archive [change-name] [options]

인수:

인수 필수 설명
change-name 아니오 보관할 변경(생략하면 프롬프트)

옵션:

옵션 설명
-y, --yes 확인 프롬프트 건너뛰기
--skip-specs 스펙 업데이트 건너뛰기(인프라/도구/문서 전용 변경)
--no-validate 검증 건너뛰기(확인 필요)

예시:

# 대화형 보관
rasen archive

# 특정 변경 보관
rasen archive add-dark-mode

# 프롬프트 없이 보관(CI/스크립트)
rasen archive add-dark-mode --yes

# 스펙에 영향을 주지 않는 도구 변경 보관
rasen archive update-ci-config --skip-specs

수행되는 작업:

  1. 변경 검증(--no-validate 제외)
  2. 확인을 위해 프롬프트(--yes 제외)
  3. 델타 스펙을 rasen/specs/으로 병합
  4. 변경 폴더를 rasen/changes/archive/YYYY-MM-DD-<name>/로 이동

워크플로우 명령

이 명령은 산출물 주도 OPSX 워크플로우를 지원합니다. 진행 상황을 확인하는 인간과 다음 단계를 결정하는 에이전트 모두에게 유용합니다.

rasen new change

확인된 Rasen 루트에 변경 디렉토리 및 선택적 체크인 메타데이터를 생성합니다.

rasen new change <name> [options]

옵션:

옵션 설명
--description <text> README.md에 추가할 설명
--goal <text> 변경과 함께 저장할 선택적 골 메타데이터
--schema <name> 사용할 워크플로우 스키마
--store <id> Rasen 루트로 사용할 스토어 id(스토어는 등록한 독립 실행형 rasen 저장소)
--json JSON 출력

예시:

rasen new change add-billing-api
rasen new change add-billing-api --store team-context --json

rasen status

변경의 산출물 완료 상태를 표시합니다.

rasen status [options]

옵션:

옵션 설명
--change <id> 변경 이름(생략하면 프롬프트)
--schema <name> 스키마 재정의(변경의 구성에서 자동 감지)
--json JSON으로 출력

예시:

# 대화형 상태 확인
rasen status

# 특정 변경의 상태
rasen status --change add-dark-mode

# 에이전트 사용을 위한 JSON
rasen status --change add-dark-mode --json

출력(텍스트):

Change: add-dark-mode
Schema: spec-driven
Progress: 2/4 artifacts complete

[x] proposal
[ ] design
[x] specs
[-] tasks (blocked by: design)

출력(JSON):

{
  "changeName": "add-dark-mode",
  "schemaName": "spec-driven",
  "isComplete": false,
  "applyRequires": ["tasks"],
  "artifacts": [
    {"id": "proposal", "outputPath": "proposal.md", "status": "done"},
    {"id": "design", "outputPath": "design.md", "status": "ready"},
    {"id": "specs", "outputPath": "specs/**/*.md", "status": "done"},
    {"id": "tasks", "outputPath": "tasks.md", "status": "blocked", "missingDeps": ["design"]}
  ]
}

rasen instructions

산출물을 생성하거나 작업을 적용하기 위한 풍부한 지침을 얻습니다. AI 에이전트가 다음으로 생성할 항목을 이해하는 데 사용됩니다.

rasen instructions [artifact] [options]

인수:

인수 필수 설명
artifact 아니오 산출물 ID: proposal, specs, design, tasks 또는 apply

옵션:

옵션 설명
--change <id> 변경 이름(비대화형 모드에서 필수)
--schema <name> 스키마 재정의
--json JSON으로 출력

특수 경우: 작업 구현 지침을 얻으려면 apply를 산출물로 사용합니다.

예시:

# 다음 산출물의 지침 가져오기
rasen instructions --change add-dark-mode

# 특정 산출물 지침 가져오기
rasen instructions design --change add-dark-mode

# 적용/구현 지침 가져오기
rasen instructions apply --change add-dark-mode

# 에이전트 소비를 위한 JSON
rasen instructions design --change add-dark-mode --json

출력 포함:

  • 산출물의 템플릿 콘텐츠
  • 구성의 프로젝트 컨텍스트
  • 종속성 산출물의 콘텐츠
  • 구성의 산출물별 규칙

rasen templates

스키마의 모든 산출물에 대한 해결된 템플릿 경로를 표시합니다.

rasen templates [options]

옵션:

옵션 설명
--schema <name> 검사할 스키마(기본값: spec-driven)
--json JSON으로 출력

예시:

# 기본 스키마의 템플릿 경로 표시
rasen templates

# 커스텀 스키마의 템플릿 표시
rasen templates --schema my-workflow

# 프로그래매틱 사용을 위한 JSON
rasen templates --json

출력(텍스트):

Schema: spec-driven

Templates:
  proposal  → ~/.rasen/schemas/spec-driven/templates/proposal.md
  specs     → ~/.rasen/schemas/spec-driven/templates/specs.md
  design    → ~/.rasen/schemas/spec-driven/templates/design.md
  tasks     → ~/.rasen/schemas/spec-driven/templates/tasks.md

rasen schemas

사용 가능한 워크플로우 스키마를 설명 및 산출물 흐름과 함께 나열합니다.

rasen schemas [options]

옵션:

옵션 설명
--json JSON으로 출력

예시:

rasen schemas

출력:

Available schemas:

  spec-driven (package)
    The default spec-driven development workflow
    Flow: proposal → specs → design → tasks

  my-custom (project)
    Custom workflow for this project
    Flow: research → proposal → tasks

스키마 명령

커스텀 워크플로우 스키마를 생성하고 관리하기 위한 명령.

rasen schema init

새로운 프로젝트 로컬 스키마를 생성합니다.

rasen schema init <name> [options]

인수:

인수 필수 설명
name 스키마 이름(kebab-case)

옵션:

옵션 설명
--description <text> 스키마 설명
--artifacts <list> 쉼표로 구분된 산출물 ID(기본값: proposal,specs,design,tasks)
--default 프로젝트 기본 스키마로 설정
--no-default 기본값으로 설정하라는 프롬프트를 표시하지 않음
--force 기존 스키마 덮어쓰기
--json JSON 출력

예시:

# 대화형 스키마 생성
rasen schema init research-first

# 특정 산출물을 사용한 비대화형
rasen schema init rapid \
  --description "Rapid iteration workflow" \
  --artifacts "proposal,tasks" \
  --default

생성되는 항목:

rasen/schemas/<name>/
├── schema.yaml           # 스키마 정의
└── templates/
    ├── proposal.md       # 각 산출물의 템플릿
    ├── specs.md
    ├── design.md
    └── tasks.md

rasen schema fork

기존 스키마를 프로젝트로 복사하여 사용자 정의합니다.

rasen schema fork <source> [name] [options]

인수:

인수 필수 설명
source 복사할 스키마
name 아니오 새 스키마 이름(기본값: <source>-custom)

옵션:

옵션 설명
--force 기존 대상 덮어쓰기
--json JSON 출력

예시:

# 기본 제공 spec-driven 스키마 포크
rasen schema fork spec-driven my-workflow

rasen schema validate

스키마의 구조 및 템플릿을 검증합니다.

rasen schema validate [name] [options]

인수:

인수 필수 설명
name 아니오 검증할 스키마(생략하면 모든 것 검증)

옵션:

옵션 설명
--verbose 상세 검증 단계 표시
--json JSON으로 출력

예시:

# 특정 스키마 검증
rasen schema validate my-workflow

# 모든 스키마 검증
rasen schema validate

rasen schema which

스키마가 어디에서 해석되는지 표시합니다(우선 순위 디버깅에 유용).

rasen schema which [name] [options]

인수:

인수 필수 설명
name 아니오 스키마 이름

옵션:

옵션 설명
--all 모든 스키마를 소스와 함께 나열
--json JSON으로 출력

예시:

# 스키마가 어디에서 오는지 확인
rasen schema which spec-driven

출력:

spec-driven resolves from: package
  Source: /usr/local/lib/node_modules/@atelierai/rasen/schemas/spec-driven

스키마 우선 순위:

  1. 프로젝트: rasen/schemas/<name>/
  2. 사용자: ~/.rasen/schemas/<name>/ (또는 설정 시 $RASEN_HOME/schemas/<name>/)
  3. 패키지: 기본 제공 스키마

구성 명령

rasen config

전역 rasen 구성을 보고 수정합니다.

rasen config <subcommand> [options]

부명령:

부명령 설명
path 구성 파일 위치 표시
list 모든 현재 설정 표시
get <key> 특정 값 가져오기
set <key> <value> 값 설정
unset <key> 키 제거
reset 기본값으로 재설정
edit $EDITOR에서 열기
profile [preset] 대화형으로 또는 프리셋을 통해 워크플로우 프로파일 구성

예시:

# 구성 파일 경로 표시
rasen config path

# 모든 설정 나열
rasen config list

# 특정 값 가져오기
rasen config get telemetry.enabled

# 값 설정
rasen config set telemetry.enabled false

# 문자열 값을 명시적으로 설정
rasen config set user.name "My Name" --string

# 커스텀 설정 제거
rasen config unset user.name

# 모든 구성 재설정
rasen config reset --all --yes

# 에디터에서 구성 편집
rasen config edit

# 작업 기반 마법사로 프로파일 구성
rasen config profile

# 빠른 프리셋: 워크플로우를 core로 전환(전달 방식 유지)
rasen config profile core

rasen config profile은 현재 상태 요약으로 시작한 후 선택할 수 있게 합니다.

  • 전달 + 워크플로우 변경
  • 전달만 변경
  • 워크플로우만 변경
  • 현재 설정 유지(종료)

현재 설정을 유지하면 변경사항이 작성되지 않고 업데이트 프롬프트가 표시되지 않습니다. 구성 변경이 없지만 현재 프로젝트 파일이 전역 프로파일/전달 방식과 동기화되지 않은 경우 rasen은 경고를 표시하고 rasen update를 제안합니다. Ctrl+C 키를 누르면 흐름이 깔끔하게 취소되고(스택 추적 없음) 종료 코드 130으로 종료됩니다. 워크플로우 체크리스트에서 [x]는 워크플로우가 전역 구성에서 선택되었음을 의미합니다. 이러한 선택사항을 프로젝트 파일에 적용하려면 rasen update를 실행하거나(또는 프로젝트 내에서 Apply changes to this project now?를 선택) 선택합니다.

대화형 예시:

# 전달만 업데이트
rasen config profile
# 선택: Change delivery only
# 전달 방식 선택: Skills only

# 워크플로우만 업데이트
rasen config profile
# 선택: Change workflows only
# 체크리스트에서 워크플로우를 전환한 후 확인

유틸리티 명령

rasen feedback

rasen에 대한 피드백을 제출합니다. GitHub 문제를 생성합니다.

rasen feedback <message> [options]

인수:

인수 필수 설명
message 피드백 메시지

옵션:

옵션 설명
--body <text> 상세 설명

요구사항: GitHub CLI(gh)를 설치하고 인증해야 합니다.

예시:

rasen feedback "Add support for custom artifact types" \
  --body "I'd like to define my own artifact types beyond the built-in ones."

rasen completion

rasen CLI의 쉘 자동 완성을 관리합니다.

rasen completion <subcommand> [shell]

부명령:

부명령 설명
generate [shell] 완성 스크립트를 표준 출력으로 출력
install [shell] 쉘에 대한 완성 설치
uninstall [shell] 설치된 완성 제거

지원되는 쉘: bash, zsh, fish, powershell

예시:

# 자동 완성 설치(쉘 자동 감지)
rasen completion install

# 특정 쉘에 대해 설치
rasen completion install zsh

# 수동 설치를 위한 스크립트 생성
rasen completion generate bash > ~/.bash_completion.d/rasen

# 제거
rasen completion uninstall

종료 코드

코드 의미
0 성공
1 오류(검증 실패, 누락된 파일 등)

환경 변수

변수 설명
RASEN_TELEMETRY 텔레메트리를 비활성화하려면 0으로 설정
DO_NOT_TRACK 텔레메트리를 비활성화하려면 1로 설정(표준 DNT 신호)
RASEN_CONCURRENCY 대량 검증의 기본 동시성(기본값: 6)
EDITOR 또는 VISUAL rasen config edit을 위한 에디터
NO_COLOR 설정 시 컬러 출력 비활성화

관련 문서