9379e1523c
TUI: - VimListView: j/k now move down/up in the project and session lists (arrow keys still work); used by both list widgets. tmux status bar: - Widen the gap between window cells via a 2-space window-status-separator (WINDOW_STATUS_SEPARATOR). - Fix the current-window cell toggling between padded " 1: name " and unpadded "1: name". The per-window status format is static, but set_window_label re-asserted it on every 3s poll — letting a competing writer (e.g. a stale TUI process running older code with a differently padded format) flip the cell each cycle. The format is now owned by a single write-once path (new_window at creation, apply_theme for existing windows); the poll updates only the dynamic @hqt_label. Also lands pre-staged scaffolding: AGENTS.md quality gate, TODO.md backlog, and ty dev dependency. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
36 lines
687 B
TOML
36 lines
687 B
TOML
[project]
|
|
name = "hqt"
|
|
version = "0.1.0"
|
|
description = "Terminal TUI for orchestrating AI coding harness sessions via tmux"
|
|
readme = "README.md"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"textual>=2.0",
|
|
"sqlalchemy>=2.0",
|
|
"click>=8.0",
|
|
"pyyaml>=6.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
hqt = "hqt.cli:main"
|
|
|
|
[build-system]
|
|
requires = ["uv_build>=0.9.21,<0.10.0"]
|
|
build-backend = "uv_build"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest>=8.0",
|
|
"pytest-asyncio>=0.24",
|
|
"ruff>=0.8",
|
|
"textual-dev>=1.0",
|
|
"ty>=0.0.47",
|
|
]
|
|
|
|
[tool.hqt.quality]
|
|
required_after_code_or_test_changes = [
|
|
"uv run ruff format src tests",
|
|
"uv run ruff check src tests",
|
|
"uv run ty check",
|
|
]
|