Crates.io | cctui |
lib.rs | cctui |
version | 1.2.0 |
source | src |
created_at | 2020-07-25 20:35:03.411706 |
updated_at | 2024-03-10 21:04:55.179148 |
description | CCTray TUI, a build monitoring dashboard for your terminal |
homepage | |
repository | https://github.com/TheKevJames/tools/tree/master/cctui |
max_upload_size | |
id | 269557 |
size | 154,744 |
CCTUI is a CCTray implementation for your terminal -- a live-updating dashboard of any of your repos. In addition to supporting the standard CCTray protocol, it additionally can support CircleCI's new Pipelines feature.
It can also (optionally) display your Github notifications!
Yeah, I know. Naming things is hard! I'd be happy to accept ideas :)
Unfortunately, CircleCI's workflows/pipelines feature doesn't work nicely with the CCTray standard and returns the build status of whichever job happened to run last instead of the entire workflow. This project stemmed out of wishing CCMenu had a terminal UI and worked with CircleCI's workflows. Done and done!
$ cargo install cctui
$ cctui
The keybindings are "vaguely vim-like":
<tab>
to toggle active panej
/k
g
/G
<enter>
opens your browser to the highlighted itemJ
/K
to resize the panes/
to enter filter mode:
!
as the first character for a negative search<enter>
to return to the appr
to refresh the given pane's dataq
to quitThis tool doesn't really make any sense with a default configuration, so
you'll need to edit ~/.config/cctui/config.yml
:
layout:
visible_notifs: 5 # default: 5
notifs:
- service: Github
token: qwerasdfzxcv12345678910
repos:
- name: TheKevJames/tools
circleci:
branch: cctui-dev
token: qwer1234asdf5678zxcv
workflow: run-jobs
- name: TheKevJames/gnome-shell-extension-transmission-daemon
circleci:
token: 1234asdf5678zxcv9101
workflow: integration-tests
refresh: 120
- name: coveralls-clients/coveralls-python
cctray:
url: https://circleci.com/cc.xml?circle-token=asdf5678zxcv9101tyui
Basically, repos
accepts a list of items with the following schema:
field | decription | default? |
---|---|---|
name |
<username>/<repo> |
|
refresh |
refresh interval between updates | 30 |
And one of the following integration configs:
field | decription | default? |
---|---|---|
cctray.url |
url of CCTray config (with token) | |
circleci.branch |
name of branch to be tracked | master |
circleci.token |
personal access token | |
circleci.vcs |
VCS slug for your repo ("gh", "bb") | gh |
circleci.workflow |
name of CircleCI workflow to monitor |
notifs
accepts a list of items with the following schema:
field | decription | default? |
---|---|---|
service |
must be Github , for now (sorry!) |
|
refresh |
refresh interval between updates | 30 |