https://github.com/lt-mayonesa/hexagon
Build your Team's CLI
https://github.com/lt-mayonesa/hexagon
automation cli command-line-tool developer-experience developer-experience-and-enablement developer-tools
Last synced: 21 days ago
JSON representation
Build your Team's CLI
- Host: GitHub
- URL: https://github.com/lt-mayonesa/hexagon
- Owner: lt-mayonesa
- License: apache-2.0
- Created: 2023-03-05T23:13:14.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2026-02-19T12:24:54.000Z (22 days ago)
- Last Synced: 2026-02-19T16:45:59.765Z (22 days ago)
- Topics: automation, cli, command-line-tool, developer-experience, developer-experience-and-enablement, developer-tools
- Language: Python
- Homepage: https://lt-mayonesa.github.io/hexagon/
- Size: 4.63 MB
- Stars: 17
- Watchers: 1
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# hexagon
Make your team's knowledge truly accessible, truly shared, and truly empowering by creating your own CLI.
[](https://github.com/lt-mayonesa/hexagon/actions/workflows/01-python-package.yml)
[](https://github.com/psf/black)
[](https://pypi.org/project/hexagon/)
[](https://pypi.org/project/hexagon/)
[](https://pypi.org/project/hexagon/)
[](https://pypi.org/project/hexagon/)
[](https://asciinema.org/a/Mk8of7EC0grfsSgWYrEdGCjdF)
---
## Getting Started
### Install hexagon
```bash
pipx install hexagon
```
### Create your teams CLI
Either use our [template repo](https://github.com/lt-mayonesa/hexagon-tools) or create a YAML like the following
```yaml
cli:
custom_tools_dir: . # relative to this file
name: Test CLI
command: tc
envs:
- name: dev
alias: d
- name: qa
alias: q
tools:
- name: google
alias: g
long_name: Google
description: Open google
type: web
envs:
dev: google.dev
qa: google.qa
action: open_link
- name: hello-world
alias: hw
long_name: Greet the world
type: shell
action: echo "Hello World!"
```
### Install the CLI
Run `hexagon` and select the CLI installation tool
## Options
### Theming
Hexagon supports 3 themes for now:
- default (some nice colors and decorations)
- disabled (no colors and no decorations)
- result_only (with colors but only shows the result logs)
This can be specified by the envvar `HEXAGON_THEME`, i.e.,
```bash
# assuming you installed a CLI with command tc
HEXAGON_THEME=result_only tc
```
## Development
### Pre-requisites
```bash
pip install pipenv
```
### Run:
```bash
# start a shell
pipenv shell
# install hexagon dependencies
pipenv install --dev
# run it
python -m hexagon
```
### Unit Tests:
```bash
pytest -svv tests/
```
### E2E Tests:
```bash
# first generate the transalation files
.github/scripts/i18n/build.sh
# run tests
pytest -svv tests_e2e/
```