memcode docs
Halo

Multi-step jobs

Requests that need several steps run as one job: shown whole, confirmed once, with results passed between steps.

Some requests are naturally several steps. Halo keeps them as steps rather than cramming them into one command:

◯ find the PDFs from yesterday and zip them
  ⟳ a job of 2 steps (changes files)
   1 Find files · PDF · modified yesterday
   2 Zip them into pdfs.zip
  Run this job?
  ❯ Yes
  • Shown whole. You see every step before anything runs.
  • Confirmed once. One confirmation covers the job, bounded by what the job was shown to need. A step that turns out to need more stops the job.
  • Results flow between steps. "them" means exactly what the earlier step found, not a fresh search.
  • Stops on failure. If a step fails, later steps do not run, and Halo shows where it stopped.

More examples:

◯ find the CSV files from this week and convert them to JSON
◯ for each folder in packages, count its files
◯ if there's no backup folder, make one
◯ stage the changes, commit them as "notes" and show the last commit
◯ list the ports above 8000 and show the process using the most memory