Files
claude-hud/AGENTS.md
Jarrod Watts 36b2a09210 docs: add project documentation and improve robustness
- Add ARCHITECTURE.md, FAQ.md, LLM.md documentation
- Add LICENSE (MIT), CODE_OF_CONDUCT.md, PR template
- Add .editorconfig for consistent formatting
- Add check.sh script for validation
- Fix ESLint errors in hud-config.ts and settings-reader.ts
- Various test and component improvements

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 12:17:50 +11:00

2.0 KiB

Repository Guidelines

Project Structure & Module Organization

  • tui/ houses the TypeScript/React Ink HUD app.
    • tui/src/components/ for UI panels (e.g., ContextMeter.tsx).
    • tui/src/hooks/ for shared state hooks (e.g., useHudState.ts).
    • tui/src/lib/ for core logic (event reader, tracking, types).
  • scripts/ contains shell entrypoints used by Claude hooks.
  • hooks/ defines event subscriptions (hooks.json).
  • docs/ stores changelog, ADRs, and research notes.

Build, Test, and Development Commands

Run commands from tui/ unless noted.

  • bun install installs dependencies.
  • bun run build compiles TypeScript to tui/dist/.
  • bun run dev watches TypeScript for local development.
  • bun run start runs the built HUD (dist/index.js).
  • bun test runs the Vitest suite; bun test <pattern> targets a file.
  • bun run lint runs ESLint; bun run format runs Prettier.
  • Root scripts/verify-install.sh checks plugin installation.

Coding Style & Naming Conventions

  • TypeScript strict mode; avoid any (use unknown or real types).
  • React functional components with hooks; wrap panels in React.memo.
  • Tests live alongside code and use *.test.ts/*.test.tsx.
  • Formatting via Prettier, linting via ESLint flat config (tui/eslint.config.js).

Testing Guidelines

  • Frameworks: Vitest + @testing-library/react + ink-testing-library.
  • Prefer focused component/unit tests under tui/src/.
  • Run all tests with bun test; use bun test --coverage for coverage.

Commit & Pull Request Guidelines

  • Commit messages follow type: summary (examples: docs: ..., refactor: ...).
  • PRs should include a clear description, tests for new behavior, and any UI screenshots for visual changes in the TUI.
  • Before opening a PR: run bun run lint, bun run typecheck, and bun test.

Security & Configuration Tips

  • Runtime FIFOs and logs live under ~/.claude/hud/ (sessions, pids, logs).
  • Hook scripts rely on jq; ensure it is available in local dev.