OpenTUI frontend for agr
Project description
OpenTUI for agr and agrx
An OpenTUI interface for the agr/agrx CLI: view configured skills, trigger agr actions and preview SKILL.md
agr-opentui is an OpenTUI front-end for agr/agrx.
The default discover source in this repo points to https://github.com/kasperjunge/agent-resources.
Install from PyPI
With uv:
uv tool install agr-opentui
With pip:
python -m pip install agr-opentui
Then run:
agr-opentui
Check installed version:
agr-opentui --version
Usage
Tabs:
Skills: shows dependencies fromagr.tomland install state.Discover: shows skills embedded in the binary.
Common keys:
Tab/Shift+Tab: switch tabs- Arrow keys: move selection
space: toggle selectH: helpq: quit
Skills tab keys:
a: add skill (handle orowner/repo/path)i: install selected (bulk)r: remove selected (bulk)v: previewSKILL.mdg: run with default options (agrx)G: open run options (tool, interactive, prompt, extra args)u: check discover list updatesU: apply update (no confirm)s: apply update (confirm)S: apply update + sync (no confirm)c: reload config
Discover tab keys:
i: add selectedv: previewSKILL.mdy: copy handle/repo to clipboarda: add skillc: reload config
Run options keys (when the modal is open):
t: cycle toolu: toggle--interactivep: edit--prompte: edit extra argsEnter: runEsc: close
Quick Cheat Sheet
Primary flow:
TabtoSkills- Arrow keys to select
gto run,Gfor run options
Bulk actions:
spaceto multi-selectiinstall orrremove (Skills tab)
Discover flow:
TabtoDiscover- Arrow keys to select
vto preview,ito add,yto copy handle
Requirements
Runtime (using agr-opentui):
- Python 3.10+
uvagr+agrxon yourPATH
Build/Development (working on this repo):
- Bun 1.3.8+
- Zig (required by OpenTUI build tooling)
Build
bun run build
or
make build
This creates bin/agr-opentui.
Install
bun install
Run
bun run src/main.ts
Run it from the repo you want to manage (the current working directory is the target repo).
agr.toml is expected in that target repo for agr add/remove/sync operations.
Run From Target Repo
cd /path/to/your/project
agr-opentui
agr-opentui itself does not need to contain your target repo's agr.toml.
Discover List (Embedded)
The Discover tab is bundled into the compiled binary from this repository's skills.json at build time.
To change the list, update skills.json in this repository and rebuild (make build).
To avoid repeating repo metadata, skills.json can also be a DRY repo-group array like skills-multi-repo-example.json:
- One array item per repository with this schema:
repo, optionalbranch,handlePrefix, andskills[]. - Each
skills[]item must includeidand an explicit relativepathending in/SKILL.md;labelis optional. - At build time this expands into Discover entries with:
handle = handlePrefix + "/" + id, preservedrepo, preservedlabel(defaulting to handle), and explicitskillMdPathmetadata for preview resolution.
Example:
[
{
"repo": "kasperjunge/agent-resources",
"branch": "main",
"handlePrefix": "kasperjunge",
"skills": [
{
"id": "code-review",
"path": "skills/development/workflow/code-review/SKILL.md",
"label": "Code Review"
}
]
}
]
Migration from legacy skills.json:
- Existing object/array payloads are still supported.
- To migrate, group skills by repository and replace per-skill
repoduplication with one repo-group entry.
Troubleshooting
Missing agr.toml: run the app from a repo that hasagr.toml, or create one.uv not found: installuvand ensure it’s onPATH.agr/agrx not found: installagrand ensure it’s onPATH.python not found: install Python 3.- Discover list out of date: update this repository's
skills.jsonand rebuild the binary. - Discover list not updating: check the
sourceURL/repo/branch/path and network access. SKILL.mdpreview says “not found”: the skill may not ship aSKILL.mdor the path is nonstandard.
Notes
- All actions run through
uv(uv run agr,uv run agrx). - Bridge loading runs with the launcher Python when available (
AGR_OPENTUI_LAUNCHER_PYTHON), withuv run python -m agr_opentui.bridgeas fallback. - Startup runs a lightweight preflight for
uv,agr, andagrx; pressdto run full Doctor checks. - If
agr.tomlis missing in the current directory, install/remove/sync commands are blocked and a warning is shown. - Logs are written to
/tmp/agr-opentui.log.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agr_opentui-0.4.0.tar.gz.
File metadata
- Download URL: agr_opentui-0.4.0.tar.gz
- Upload date:
- Size: 40.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e0358c7434597c6c76cb9cf00154584b8dd8dbd807b11a261571f35f3238bb1
|
|
| MD5 |
637e3a71f15a6236caf4f1656079ad20
|
|
| BLAKE2b-256 |
7d113afb4226d0021b7f35befdc587d57b082c9cc027348aae7bc66cd6d3cf89
|
Provenance
The following attestation bundles were made for agr_opentui-0.4.0.tar.gz:
Publisher:
publish-pypi.yml on RelativeSure/agr-opentui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agr_opentui-0.4.0.tar.gz -
Subject digest:
2e0358c7434597c6c76cb9cf00154584b8dd8dbd807b11a261571f35f3238bb1 - Sigstore transparency entry: 929109520
- Sigstore integration time:
-
Permalink:
RelativeSure/agr-opentui@cc5abf03a55f24d411d0cf6710b41156b0007256 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/RelativeSure
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@cc5abf03a55f24d411d0cf6710b41156b0007256 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file agr_opentui-0.4.0-py3-none-any.whl.
File metadata
- Download URL: agr_opentui-0.4.0-py3-none-any.whl
- Upload date:
- Size: 40.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1049caa0f81e292f472e624c3e06c3eae7febb9e33f2f28347efa700e6075d74
|
|
| MD5 |
8e3c523fbb9aeffd978ba6417b1fab61
|
|
| BLAKE2b-256 |
a9fc7ee1e0fa7878bce0cacb440355c10e9fea29f35ccd84b32c8599e8cffc5b
|
Provenance
The following attestation bundles were made for agr_opentui-0.4.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on RelativeSure/agr-opentui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agr_opentui-0.4.0-py3-none-any.whl -
Subject digest:
1049caa0f81e292f472e624c3e06c3eae7febb9e33f2f28347efa700e6075d74 - Sigstore transparency entry: 929109523
- Sigstore integration time:
-
Permalink:
RelativeSure/agr-opentui@cc5abf03a55f24d411d0cf6710b41156b0007256 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/RelativeSure
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@cc5abf03a55f24d411d0cf6710b41156b0007256 -
Trigger Event:
workflow_dispatch
-
Statement type: