flows 명령 그룹이 Flow 한살이의 주요 핸들. 일상 CLI 작업 대부분이 이걸 거침. nora flows use <slug>로 활성 Flow를 고정하면 이후 명령이 그 Flow를 기본으로 씀.
명령
flows list
--json을 붙임. Flow 당 한 줄.
flows get
- 위험한 변경 전 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으로 추적.
jq나yq로 한꺼번에 편집.- 템플릿: Flow 하나를 스냅샷하고, JSON을 손보고, 새 Flow로 적용.
flows apply
<slug>가 없으면 생성됨. 업데이트하면 그 JSON이 새 Draft가 됨. 배포는 따로 함.
--name "..." 옵션이 생성 시 표시 이름을 정함.
전형적인 config-as-code 워크플로우:
flows delete
--yes를 안 넘기면 확인이 필요. --yes는 스크립트용. 인터랙티브에서는 치기 전에 생각.
flows use와 flows current
agents create, tools list, flows publish 등)이 고정된 slug를 씀.
워크스페이스를 전환하면? 고정이 따라옴. 워크스페이스마다 자기 고정 Flow를 기억.
고정을 안 바꾸고 한 명령만 덮어쓰기:
배포
--note <text>릴리스 노트(꼭 권함. versions list와 감사 트레일에 뜸).--author-label <text>버전 카드에 표시. 기본은 계정 이름.
롤백
버전에서 Draft 복원
버전 메타데이터
--json을 붙임.
워크스페이스를 넘나드는 작업
많은 명령이 호출마다--workspace를 받아, 스크립트가 전환 없이 여러 워크스페이스에 동작:
빈 캔버스나 똑같은 Flow를 다시 배포하는 건 서버가 거절. 앱의 Publish 버튼과 같은 가드레일.