Files
tutor-service/.opencode/commands/weave-switch.md

3.9 KiB
Raw Permalink Blame History

description
description
활성 플랜 전환, 목록 조회, 아카이브

/weave-switch - 플랜 전환

개요

멀티 플랜 환경에서 활성 플랜을 전환하거나, 플랜을 관리합니다.

사용법:

  • /weave-switch — 전체 플랜 목록 표시 (선택 UI)
  • /weave-switch $ARGUMENTS
    • $ARGUMENTS = 플랜 이름 → 해당 플랜으로 전환
    • $ARGUMENTS = archive {plan-name} → 플랜 아카이브
    • $ARGUMENTS = unarchive {plan-name} → 아카이브 해제

데이터 로드

1. .opencode/weave/state.yaml 읽기 → active_plan 확인
2. .opencode/weave/plans/ 내 모든 .yaml 파일 읽기
3. 각 플랜의 plan_name, project_name, status, phases 집계

플랜 목록 (/weave-switch 인자 없음)

## 🔀 플랜 전환

### 활성 플랜
📌 `emotion-diary` — 감정 일기 앱 (P2 진행 중, 40%)

### 전환 가능한 플랜
| # | 플랜 | 프로젝트 | 상태 | 진행률 |
|---|------|---------|------|--------|
| 1 | `todo-app` | Todo 앱 | paused | 60% |
| 2 | `auth-module` | 인증 모듈 | completed | 100% |

### 아카이브된 플랜
| 플랜 | 프로젝트 | 완료일 |
|------|---------|--------|
| `old-prototype` | 프로토타입 v1 | 2026-01-15 |

전환하려면: `/weave-switch todo-app`
아카이브 해제: `/weave-switch unarchive old-prototype`

플랜 전환 (/weave-switch {plan-name})

수행 작업

  1. .opencode/weave/plans/{plan-name}.yaml 존재 여부 확인
  2. 현재 활성 플랜의 상태를 paused로 변경 (active였던 경우)
  3. 대상 플랜의 상태를 active로 변경
  4. state.yamlactive_plan을 업데이트

출력

## ✅ 플랜이 전환되었습니다

📌 `emotion-diary``todo-app`

**이전 플랜**: `emotion-diary` (P2 진행 중) → paused
**현재 플랜**: `todo-app` (P4 대기 중) → active

### 현재 상태
[████████████░░░░░░░░] 3/5

다음 Phase: `/weave-craft P4`
돌아가려면: `/weave-switch emotion-diary`

에러 케이스

존재하지 않는 플랜:

❌ 플랜 `xyz`를 찾을 수 없습니다.

사용 가능한 플랜:
- `emotion-diary` (active)
- `todo-app` (paused)

전체 목록: `/weave-switch`

이미 활성 플랜인 경우:

 `emotion-diary`는 이미 활성 플랜입니다.

상태 확인: `/weave-status`

플랜 아카이브 (/weave-switch archive {plan-name})

수행 작업

  1. 대상 플랜의 statusarchived로 변경
  2. 활성 플랜이 아카이브되면 → state.yamlactive_plannull

출력

## 📦 플랜이 아카이브되었습니다

`old-prototype` → archived

아카이브된 플랜은 `/weave-status`에서 숨겨집니다.
복원하려면: `/weave-switch unarchive old-prototype`

활성 플랜을 아카이브하려는 경우

⚠️ `emotion-diary`는 현재 활성 플랜입니다.

아카이브하면 활성 플랜이 없어집니다.
계속할까요? (예/아니오)

플랜 아카이브 해제 (/weave-switch unarchive {plan-name})

수행 작업

  1. 대상 플랜의 statuspaused로 변경
  2. 활성 플랜으로 자동 전환하지는 않음 (명시적으로 switch 필요)

출력

## 📦 아카이브가 해제되었습니다

`old-prototype` → paused

활성 플랜으로 전환하려면: `/weave-switch old-prototype`

state.yaml 변경 예시

전환 전:

active_plan: "emotion-diary"

전환 후:

active_plan: "todo-app"

플랜 파일 변경:

# plans/emotion-diary.yaml
status: "paused"     # active → paused

# plans/todo-app.yaml
status: "active"     # paused → active