Tower

Native Git client for Mac and Windows with visual history and workflows

YES · focused build
price variesestimated build time one sittingreplaced by 0 people

A focused visual wrapper around Git can cover everyday local review and commits. Tower also supplies mature branch, conflict and recovery workflows; reproducing that breadth and polish is a larger project than the scoped client here.

Build verification: not recorded. How we judge buildability

What you give up

  • mature undo and recovery workflows
  • interactive rebase and conflict-resolution assistance
  • hosting integrations and advanced branch workflows
  • Mac and Windows polish and ongoing support

Why people still pay

Tower brings common Git operations, staging, history, conflict handling and advanced branch workflows into a maintained native interface. People pay for that integration and recovery experience rather than assembling it themselves.

Your build guide

The stack, security requirements, and agent rules for a focused replacement.

Before you start

  • Runtime and tools: SwiftUI/AppKit and the installed Git command-line client, with local UI preferences; Git owns repository state.
  • Before starting: A Mac with Xcode, Git on PATH and a disposable local repository with staged, unstaged and conflicted examples; no model API is required.
01
SwiftUI/AppKit and the installed Git command-line client, with local UI preferences; Git owns repository state
02
Data design: Store RepositorySelection and UI preferences; Git remains the authoritative data store. Track working-tree/index state separately and refresh after every operation.
03
Setup: A Mac with Xcode, Git on PATH and a disposable local repository with staged, unstaged and conflicted examples; no model API is required
engineering roadmap

Implementation plan

1

Phase 1

Pin the working slice and create its example input: Build a focused visual Git client for one selected local repository with status, diff, stage/unstage, commit and history views. Confirm setup: A Mac with Xcode, Git on PATH and a disposable local repository with staged, unstaged and conflicted examples; no model API is required.

2

Phase 2

Implement persistence and write-time invariants before decorating the UI: Store RepositorySelection and UI preferences; Git remains the authoritative data store. Track working-tree/index state separately and refresh after every operation.

3

Phase 3

Connect the working view to real saved state. Pass Git arguments without a shell and separate working-tree changes from staged changes. Refresh state after commands and require explicit confirmation for destructive operations.

4

Phase 4

Expose the app-specific limits and recovery path in context: Correct the prior AI-agent scope. Invoke Git with argument arrays, display commands and require explicit confirmation for reset/rebase/force-push; defer destructive operations until their recovery UX is designed.

5

Phase 5

Walk through this concrete acceptance case and preserve its exported evidence: Stage one hunk, edit another and commit; the commit contains only the staged hunk, while a failed commit leaves unstaged work intact and visible. Finish the README and backup/restore instructions; report unfinished capabilities explicitly.

the pro prompt
download AGENTS.md
Build the following focused alternative to Tower. Implement the focused workflow below first; the verdict is not evidence of a completed or production-certified build.

WORKING SLICE
Build a focused visual Git client for one selected local repository with status, diff, stage/unstage, commit and history views.

SETUP AND ARCHITECTURE
Use SwiftUI/AppKit and the installed Git command-line client, with local UI preferences; Git owns repository state. Prerequisites: A Mac with Xcode, Git on PATH and a disposable local repository with staged, unstaged and conflicted examples; no model API is required. Before integrating anything, record actual versions and permissions, plus model files or provider limits only where used, in the README; make unavailable dependencies visible rather than simulating success.

DOMAIN MODEL AND INVARIANTS
Store RepositorySelection and UI preferences; Git remains the authoritative data store. Track working-tree/index state separately and refresh after every operation.

IMPLEMENTATION CONTRACT
Pass Git arguments without a shell and separate working-tree changes from staged changes. Refresh state after commands and require explicit confirmation for destructive operations. Provide an input/setup view, the main work view, and a review/export view appropriate to this workflow. Preserve the last saved state if a job or save fails. Include empty, loading, permission-denied, partial and retryable-error states. Log identifiers and error categories without secret values or unnecessary private content.

APP-SPECIFIC BOUNDARY AND RECOVERY
Correct the prior AI-agent scope. Invoke Git with argument arrays, display commands and require explicit confirmation for reset/rebase/force-push; defer destructive operations until their recovery UX is designed.

