AirTower

Features

A detailed look at everything AirTower monitors and displays.

Git Status

AirTower displays comprehensive git information in the floating panel:

  • Current branch name (or detached HEAD commit)
  • Ahead/behind counts relative to the remote tracking branch
  • Number of staged, modified, and untracked files
  • Stash count
  • Merge, rebase, or cherry-pick in progress
  • Last fetch timestamp

All information is gathered using standard git commands and does not modify your repository in any way.

Submodules

When your repository contains git submodules, AirTower shows:

  • Submodule name and path
  • Current commit vs. expected commit
  • Whether the submodule has uncommitted changes
  • Initialization status

Enable or disable submodule tracking with the features.submodules config flag.

Git LFS

AirTower detects Git Large File Storage (LFS) tracked files and displays:

  • Number of LFS-tracked files
  • LFS storage usage
  • Files pending upload

Enable or disable LFS tracking with the features.lfs config flag.

Polling Behavior

AirTower polls the git repository at a configurable interval (default: 2 seconds). It uses efficient git commands to minimize overhead. The polling process:

  • Checks for file system changes before running full git status
  • Skips redundant checks if the repo hasn't changed
  • Automatically detects when you switch to a different repository
  • Pauses polling when the terminal is inactive

Task & Bug Tracking

AirTower parses your PLAN.md and BUG.md files to show task and bug counts directly in the panel. You get a quick summary of completed vs. remaining tasks and open vs. fixed bugs without opening the files.

Test & Build Status

When configured with test_command and build_command, AirTower can run your tests and builds and display their results. The panel shows:

  • Last run timestamp
  • Pass/fail status
  • Test count (passed, failed, skipped)
  • Build duration