Skip to content
View KyleKing's full-sized avatar

Block or report KyleKing

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
KyleKing/README.md

A few of my main projects:

Terminal UI Applications

repo-dashboard (repo) - TUI for viewing linked PRs, git status, stashes, and other information across multiple local git and Jujutsu (jj) repositories

demo

Quickstart

gh extension install KyleKing/gh-repo-dashboard
gh repo-dashboard ~/Developer                          # TUI
gh repo-dashboard --cli --filter 'dirty' ~/projects     # scriptable JSON
tail-jsonl (repo) - Tail JSONL logs with pretty formatting and multi-line text like exceptions extracted for easier review

demo

Quickstart

echo '{"message": "message", "timestamp": "2023-01-01T01:01:01.0123456Z", "level": "debug", "data": true, "more-data": [null, true, -123.123]}' |& uvx tail-jsonl

See the hosted docs, PyPI package, or the repo docs for more.

jj-diff (repo) - TUI diff tool designed for jj workflows and as a drop-in replacement for scm-diff-editor

demo

Quickstart

go install github.com/KyleKing/jj-diff/cmd/jj-diff@latest
jj-diff                 # browse diffs
jj-diff --interactive   # move/split hunks

Can also be wired in as jj's diff editor via ~/.config/jj/config.toml.

paper-todo-tui (repo) - TUI adaption of the minimalist productivity system from Paper Apps "TODO"

demo

State persists to ~/.local/share/paper-todo/state.json.

tail-cw (repo) - Tail and filter AWS CloudWatch Logs from the terminal, with local Parquet caching and a Textual TUI

demo

Needs AWS credentials (profile/region) with CloudWatch Logs read access.

vcr-tui (repo) - TUI for previewing VCR cassette files and other machine-generated fixtures

Quickstart

uv sync
vcr-tui /path/to/cassettes
vcr-tui preview cassette.yaml --key "interactions[0].response.body.string"

GitHub CLI Extensions

gh-lazydispatch (repo) - Standalone or GitHub CLI extension for dispatching workflows interactively, from history, and more

demo

Quickstart

gh extension install KyleKing/gh-lazydispatch
# or: brew install KyleKing/tap/gh-lazydispatch
cd your-project && gh lazydispatch
gh-star-search (repo) - Indexes your starred repos into a local DuckDB database for fuzzy or semantic (vector) search plus related-repo discovery

Quickstart

gh extension install KyleKing/gh-star-search
gh star-search sync
gh star-search query "terminal ui library" --mode vector --limit 5

Needs uv installed (manages the Python environment for summarization/embeddings).

gh-sweep (repo) - TUI for sweeping GitHub repositories: dead branches, unresolved review threads, protection drift, and slow workflows

Quickstart

gh extension install KyleKing/gh-sweep   # requires a GitHub Release; see CONTRIBUTING.md for a local install
gh sweep

Neovim Plugins

codanna.nvim (repo) - Neovim front end for the codanna semantic code search CLI, with Telescope, mini.pick, and snacks.nvim picker support

Quickstart

{ "KyleKing/codanna.nvim", dependencies = { "folke/snacks.nvim" }, opts = { preferred_picker = "snacks" } }
:CodannaSearch some query

Requires the external codanna binary and a project indexed via codanna init && codanna index ..

spaghetti-comb.nvim (repo) - Records LSP/jumplist navigation into a branching per-project trail, with breadcrumbs, a floating tree view, and bookmark pickers

Quickstart

add({ source = "KyleKing/spaghetti-comb.nvim" })
require("spaghetti-comb").setup()

Then <leader>sb for breadcrumbs, <leader>sh for the history picker.

Mdformat Plugins

A suite of mdformat plugins for extending CommonMark formatting capabilities.

Plugin Description
mdformat-admon Format python-markdown admonitions
mdformat-front-matters Format YAML, TOML, or JSON front matter in markdown files
mdformat-gfm-alerts Format GitHub's blockquote-based admonitions (alerts)
mdformat-hooks Run shell commands (like mdsf for code formatting) as post-processing hooks
mdformat-mkdocs Format MkDocs-specific markdown including admonitions, content tabs, and Material theme features
mdformat-obsidian Format Obsidian callouts (admonitions) and wiki-links
mdformat-plugin-template Opinionated copier template for creating new mdformat plugins with modern Python tooling
mdformat-slw Better markdown diffs by reducing semantic line breaks
Quickstart