ACCEPTANCE SCENARIO
Stage one hunk, edit another and commit; the commit contains only the staged hunk, while a failed commit leaves unstaged work intact and visible. Also reopen the app after an interrupted operation, confirm the saved record/export remains inspectable, and document the recovery action. These are implementation acceptance requirements, not a claim that this guide has been tested.

DELIVERY
Deliver a runnable repository with migrations or project-format versioning, a non-sensitive example, environment/permission setup, the exact manual acceptance steps, and a backup/export-and-restore walkthrough. Implement the working slice before optional integrations; list any deferred paid-product capabilities honestly. Do not add capabilities outside the working slice just to resemble the original product.

PROJECT RULES FOR AGENTS.md
Keep the domain invariants above executable at the write boundary. Propose scope changes before adding providers or permissions. Never fabricate source evidence, publish results, identity matches or successful delivery. Preserve user originals and require an explicit confirmation for destructive changes or external publication.

$ open in your agent (prompt prefilled, you press enter), copy the prompt or copy or download AGENTS.md · generated from this app's build plan

share on X ↗

Alternatives to building your own

LazygitGit's common chores in a terminal UI; mouse polish not included.78kmay 2026open source↗GitHub DesktopA calm visual Git client that stops before workspaces become a product category.22kaug 2026open source↗SourceGitA small cross-platform Git GUI that mostly minds its own business.5.7kaug 2026open source↗

all 6 free alternatives to Tower →· no votes, no pay-to-list · just what's real

Tower pricing

planmonthlyannual (per mo)what you get
basic—$5.75/user1 user; core native Git client features.Annual-only price is $69/year.
pro—$10.75/user1 user; advanced workflows and integrations.Annual-only price is $129/year; published team discount is 10% at 10+ seats.
enterprise—$12.42/userEnterprise controls and support.Annual-only price is $149/year.

free tierno permanent free tier; 30-day Pro trial only

billingannual only; no monthly plan

hidden costsPrices can be reduced for 10+ Pro seats; taxes may apply. Free licenses exist only for approved students, teachers, educational institutions and nonprofits, and are not a general free tier.

pricing sources checked 2026-08-14 · pricing source ↗

Questions about Tower

Can you build your own Tower with AI?

The verdict is yes for the scoped workflow. A focused visual wrapper around Git can cover everyday local review and commits. Tower also supplies mature branch, conflict and recovery workflows; reproducing that breadth and polish is a larger project than the scoped client here.

What does the Tower build prompt cover?

The prompt starts with this scope: Build a focused visual Git client for one selected local repository with status, diff, stage/unstage, commit and history views. Full-product capabilities excluded from the comparison include: mature undo and recovery workflows; interactive rebase and conflict-resolution assistance; hosting integrations and advanced branch workflows. Follow the implementation plan and its prerequisites before expanding the build.

How do I use the prompt, AGENTS.md and agent skills?

Start with the Tower prerequisites and stack, then copy the prompt into your coding agent. Save the project rules as AGENTS.md in the project root. Linked skills are optional packages or source instructions for specific tasks; review their current contents and install only those matching the chosen stack. A skill does not supply API credentials or verify the finished app.

How long will this Tower project take?

The catalogue estimate is one sitting for the limited scope. Setup, integration approvals, debugging, deployment and ongoing maintenance can add time. This is an estimate, not a delivery guarantee.

What would I give up by replacing Tower?

mature undo and recovery workflows; interactive rebase and conflict-resolution assistance; hosting integrations and advanced branch workflows; Mac and Windows polish and ongoing support. Tower brings common Git operations, staging, history, conflict handling and advanced branch workflows into a maintained native interface. People pay for that integration and recovery experience rather than assembling it themselves.

What can I use instead of building Tower?

Lazygit: Git's common chores in a terminal UI; mouse polish not included. GitHub Desktop: A calm visual Git client that stops before workspaces become a product category. SourceGit: A small cross-platform Git GUI that mostly minds its own business. Compare all listed options at https://howtovibecodeit.dev/tower/alternatives. Check each option's license, hosting needs and feature limits.

Every week, more subscriptions die.

New verdicts, new prompts, the week's most-doomed apps.
One email. Unsubscribe in one click.

last week:100 Questions · KINDA1of10 · KINDA1Password · KINDA+1090 more

free forever · no scanner spam · the prompt stays on the site, the deaths come to you

$weekly: what got a verdict, what died.