I'm currently working on a GitHub Account Manager CLI Tool, called Gamon.
peter-bread / gamon Goto Github PK
View Code? Open in Web Editor NEWGitHub Account Manager
License: MIT License
GitHub Account Manager
License: MIT License
I'm currently working on a GitHub Account Manager CLI Tool, called Gamon.
Instead of being able to pass in X.Y.Z
into the installation script, change it so you can only pass in X
, so if there are breaking changes in the future, you can get the most up to date version of the version you like.
Maybe also make it so when building from source, you only download the latest commit in main
rather than the entire git history.
Get a testing framework in place.
First test will be for gam script
, checking it correctly prints the script.
Once this is ready I can get onto to CI #5.
Can you enter just ./
in gam init
Need to verify these are correct.
I think there are some mismatches.
Instead of putting the binary in /usr/local/bin
, put it in ~/.gamon/bin
(for example), and add that directory to PATH.
This should avoid the need to for sudo
when installing, updating and uninstalling.
Initialise go module, get dependencies, and build skeleton app.
The on: release:
trigger doesn't work.
To get around this, I will move update_homebrew.yml
into goreleaser.yml
as a second job that can only run after the first job is completed.
I want to get an update out quickly to test the update_homebrew.yml
workflow.
There are still some commands, like gam create-acc-dirs
, which are currently not features of the tool, so the existing in the documentation is incorrect and misleading
*Maybe
Instead of needing to follow a strict file structure, let users create a file that sets the account for that directory and all its children, unless one of its children also has the file.
This will mean users won't need to have a root directory that contains all their repos if they don't want.
For example, it would enable something like this:
/home/john/
|-- personal/
| |-- memes/
| |-- finances/
| |-- repos/
| |-- .gh_account
|-- school/
| |-- maths/
| |-- computer-science/
| |-- reports/
| |-- repos/
| |-- .gh_account
The two repos/
directories do not share the same parent, but they each contain a .gh_account
file which can be read by gamon to set the correct account.
For users (like me) who like having all their repos together, it is easy to achieve the same result as using GAM_REPO_ROOT_DIR
:
/home/john/
|-- repos/
| |-- personal/
| | |-- .gh_account
| |-- work/
| |-- .gh_account
|-- memes/
|-- finances/
I might create a new command (e.g. gam account [path]
that will use the promptui
module that will list the available accounts (from ~/.config/gh/hosts.yml
) and let you select one, which should make it a bit harder for users to just create .gh_account
and put whatever they want in it.
This is so if the user wants to update or uninstall it, they know what steps they need to follow.
Maybe use an environment variable.
yq
is now a dependency of this tool, instead of jq
.
Needs a version command
The other commands do not have a period at the end, so for consistency neither should this one.
Need to add in documentation that Linux includes wsl2 on windows
right now, you can run gam completion --help
and gam completion <shell> --help
to see how to enable shell completion for your shell.
This should be made explicit and clear in the docs in the repo
Since making changes to the shell script, some functionality is no longer required in the Go code.
For example, there is now no need to store a text file contain users, since they are stored by gh
in ~/.config/gh/hosts.yml
(by default).
I have made changes to the scripts that need to be sourced.
There are some typos and overall it is quite bare.
see 7f7e355
Add general and specific TODOs to all files so far
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.