termkit / gama Goto Github PK
View Code? Open in Web Editor NEWManage your GitHub Actions from Terminal with great UI ๐งช
License: GNU General Public License v3.0
Manage your GitHub Actions from Terminal with great UI ๐งช
License: GNU General Public License v3.0
Add live mode option like a checkbox to enable auto refresh.
GAMA can be install with go command.
Just needs to define current version as constant and needs to change version every release.
Current version of gama fast enough. But you can make it better!
Take a look this directory internal/github
. Might you use go routines to improve performance! ๐
Add change log & update instructions (instead of redirecting the Github repository)
May gama can update itself : https://github.com/sanbornm/go-selfupdate
Make colorful interactions to better user experience.
I don't like dotfiles in home directory. Why not use .config instead?
It's exactly for that...
~/.config/gama/config.yaml
or
~/.config/gama.yaml
?
Currently we use gama with shift + R
or shift + right
etc.
May user's system can have custom shortcut that uses shift + (left or right)
This can be make annoying problem.
We can define custom key maps in gama config yaml.
we can define F
button to mark this repository as favorite. And shift+f
like button shows only favorite repositories.
Favorite repositories can contains in .gama.yaml
.
Let's discuss, any better ideas?
This is to report that I could not execute the v1.1.4 Binary downloaded from Releases.
OS: macOS Sonoma 14.4.1
Chip: Apple M2 Max
chmod +x gama-macos-arm64
After executing the above commands, I tried the same procedure and were able to successfully launch the application.
Title says everything.. How we can fix this problem?
Gama can work with environment variable. But this variable can be shown on your current window header.
It might occurs a vulnerability. (Taking screenshot may expose your GitHub token)
Fill table columns with like message : "No input found, but still triggerable". (May you can find better message)
I think it is important for UX. Otherwise, seems like something missing...
Gama can be downloaded by package managers. Because of this, users might find it difficult to use if they are not familiar with the instructions on the GitHub page.
When Gama is first run, if there is no default configuration or if the --setup parameter is not passed, it offers the user an interactive setup opportunity.
I Just think accept multiple tokens & each token get their repository, remain actions keeps almost same.
Example yaml:
github:
token: ["token1", "token2"]
Example environment variable:
export GITHUB_TOKEN="token1,token2"
We can add an Open Source Scanner to our workflow, which will run every time we push to the PR or main branch.
Change test connection function to new and minimal one
Show "Are you to do X?" type message each time switch an option to improve user experience.
We can run tests each PR pushes and main push. But we need reliable tests to implement this issue.
Needs first : #4
I am adding your nice program to Void Linux.
PR
And this question raised.
Can license be please clarified?
Thanks for answer, and gama itself
๐ Keep up
In the ListRepositories
request, the query param of per_page
can be 100
at max.
from the doc:
per_page
integer
The number of results per page (max 100).
so I think, would better to have pagination in the repositories tab (loading pages lazily).
I got an error message "go: download go1.22 for darwin/arm64: toolchain not available" when running make build
.
% make build
Getting latest Git tag...
v1.1.4
CGO_ENABLED=0 go build -ldflags="-s -w -X main.Version=v1.1.4" -o release/gama main.go
go: downloading go1.22 (darwin/arm64)
go: download go1.22 for darwin/arm64: toolchain not available
make: *** [build] Error 1
OS: macOS Sonoma 14.4.1
Chip: Apple M2 Max
First of all: THANKS for this great open-source project โค๏ธ
I took it for a spin today and was really impressed ๐ฎ
Could you please add binary releases for platform linux/arm64
?
These binaries are required for use with:
Visualize workflow's state. Just like GitHub Actions' does.
Reference : https://docs.github.com/en/[email protected]/rest/actions/workflow-jobs?apiVersion=2022-11-28#list-jobs-for-a-workflow-run
Sometimes, the values โโwe trigger may be the same. Instead of filling them in one by one, we can define predefined rules and have them triggered.
It hard to find your repositories inside of hundred repositories.
Search bar can fix this.
To ensure the binaries doesn't modified and original. Add sha256sum
file for each binary at release stage.
GAMA currently get Github repositories as static count (current: 2000)
May you make it infinite, pagination etc. Let's discuss!
User can switch the workflow's branch before the trigger.
Implement a textbox that have autocompletion feature. Use project's default branch as default.
Make a selector like as current "choice" selection box.
Sometimes, gama throws panic. It is really rare, I can't reproduce..
But here is scenario:
Here is a panic output: (I'll edit and add other panics if I got any)
Caught panic:
runtime error: invalid memory address or nil pointer dereference
Restoring terminal...
goroutine 1 [running]:
runtime/debug.Stack()
/opt/hostedtoolcache/go/1.22.0/x64/src/runtime/debug/stack.go:24 +0x5e
runtime/debug.PrintStack()
/opt/hostedtoolcache/go/1.22.0/x64/src/runtime/debug/stack.go:16 +0x13
github.com/charmbracelet/bubbletea.(*Program).Run.func1()
/home/runner/go/pkg/mod/github.com/charmbracelet/[email protected]/tea.go:478 +0x91
panic({0x7bcee0?, 0xb7a300?})
/opt/hostedtoolcache/go/1.22.0/x64/src/runtime/panic.go:770 +0x132
github.com/termkit/gama/internal/terminal/handler/ghtrigger.(*ModelGithubTrigger).inputController(0xc0001dd008, {0x8db720?, 0xc0005b6000?})
/home/runner/work/gama/gama/internal/terminal/handler/ghtrigger/ghtrigger.go:227 +0xe6
github.com/termkit/gama/internal/terminal/handler/ghtrigger.(*ModelGithubTrigger).Update(0xc0001dd008, {0x7ee880, 0xc00042c000})
/home/runner/work/gama/gama/internal/terminal/handler/ghtrigger/ghtrigger.go:182 +0xc90
github.com/termkit/gama/internal/terminal/handler.(*model).handleTabContent(0xc0001da808, 0xc0003ed710?, {0x7ee880?, 0xc00042c000?})
/home/runner/work/gama/gama/internal/terminal/handler/handler.go:253 +0x131
github.com/termkit/gama/internal/terminal/handler.(*model).Update(0xc0001da808, {0x7ee880, 0xc00050b440})
/home/runner/work/gama/gama/internal/terminal/handler/handler.go:130 +0x88a
github.com/charmbracelet/bubbletea.(*Program).eventLoop(0xc00021ca90, {0x8db068?, 0xc0001da808?}, 0xc0001141e0)
/home/runner/go/pkg/mod/github.com/charmbracelet/[email protected]/tea.go:411 +0x5e2
github.com/charmbracelet/bubbletea.(*Program).Run(0xc00021ca90)
/home/runner/go/pkg/mod/github.com/charmbracelet/[email protected]/tea.go:543 +0x86b
main.main()
/home/runner/work/gama/gama/main.go:31 +0x1e5
Some long error messages can disrupt the user interface. (Fortunately, these errors are not common. ๐)
Develop a more concise error handling mechanism
Sort workflows as alphabetical. It makes easy to find your workflow
Note: You can use repository tab's code as reference.
It's hard to find your key if you have much keys... Alphabetic sorting is good way to easy to find your keys.
You can add mock tests with using mockery etc.
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.