Andriamanitra / coctus

Command line tool for playing Clash of Code locally
MIT License
4 stars 2 forks source link

"Porcelain" commands #60

Open ellnix opened 2 months ago

ellnix commented 2 months ago

This is following @daxida's point that this repository is less easily recommendable to users of codingame since they may not be aware of the tooling of the language they are using in codingame.

In addition, we could have a greater spread of users if we do not implicitly expect them to be comfortable with piping and chaining commands.

I propose that we take a "git" approach with two classes of commands

Every command we have so far can be considered a plumbing command, in this issue I wanted to get opinions on adding porcelain commands like:

  1. Fetching a puzzle, saving the stub to a file, and opening it in the editor in one command
  2. Another run-like command that builds and compiles the solution based on the language and warns users when tooling is missing from their system
  3. A watch command or option to the above command that watches for file changes without needing to pipe to anything
Andriamanitra commented 2 months ago

I kind of don't want to bloat the binary with this kind of stuff. I've always envisioned clash as more of a building block for higher level tooling. I wouldn't want to end up like git as I think it has one of the worst and most confusing command line interfaces in existence.

I wouldn't be against providing some convenience scripts that are not part of the binary itself. Those scripts should be written in a scripting language (like Python or Ruby) so users could easily customize them to their needs without having to re-compile anything. That wouldn't really solve the problem for users that don't know how to use their tools though, and that's fine by me – I prefer helping and encouraging users to learn more about their tools over trying to hide the underlying complexity so they don't need to.