Each plugin auto-registers with mdformat once installed alongside it:

uvx --with mdformat-<plugin> mdformat file.md
# or: pipx install mdformat && pipx inject mdformat mdformat-<plugin>

mdformat-plugin-template is different, it's a copier template rather than a formatting plugin:

uv tool install copier
copier copy --UNSAFE gh:KyleKing/mdformat-plugin-template dest_folder_name

Caveat: don't combine mdformat-admon with mdformat-mkdocs >= 4.0.0, they're incompatible.

Python Development Tools

calcipy (repo) - Python development toolkit with task runners, documentation generators, and quality checks. Use with calcipy_template (repo) for project scaffolding and corallium (repo) for shared utilities

Quickstart: see the hosted docs (calcipy.kyleking.me) and PyPI package, no minimal example in the root README today.

For calcipy_template scaffolding:

uvx copier copy --UNSAFE gh:KyleKing/calcipy_template dest_folder_name

Per its README, this template is "primarily for my personal use."

copier-template-tester (repo) - Configurable CLI and pre-commit tool for testing copier templates. See the hosted docs (copier-template-tester.kyleking.me), no minimal example in the root README today.

Project Templates

my_go_template (repo) - Copier template for Go projects (CLI or library) with linting, hk git hooks, mise tasks, goreleaser, and CI. Sibling to calcipy_template above, opinionated to my own toolchain conventions

Quickstart

uvx copier copy gh:KyleKing/my_go_template your-project-name
cd your-project-name && mise install && hk install --mise

Workflow & Testing

(Beta) dagtest (repo) - Complex workflow automation testing. Model and run complex workflow automation testing with Playwright and event listeners

Quickstart

uv add dagtest
from dagtest import test

@test
async def test_root(ctx):
    return {"value": 1}
dagtest run
tlr (repo) - Capacity- and dependency-aware planning board for Linear projects (Deno/TypeScript core, static web front end)

Quickstart

mise install && deno install && hk install
deno task dev             # serve the board at localhost:8000
deno task issues "Name"   # refresh from Linear

Needs Linear, Incident.io, and Google Calendar credentials to refresh data (see SETUP.md), so it's a personal/team tool rather than a drop-in installable app.

Utilities & Other Projects

doner (repo) - Managed pinned versions in Dockerfiles (doner: DOcker maintaiNER)

Quickstart

go install github.com/KyleKing/doner/cmd/doner@latest
doner check              # dry-run
doner update -f Dockerfile

Homebrew tap listed as "coming soon."

diacea (repo) - Universal diagram converter (Excalidraw, TLDraw, SVG, Mermaid) to text formats like Mermaid, PlantUML/C4, GraphViz, and D2

Quickstart

uvx diacea -i diagram.json -f mermaid -o output.mmd
uvx diacea sync docs/diagrams/*.excalidraw --check   # CI-friendly staleness check
app-template (repo) - Minimal Deno, Hono, HTMX template. Referenced by tlr's roadmap as a future pattern to borrow from (Playwright e2e tests, Zod-validated env config)

Quickstart

uvx copier copy gh:KyleKing/app-template dest_folder_name
djot-fmt (repo) - Formatter for djot markup language

Quickstart

go install github.com/KyleKing/djot-fmt@latest
djot-fmt -w file.dj
mise-postgres-binary (repo) - Mise plugin for installing PostgreSQL binaries

Quickstart

mise plugin install postgres-binary https://github.com/KyleKing/mise-postgres-binary
mise use postgres-binary:postgres@18.4.0

Contributions

  • textract - Extract text from any document. I previously maintained textract-py3, but have since merged all of the improvements into textract and continued releasing new features

Personal Website | PyPI Packages

Pinned Loading

  1. yak-shears yak-shears Public

    ✁ ✁ ✁

    Python 3

  2. mdformat-mkdocs mdformat-mkdocs Public

    An mdformat plugin for mkdocs and Material for MkDocs

    Python 31 7

  3. copier-template-tester copier-template-tester Public

    ctt: CLI and pre-commit tool for testing copier

    Python 23 2

  4. tail-jsonl tail-jsonl Public

    Tail JSONL Logs

    Python 3

  5. app-template app-template Public

    Minimal Deno, Hono, HTMX, and Vento template

    TypeScript