Using flow, run f setup.
Search through all available tasks by running f.
Note
Below is AI generated so can be not accurate
flow is a CLI as a dump of various commands written in Go that are useful to me. See cli/flow for its code/docs.
Run f deploy to install flow-rs into PATH. It also puts fw command in path (my own personal shorthand, but you can change it).
index scans folders for Git repositories and writes a JSON index that captures metadata (branch, HEAD commit, dirty files, remote, etc.). It's handy for quickly understanding the state of many repos.
- Run
f index -- --root ~/code --output ~/Desktop/repos.jsonto index everything under~/code. - The resulting JSON includes stats for each repo plus a list of failures so you can retry problematic ones.
- Pass
--jobsto control concurrency or--quietto silence progress logs.
stream is a lightweight daemon/CLI combo that launches an efficient macOS screen capture pipeline (ffmpeg with VideoToolbox) and a remote receiver (tmux + ffmpeg or headless OBS) over SSH/SRT. The goal is to replace GUI-only OBS on the host machine and keep frame drops off the main desktop.
- Run
f stream -- --helpto see the commands. - Start with
stream config initto write~/Library/Application Support/stream/config.toml, then customize the example profiles (remote host, ffmpeg path, ingest port, etc.). stream startlaunches the remote tmux session plus a detached local ffmpeg process and writes logs to~/Library/Application Support/dev.nikiv.stream/logs.stream stoptears down both sides,stream statusreports health, andstream checkverifies binaries/SSH connectivity.
The default config ships with two profiles:
- main – ffmpeg listening on the Linux receiver and remuxing to MPEG-TS.
- obs – headless OBS on the remote machine (ideal when you already have a Media Source pointed at the matching SRT port).
Modify encoder, bitrate, scale filters, tmux session names, or headless OBS flags per profile. The CLI keeps a JSON session file so you can script it or hook it into launchd/cron.
code prints the surrounding block for a given file/line and follows referenced functions within the same file to build a quick context dump.
- Run
f code -- path/to/file.ts 42to print the block that contains line 42 plus any locally defined callees it references. - Pass
--depth 2(or more) to recursively expand referenced functions a few levels deep.
All library code is in lib/ (currently git ignored as there is only one library there in separate repo).
- log_macro - Macro to print variable(s) with values nicely
Make issues with bugs/features. Any PR to improve project is welcome. Ideally with working & useful patches but non finished ideas are great too. If idea/feature is sound, it will be merged eventually.
This is nice overview of a coding workflow that works that you can adapt.