Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Porcelain" commands #60

Open
ellnix opened this issue Apr 26, 2024 · 1 comment
Open

"Porcelain" commands #60

ellnix opened this issue Apr 26, 2024 · 1 comment
Labels
feature Feature request

Comments

@ellnix
Copy link
Collaborator

ellnix commented Apr 26, 2024

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

  • Plumbing: low level commands that are intended to build larger commands
  • Porcelain: higher level commands that bundle behaviors of plumbing commands together

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
@ellnix ellnix added the feature Feature request label Apr 26, 2024
This was referenced Apr 26, 2024
@Andriamanitra
Copy link
Owner

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Feature request
Projects
None yet
Development

No branches or pull requests

2 participants