A few of my main projects:
repo-dashboard (repo) - TUI for viewing linked PRs, git status, stashes, and other information across multiple local git and Jujutsu (jj) repositories
Quickstart
gh extension install KyleKing/gh-repo-dashboard
gh repo-dashboard ~/Developer # TUI
gh repo-dashboard --cli --filter 'dirty' ~/projects # scriptable JSONtail-jsonl (repo) - Tail JSONL logs with pretty formatting and multi-line text like exceptions extracted for easier review
Quickstart
echo '{"message": "message", "timestamp": "2023-01-01T01:01:01.0123456Z", "level": "debug", "data": true, "more-data": [null, true, -123.123]}' |& uvx tail-jsonlSee 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
Quickstart
go install github.com/KyleKing/jj-diff/cmd/jj-diff@latest
jj-diff # browse diffs
jj-diff --interactive # move/split hunksCan 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"
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
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"gh-lazydispatch (repo) - Standalone or GitHub CLI extension for dispatching workflows interactively, from history, and more
Quickstart
gh extension install KyleKing/gh-lazydispatch
# or: brew install KyleKing/tap/gh-lazydispatch
cd your-project && gh lazydispatchgh-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 5Needs 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 sweepcodanna.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 queryRequires 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.
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_nameCaveat: don't combine mdformat-admon with mdformat-mkdocs >= 4.0.0, they're incompatible.
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_namePer 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.
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(Beta) dagtest (repo) - Complex workflow automation testing. Model and run complex workflow automation testing with Playwright and event listeners
Quickstart
uv add dagtestfrom dagtest import test
@test
async def test_root(ctx):
return {"value": 1}dagtest runtlr (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 LinearNeeds 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.
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 DockerfileHomebrew 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 checkapp-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_namedjot-fmt (repo) - Formatter for djot markup language
Quickstart
go install github.com/KyleKing/djot-fmt@latest
djot-fmt -w file.djmise-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- 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













