Agent-tools

From The Hei Canon

agent-tools is the tooling repository for AI agents running in Hei's tmux + Hyprland environment. Every tool lands in bin/ and gets added to PATH by add-to-path.sh; the canonical index is TOOLS.md. Private repo under heiervang-technologies/agent-tools.

Structure

bin/         tools on PATH (scripts + symlinks into ~/ht/director/bin/)
cinder-web/  static desktop [[Cinder]] deck (HTML/JS) served by bin/cinder
docs/        per-tool markdown docs
misc/        standalone helper scripts (not on PATH)
tests/       test scripts

bin/director, bin/agent-graph, bin/avatar, bin/lazy-director, and the _lazy-director-* helpers are symlinks into ~/ht/director/bin/. bin/director-tui symlinks into ~/ht/director-be/bin/. Source and CI live in the extracted director monorepo.

CI

Three jobs on every push and PR (.github/workflows/ci.yml):

  • Shelltests/test_shared.sh (~58 tests over parse_remote_target, extract_agent_name, classify_pane_state, SSH opts, htmux paste) plus tests/test_ask_markus.sh (ask-markus batched-queue contract, isolated temp state, stubbed notify/mako).
  • Pythontests/test_show_me.py, tests/test_routers.py, tests/test_cinder_predictor.py, plus py_compile guards over bin/ and misc/.
  • Rustcirclejerk/cargo test plus cargo audit (scheduler engine, config, director, TUI).

All hermetic — no live tmux, no audio hardware, no director fleet required. Other tests in tests/ are local-only.

Conventions

  • No Co-Authored-By: Claude on commits. The hook at .git/hooks/commit-msg strips both capitalisation variants.
  • Squash-merge PRs — the only merge strategy in use.
  • TOOLS.md is canonical — keep it in sync with bin/.
  • New tools — script in bin/, row in TOOLS.md, plus docs/<tool>.md if the behaviour is non-obvious.
  • New non-PATH helpers — go in misc/, with a row in the misc/ table in TOOLS.md.
  • Language rule — Rust or Zig for new extensions; C stays only for existing tmux modules (the htmux fork at ~/ht/forks/htmux).
  • No synchronous hangs — every tool must be safe to call in non-blocking / background contexts. See the global ~/AGENTS.md for the full rule.

Historical note

bin/director and its family were extracted from agent-tools into their own monorepo, director, on 2026-05-24. The browser fleet-view GUI (formerly director-gui) was folded into director on 2026-05-26. agent-tools still hosts the symlinks so the tools stay on PATH.

Sources

  • ~/ht/agent-tools/CLAUDE.md — the repo overview.
  • ~/ht/agent-tools/TOOLS.md — the canonical tool index.
  • ~/ht/agent-tools/.github/workflows/ci.yml — the CI matrix.

See also

  • director — the extracted inter-agent comms monorepo.
  • Cinder — the swipe deck whose static desktop version lives in cinder-web/.