bonsai-rx / bonsai

The compiler, IDE, and standard library for the Bonsai visual programming language for reactive systems
https://bonsai-rx.org
MIT License
141 stars 29 forks source link

Add support for adding and removing packages from the command-line #1085

Open glopesdev opened 2 years ago

glopesdev commented 2 years ago

This would make it easier to manage self-contained installs from the command-line for virtual machines and other automation environments.

PathogenDavid commented 5 months ago

Do you have a vision of how you want this to work in practice?

Are you envisioning something like dotnet add? That was my immediate instinct, but the existing CLI doesn't really work that way.

The second idea was to extend --package-manager since it kind-of allows sub commands already, but it's also a very UI-centric flag/command as it is.

Looking at the CLI interface under a microscope makes me wonder if we shouldn't have a wider discussion about revamping it before extending it. It's a bit of a mess and doesn't lend itself well to having subcommands.

glopesdev commented 3 months ago

@PathogenDavid We should definitely have a broader discussion about the CLI.

As other things in the IDE, it grew organically by need and was definitely not designed for complexity (it's not even properly documented).

I had been considering System.CommandLine but it unfortunately seems to have turned into a forever beta project, so not sure whether that is the best approach anymore.

Thinking now we should probably move the milestone to give us a bit more time to discuss, possibly even for the 3.0 release.

PathogenDavid commented 3 months ago

I had been considering System.CommandLine but it unfortunately seems to have turned into a forever beta project, so not sure whether that is the best approach anymore.

Yeah, it's going through a rewrite right now so probably not a great time to invest into it.

I've never really found a command line parsing library that I liked so I always just roll my own, so definitely not opposed to going that route for Bonsai once we agree on a CLI shape.