Skip to main content
flows 명령 그룹이 Flow 한살이의 주요 핸들. 일상 CLI 작업 대부분이 이걸 거침. nora flows use <slug>로 활성 Flow를 고정하면 이후 명령이 그 Flow를 기본으로 씀.

명령

flows list

활성 워크스페이스의 모든 Flow를 slug, 이름, 마지막 배포 버전, 마지막 수정 시각과 함께 표시. 기계용 출력은 --json을 붙임. Flow 당 한 줄.

flows get

전체 Flow 페이로드를 출력: 블록, 와이어, 설정, 배포 상태, 타임스탬프. 늘 JSON. 흔한 용도:
  • 위험한 변경 전 Flow 백업: nora flows get support > support-backup.json.
  • 특정 블록 검사: nora flows get support | jq '.blocks[] | select(.id=="ag_1")'.
  • 두 워크스페이스 비교: diff <(nora --workspace ws1 flows get x) <(nora --workspace ws2 flows get x).

flows snapshot

편집 가능한 페이로드(블록과 엣지. 설정이나 배포 상태는 빼고)만 덤프. 이럴 때 좋음:
  • Nora 밖에서 Flow를 git으로 추적.
  • jqyq로 한꺼번에 편집.
  • 템플릿: Flow 하나를 스냅샷하고, JSON을 손보고, 새 Flow로 적용.

flows apply

JSON 파일에서 Flow를 upsert. <slug>가 없으면 생성됨. 업데이트하면 그 JSON이 새 Draft가 됨. 배포는 따로 함. --name "..." 옵션이 생성 시 표시 이름을 정함. 전형적인 config-as-code 워크플로우:

flows delete

Flow 삭제. 배포된 버전은 유예 기간 동안 ID로 접근되지만 slug는 바로 풀림. --yes를 안 넘기면 확인이 필요. --yes는 스크립트용. 인터랙티브에서는 치기 전에 생각.

flows useflows current

워크스페이스별 Flow 고정. Flow를 기본으로 쓰는 모든 명령(agents create, tools list, flows publish 등)이 고정된 slug를 씀. 워크스페이스를 전환하면? 고정이 따라옴. 워크스페이스마다 자기 고정 Flow를 기억. 고정을 안 바꾸고 한 명령만 덮어쓰기:

배포

지금 Draft를 새 버전으로 스냅샷하고 라이브 포인터를 옮김. Owner와 Manager만 배포 가능. 옵션 플래그:
  • --note <text> 릴리스 노트(꼭 권함. versions list와 감사 트레일에 뜸).
  • --author-label <text> 버전 카드에 표시. 기본은 계정 이름.
배포 전 서버 점검: 사이클 없음, 모든 입력 배선, 빈 프롬프트 없음, Draft ≠ 현재 배포(아무것도 안 바꾸는 배포 없음). 흔한 CI 레시피:

롤백

라이브 포인터를 옛 버전으로 옮김. Draft는 안 건드림. 즉시임. 다시 배포가 아니라 포인터를 넘기는 것. 롤백은 안전. 아무것도 안 잃음. 언제든 새 버전으로 다시 앞으로 갈 수 있음.

버전에서 Draft 복원

옛 버전 페이로드를 Draft로 복사. 프로덕션은 안 건드림. 옛 버전을 그대로 출시하지 않고 손보고 싶을 때 씀. 흔한 예: 출혈을 멈추려 v14로 롤백. v16 변경을 오프라인에서 고치고 싶음. 스크래치 Flow에 v16을 Draft로 복원해 손보고, 다시 적용하고, 배포.

버전 메타데이터

버전 이력이 배포, 롤백, 복원을 다룸. “누가 언제 뭘 배포했나” 를 되짚기 좋음. 구조화 출력은 --json을 붙임.

워크스페이스를 넘나드는 작업

많은 명령이 호출마다 --workspace를 받아, 스크립트가 전환 없이 여러 워크스페이스에 동작:
빈 캔버스나 똑같은 Flow를 다시 배포하는 건 서버가 거절. 앱의 Publish 버튼과 같은 가드레일.