시작하기
이 가이드는 설치 및 초기화한 후 rasen의 작동 방식을 설명합니다. 설치 지침은 설치 가이드를 참조하세요. 전체 문서 집합에 새로운가요? 문서 홈이 모든 것을 매핑합니다.
이 명령들을 어디에 입력하나요? 두 곳이 있으며, 그들을 혼동하는 것이 가장 일반적인 초기 실수입니다.
rasen ...명령 (예:rasen init)은 터미널에서 실행됩니다./rasen:...명령 (예:/rasen:propose)은 AI 어시스턴트의 채팅에서 실행됩니다. 코드를 작성해달라고 요청하는 동일한 상자입니다.시작할 별도의 "대화형 모드"는 없습니다. 채팅에 슬래시 명령을 입력하면 어시스턴트가 처리합니다. 전체 설명: 명령이 어떻게 작동하는지.
첫 5분
전체 루프, 각 단계가 발생하는 위치로 라벨됨:
터미널 $ npm install -g @atelierai/rasen@latest
터미널 $ cd your-project && rasen init
AI 채팅 /rasen:explore (선택사항: 먼저 생각하기)
AI 채팅 /rasen:propose add-dark-mode (AI가 계획을 초안, 당신이 검토)
AI 채팅 /rasen:apply (AI가 구축)
AI 채팅 /rasen:archive (스펙 업데이트, 변경 보관)
설정하는 두 터미널 단계, 그 후 채팅에서 살아갑니다. 이 가이드의 나머지는 각 단계가 무엇을 하고 무엇을 볼지 풉니다.
아직 뭘 구축할지 확실하지 않나요?
/rasen:explore로 시작하세요. 코드베이스를 읽고, 옵션을 저울질하고, 모호한 아이디어를 구체적인 계획으로 날카롭게 하는 무해한 생각 파트너입니다. 모든 산출물이나 코드가 존재하기 전입니다. 그림이 명확하면/rasen:propose로 인계됩니다. 이것은 그렇지 않으면 자신감 있게 잘못된 것을 구축할 AI로 작업할 때 형성할 가장 좋은 습관입니다. 탐색 가이드를 참조하세요.
작동 방식
Rasen은 코드가 작성되기 전에 당신과 AI 코딩 어시스턴트가 뭘 구축할지 동의하도록 돕습니다.
빠른 경로 (core 명령 집합):
/rasen:explore ──► /rasen:propose ──► /rasen:apply ──► /rasen:sync ──► /rasen:archive
(선택사항)
뭘 할지 알아내고 있을 때 /rasen:explore로 시작하거나, 이미 알 때 /rasen:propose로 바로 뛰어들기. Explore는 기본 full 프로파일과 축소된 core 프로파일 모두에서 제공되므로, custom 프로파일을 선택하여 빠지지 않으면 그곳에 있습니다.
확장 경로 (단계별 산출물 제어):
/rasen:new ──► /rasen:ff 또는 /rasen:continue ──► /rasen:apply ──► /rasen:verify ──► /rasen:archive
기본 글로벌 프로파일은 full이며, 모든 워크플로우 명령을 설치합니다 — 이미 위의 두 경로 모두 사용 가능합니다. 필수 사항 (propose, explore, apply, sync, archive)으로 축소하려면 rasen config profile core로 전환한 다음 rasen update를 수행하세요.
Rasen이 생성하는 것
rasen init을 실행한 후, 프로젝트는 이 구조를 가집니다:
rasen/
├── specs/ # 신뢰할 수 있는 단일 소스 (시스템의 동작)
│ └── <domain>/
│ └── spec.md
├── changes/ # 제안된 업데이트 (변경당 폴더)
│ └── <change-name>/
│ ├── proposal.md
│ ├── design.md
│ ├── tasks.md
│ └── specs/ # 증량 스펙 (변경되는 것)
│ └── <domain>/
│ └── spec.md
└── config.yaml # 프로젝트 설정 (선택사항)
두 가지 핵심 디렉터리:
specs/- 신뢰할 수 있는 단일 소스. 이 스펙은 시스템이 현재 어떻게 동작하는지 설명합니다. 도메인별로 정리 (예:specs/auth/,specs/payments/).changes/- 제안된 수정. 각 변경은 모든 관련 산출물과 함께 자체 폴더를 가집니다. 변경이 완료되면, 스펙은 메인specs/디렉터리로 병합됩니다.
산출물 이해
각 변경 폴더는 작업을 안내하는 산출물을 포함합니다:
| 산출물 | 목적 |
|---|---|
proposal.md |
"왜"와 "무엇" - 의도, 범위 및 접근 방식 캡처 |
specs/ |
ADDED/MODIFIED/REMOVED 요구사항을 보여주는 증량 스펙 |
design.md |
"어떻게" - 기술적 접근 방식 및 아키텍처 결정 |
tasks.md |
체크박스가 있는 구현 체크리스트 |
산출물이 서로 기반합니다:
제안서 ──► 스펙 ──► 설계 ──► 작업 ──► 구현
▲ ▲ ▲ │
└─────────┴─────────┴───────────────┘
배우면서 업데이트
구현 중 더 배우면서 항상 이전 산출물을 검토하고 정제할 수 있습니다.
증량 스펙이 어떻게 작동하는지
증량 스펙은 rasen의 핵심 개념입니다. 현재 스펙에 비해 변경되는 것을 보여줍니다.
형식
증량 스펙은 섹션을 사용하여 변경 타입을 나타냅니다:
# 인증을 위한 증량
## ADDED 요구사항
### 요구사항: 2단계 인증
시스템은 로그인 중 두 번째 요소가 필요합니다(MUST).
#### 시나리오: OTP 필요
- GIVEN 2FA가 활성화된 사용자
- WHEN 사용자가 유효한 자격증명 제출
- THEN OTP 챌린지가 제시됨
## MODIFIED 요구사항
### 요구사항: 세션 시간초과
시스템은 30분의 비활성 후 세션을 만료합니다(SHALL).
(이전: 60분)
#### 시나리오: 유휴 시간초과
- GIVEN 인증된 세션
- WHEN 30분이 활동 없이 경과
- THEN 세션이 무효화됨
## REMOVED 요구사항
### 요구사항: 기억하기
(2FA 대신 사용 중단됨)
보관 시 발생하는 것
변경을 보관할 때:
- ADDED 요구사항은 메인 스펙에 추가됨
- MODIFIED 요구사항은 기존 버전 대체
- REMOVED 요구사항은 메인 스펙에서 삭제
변경 폴더는 감사 기록을 위해 rasen/changes/archive/로 이동합니다.
예제: 첫 번째 변경
애플리케이션에 다크 모드를 추가하는 방법을 살펴봅시다.
1. 변경 시작 (기본)
당신: /rasen:propose add-dark-mode
AI: rasen/changes/add-dark-mode/ 생성
✓ proposal.md — 왜 이것을 하는지, 뭐가 변경되는지
✓ specs/ — 요구사항 및 시나리오
✓ design.md — 기술적 접근 방식
✓ tasks.md — 구현 체크리스트
구현 준비 완료!
확장 워크플로우 프로파일을 활성화했다면, 이를 두 단계로 수행할 수 있습니다: /rasen:new 그 다음 /rasen:ff (또는 증분적으로 /rasen:continue).
2. 생성되는 것
proposal.md - 의도를 캡처:
# 제안서: 다크 모드 추가
## 의도
사용자가 밤 시간 사용 중 눈 피로를 줄이기 위해 다크 모드 옵션을 요청했습니다.
## 범위
- 설정에 테마 토글 추가
- 시스템 환경설정 감지 지원
- localStorage에서 환경설정 유지
## 접근 방식
테마 관리를 위해 CSS 커스텀 속성과 React Context를 사용합니다.
specs/ui/spec.md - 새로운 요구사항을 보여주는 증량:
# UI에 대한 증량
## ADDED 요구사항
### 요구사항: 테마 선택
시스템은 사용자가 light와 dark 테마 사이를 선택하도록 해야 합니다(SHALL).
#### 시나리오: 수동 토글
- GIVEN 모든 페이지의 사용자
- WHEN 사용자가 테마 토글 클릭
- THEN 테마가 즉시 전환
- AND 환경설정이 세션 전체에 걸쳐 지속
#### 시나리오: 시스템 환경설정
- GIVEN 저장된 환경설정이 없는 사용자
- WHEN 애플리케이션 로드
- THEN 시스템의 선호 색 구성표가 사용됨
tasks.md - 구현 체크리스트:
# 작업
## 1. 테마 인프라
- [ ] 1.1 light/dark 상태로 ThemeContext 생성
- [ ] 1.2 색상에 CSS 커스텀 속성 추가
- [ ] 1.3 localStorage 지속성 구현
## 2. UI 컴포넌트
- [ ] 2.1 ThemeToggle 컴포넌트 생성
- [ ] 2.2 설정 페이지에 토글 추가
- [ ] 2.3 빠른 토글을 포함하도록 Header 업데이트
## 3. 스타일링
- [ ] 3.1 다크 테마 색상 팔레트 정의
- [ ] 3.2 CSS 변수를 사용하도록 컴포넌트 업데이트
3. 구현
당신: /rasen:apply
AI: 작업을 진행 중...
✓ 1.1 light/dark 상태로 ThemeContext 생성
✓ 1.2 globals.css에 CSS 커스텀 속성 추가
✓ 1.3 localStorage 지속성 구현
✓ 2.1 ThemeToggle 컴포넌트 생성
...
모든 작업 완료!
구현 중 설계를 조정해야 한다는 것을 발견하면, 산출물을 업데이트하고 계속하세요.
4. 보관
당신: /rasen:archive
AI: add-dark-mode 보관 중...
✓ rasen/specs/ui/spec.md에 스펙 병합
✓ rasen/changes/archive/2025-01-24-add-dark-mode/로 이동
완료! 다음 기능에 준비됨.
증량 스펙이 이제 메인 스펙의 일부이며, 시스템 작동 방식을 문서화합니다.
검증 및 검토
CLI를 사용하여 변경을 확인합니다:
# 활성 변경 나열
rasen list
# 변경 세부사항 보기
rasen show add-dark-mode
# 스펙 형식 검증
rasen validate add-dark-mode
# 대화형 대시보드
rasen view
다음 단계
- 먼저 탐색 - 커밋하기 전에 아이디어를 생각하기 위해
/rasen:explore사용 - 변경 검토 - AI가 초안한 계획에서 어떤 코드 전에 무엇을 확인할지
- 좋은 스펙 작성 - 강한 요구사항과 시나리오가 어떻게 보이는지
- 기존 프로젝트에서 Rasen 사용 - 큰 기존 코드베이스에서 시작
- 변경 편집 및 반복 - 산출물 업데이트, 돌아가기, 수동 편집 조정
- 한눈에 핵심 개념 - 한 페이지의 전체 정신 모델
- 예제 & 레시피 - 처음부터 끝까지의 실제 변경
- 워크플로우 - 일반적인 패턴 및 각 명령을 언제 사용할지
- 명령 - 모든 슬래시 명령의 전체 참조
- 개념 - 스펙, 변경 및 스키마에 대한 더 깊은 이해
- 커스터마이징 - Rasen을 당신의 방식으로 작동하도록 만들기
- 스토어 - 리포지토리나 팀을 걸친 계획? 자체 리포에 유지 (베타)
- 자주 묻는 질문과 문제 해결 - 막힐 때