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