| 87 | } |
| 88 | |
| 89 | func printUsage() { |
| 90 | fmt.Println(`flow — personal task and agent-session manager |
| 91 | |
| 92 | Setup: |
| 93 | flow init |
| 94 | flow skill install [--force] |
| 95 | flow skill uninstall |
| 96 | flow skill update |
| 97 | |
| 98 | Create: |
| 99 | flow add project "<name>" --work-dir <path> [--slug <s>] [--priority h|m|l] [--mkdir] |
| 100 | flow add task "<name>" [--slug <s>] [--project <slug>] [--work-dir <path>] [--mkdir] [--priority h|m|l] [--due <date>] |
| 101 | |
| 102 | Sessions: |
| 103 | flow do <ref> [--harness claude|codex] [--fresh] [--dangerously-skip-permissions] |
| 104 | flow do --auto <ref> [--harness claude|codex] (run headlessly in the background; self-completes via flow done) |
| 105 | flow done <ref> |
| 106 | flow hook session-start (SessionStart hook handler — wire via ~/.claude/settings.json) |
| 107 | |
| 108 | Read: |
| 109 | flow show task [<ref>] |
| 110 | flow show project [<ref>] |
| 111 | flow transcript [<ref>] [--compact] (readable transcript from session jsonl) |
| 112 | flow stats [--since all|<N>d] [--project <slug>] [--card] [--out <path>] |
| 113 | flow list tasks [--status ...] [--project ...] [--priority ...] [--tag <t>] [--since ...] [--include-archived] |
| 114 | flow list projects [--status ...] [--include-archived] |
| 115 | flow list tags (every tag in use, with per-tag task counts) |
| 116 | |
| 117 | Edit / mutate: |
| 118 | flow edit <ref> |
| 119 | flow update task <ref> [--work-dir <path>] [--mkdir] |
| 120 | [--status <s>] [--priority h|m|l] |
| 121 | [--assignee <name>] [--clear-assignee] |
| 122 | [--due-date <date>] [--clear-due] |
| 123 | [--waiting "<who or what>"] [--clear-waiting] |
| 124 | [--tag <t> ...] [--remove-tag <t> ...] [--clear-tags] |
| 125 | flow update project <ref> [--priority h|m|l] |
| 126 | flow do <ref> [--harness claude|codex] [--fresh] [--dangerously-skip-permissions] [--force] (choose harness only for a new task session; --force overrides the live-session guard) |
| 127 | flow do --here <ref> [--force] (bind THIS harness session to the task; --force overwrites a prior binding) |
| 128 | flow archive <ref> |
| 129 | flow unarchive <ref> |
| 130 | |
| 131 | Workdirs: |
| 132 | flow workdir list |
| 133 | flow workdir add <path> [--name <nickname>] |
| 134 | flow workdir remove <path> |
| 135 | flow workdir scan [<root>] [--add] |
| 136 | |
| 137 | Playbooks: |
| 138 | flow add playbook "<name>" --work-dir <path> [--slug <s>] [--project <slug>] [--mkdir] |
| 139 | flow run playbook <slug> [--dangerously-skip-permissions] (spawn a new tab) |
| 140 | flow run playbook <slug> --here (bind THIS harness session to the new run; no new tab) |
| 141 | flow run playbook <slug> --auto (run the playbook headlessly in the background) |
| 142 | flow show playbook <ref> |
| 143 | flow list playbooks [--project <slug>] [--include-archived] |
| 144 | |
| 145 | Owners (autonomous, self-prompting controllers — see flow skill §4.17): |
| 146 | flow add owner "<name>" --work-dir <path> [--every <dur>] [--slug <s>] [--project <slug>] [--mkdir] |