You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You may have used git extensions before without knowing. Those are the commands you run after git, such as git ignore, or other third party git plugins. This is a useful way of using the git name, to namespace the cli tool.
The way those work is that git, will look for binaries in PATH on your machine, if it finds a binary with the prefix, git-, it will allow those to be called. Such as git-ignore can now be called with git ignore (notice the lack of -).
git ignore -> git -> git-ignore. Or for shuttle shuttle <some-binary> -> shuttle -> shuttle-<some-binary> replace with whatever tool you'd like to expose.
shuttle would also just forward all commandline arguments, such as.
shuttle release --env dev -> shuttle-release --env dev
Why is this relevant to shuttle
Right now shuttle is built to handle code sharing between projects often in a multi-repository setting. This feature would allow us to ship additional features, which may make shuttle useful outside of project work. This could be everything from working with other third party software, such as github actions, renovate, reviewing code. Specifically tools which aren't used by one specific project, but goes across a developers workflow on said projects.
If we wanted to, we could even do the same for hamctl, such that we would have a shuttle-release, which would just point at hamctl for actions. This would group all of our tools under one umbrella, without having to add specific code to shuttle itself.
Let me know what you think!
Implementation proposal
We could simply do the same as git, and look for binaries in PATH, if found we add an entry to help menu, such that they show up when using shuttle -h.
This would require looking in all folders mentioned in $PATH, or just a specific location we decide for shuttle, and if the binary is in there we pick it up and make it available.
The text was updated successfully, but these errors were encountered:
What are shuttle cli extensions.
You may have used git extensions before without knowing. Those are the commands you run after git, such as
git ignore
, or other third party git plugins. This is a useful way of using the git name, to namespace the cli tool.The way those work is that git, will look for binaries in
PATH
on your machine, if it finds a binary with the prefix,git-
, it will allow those to be called. Such asgit-ignore
can now be called withgit ignore
(notice the lack of-
).git ignore -> git -> git-ignore
. Or for shuttleshuttle <some-binary> -> shuttle -> shuttle-<some-binary>
replace with whatever tool you'd like to expose.shuttle would also just forward all commandline arguments, such as.
shuttle release --env dev -> shuttle-release --env dev
Why is this relevant to
shuttle
Right now shuttle is built to handle code sharing between projects often in a multi-repository setting. This feature would allow us to ship additional features, which may make shuttle useful outside of project work. This could be everything from working with other third party software, such as github actions, renovate, reviewing code. Specifically tools which aren't used by one specific project, but goes across a
developers
workflow on said projects.If we wanted to, we could even do the same for hamctl, such that we would have a
shuttle-release
, which would just point athamctl
for actions. This would group all of our tools under one umbrella, without having to add specific code to shuttle itself.Let me know what you think!
Implementation proposal
We could simply do the same as git, and look for binaries in
PATH
, if found we add an entry to help menu, such that they show up when usingshuttle -h
.This would require looking in all folders mentioned in
$PATH
, or just a specific location we decide forshuttle
, and if the binary is in there we pick it up and make it available.The text was updated successfully, but these errors were encountered: