NorfairKing / feedback

Declarative feedback loop manager
https://cs-syd.eu/posts/2022-11-14-automate-your-feedback-loops-using-feedback
GNU General Public License v3.0
61 stars 10 forks source link

command to return just the keys #20

Closed locallycompact closed 1 year ago

locallycompact commented 1 year ago

If you have multiple loops for the same project in different windows there's some friction when resuming a project, especially if that project is checked out on a remote machine.

One way to help might be to have feedback keys that returns the keys, then the user can run something like:

feedback keys | xargs -I{} alacritty --command "feedback {}"

The remote situation would then be a lot of typing but possible with ssh commands I think?

NorfairKing commented 1 year ago

@locallycompact I think I'm not really understanding your use-case here. Are you saying you use multiple feedback loops in the same project and are feeling friction restarting them? I'd like to see an example of that so I can understand it better. Running feedback with no arguments already shows you the available loops.

locallycompact commented 1 year ago

Here is the README from horizon-plutus

You can get live feedback using the feedback tool and
running the following commands in three separate terminals

feedback build

feedback check

feedback gen

feedback gen here will actually retrigger the other two with generated nix code. All three need to be in different windows and concurrently to respond to all events before committing. I can make one nix app button to do this, but ideally without hardcoding the keywords here.

locallycompact commented 1 year ago

It's common that these repos are checked out on a remote machine as well because the builds are quite heavy, so to resume this project from a laptop, it's four terminals worth of ssh, but programatically a nix app could return the shell command you need to run to do it from one terminal.

NorfairKing commented 1 year ago

@locallycompact

  1. I think I get it now. This'll be a common use-case I think so let's think about this together.
  2. It looks like we have an opportunity to design composite loops so this can handle all of this inside a single window.
  3. We can definitely add some porcelain commands like keys
locallycompact commented 1 year ago

I think composite loops would suit some people some of the time, but deferring control of the windows to the tiling window manager has other quality of life benefits, like being able to keep one relevant window mirrored in the heads up display of a domain expert or mirrored to a 100 inch screen.

NorfairKing commented 1 year ago

Running feedback with no arguments already shows you the available loops. You can use yq to do what you want.