Commit. Stretch. Commit again.

A short exercise break after meaningful commits. Built for developers who would rather refactor than rest.

You wrote 4,800 lines today and the only muscle you used was your trapezius, complaining.

git & fit notices when you commit something real, then suggests a 3-minute break.

How it works

You commit.

Watches .git/logs/HEAD for new commits. Filesystem only — no daemons, no background polling. The only network calls are anonymous, opt-out telemetry and (on Pro) license checks.

It checks if it counts.

A chore: typo commit will not make you do squats. Defaults: 5 files, 200 lines, 60-min cooldown. Tunable per repo.

function evaluate(c: Commit) {
  if (c.files  < cfg.minFiles)  return 'trivial';
  if (c.lines  < cfg.minLines)  return 'trivial';
  if (sinceLastNudge < cooldown) return 'cooldown';
  return 'significant';   // → fire the nudge
}

You get a nudge.

One notification. Three buttons. Click Do it! and a 3–5 minute routine opens inline. Skip without guilt.

Everything the spec promises.
Nothing it does not.

20+ exercises. 3 to 5 minutes per routine.

Tailored routines.

3–5 minute sequences from 20+ exercises, weighted by sprint phase (warm-up, peak, taper).

Snooze without guilt.

Five minutes, two hours, rest of the day, or forever. We will not call you "champion".

Per-repo config.

Commit a .gitnfit.json and your whole team gets the same thresholds, intensity, and sprint cadence.

Accessible by default.

Keyboard shortcuts, ARIA labels, screen-reader support, captions on every exercise video. Adds new exercises faster than it adds settings.

Free forever. Pro when you want more.

Free

$0/forever

  • Exercise breaks after every commit
  • 6 core desk-friendly exercises
  • A fixed 2-exercise routine
  • Injury-aware fitness profile
Install free

No account required.

Configure once.
The whole team benefits.

Commit a .gitnfit.json to your repo and every clone gets the same thresholds, sprint cadence, and intensity profile. Override per developer in settings.json.

.gitnfit.json
{
  "detection": { "minFilesChanged": 5, "minLinesChanged": 200, "cooldownMinutes": 60 },
  "sprint":    { "mode": "fixed-calendar", "lengthDays": 14, "anchorDate": "2026-01-06" },
  "routines":  {
    "durationMinutes":  4,
    "intensityByPhase": { "start": "medium", "mid": "medium", "end": "low" }
  }
}

Anonymous by default.

Your code never leaves your machine — not file names, not commit messages, not a thing. The free tier sends only anonymous, opt-out usage counts (version, OS, a random id), and it honors VS Code's global telemetry setting. Turn it off in one click.

We only learn your email if you choose to sign in or subscribe — and payments go through Stripe, so we never see your card. Read the source and confirm it in about ten minutes.

Read the full privacy policy

By the numbers

20+
exercises in the library

mobility · strength · stretch · posture

MIT
license — fork, sell, embed

open source on GitHub

0
telemetry endpoints

works offline · no accounts

Asked enough that we wrote them down.

Will this annoy me?
No. Thresholds default to 5 files / 200 lines / 60-min cooldown. A typical day fires 1–3 nudges. Snooze for the rest of the day if you are shipping.
Does it work without an internet connection?
The core works offline — commit detection and the exercises are entirely local. Anonymous telemetry and Pro license checks use the network but fail gracefully (Pro keeps working offline within a grace window).
Does it work outside VS Code?
Not yet. JetBrains and Neovim adapters are planned (gitnfit-core is editor-agnostic by design).
Can I add my own exercises?
Yes — custom exercises are a Pro feature. Drop a customExercises block in your .gitnfit.json.
What if I have a wrist injury / knee injury / cannot get on the floor?
Toggle wristSensitive, kneeSensitive, or avoidFloor in your fitness profile. The planner excludes incompatible exercises.
Is it free?
The core extension is free and MIT-licensed, forever. Pro ($4.99/mo or $39/yr) adds the Sprint Plan, the full 21-exercise library, and custom exercises — with a 7-day free trial, no credit card.
What do I get with Pro?
The rotating multi-day Sprint Fitness Plan, the full 21-exercise library (vs 6 on Free), and custom user-defined exercises in .gitnfit.json. Free keeps the commit-triggered breaks forever.
Is there a trial?
Yes — a 7-day Pro trial with no credit card required. Run "Git & Fit: Upgrade to Pro" in VS Code to start it; nothing is charged unless you add a card before it ends.
How do I cancel?
Run "Git & Fit: Manage Subscription" in VS Code, or visit gitnfit.dev/account and sign in by email — both open the Stripe Customer Portal where you can cancel, update your card, or switch plans. Cancelling keeps Pro active until the end of the current billing period.
What data do you collect?
On Free: anonymous, opt-out usage counts (version, OS family, a random install id) — never your code, files, or commit messages. We only learn your email if you sign in or subscribe, and payments go through Stripe (we never see your card). Full details on our privacy page.
Do I need to sign in?
No — the free extension needs no account at all. Sign-in (a one-time email magic link) is optional and only used for Pro: starting a trial, subscribing, or managing your subscription.
Does it require git?
Yes. The trigger is git commit. Workspaces without a .git/ directory get a no-op.
What does the name mean?
git + fit. We are not subtle.

Get back some hip flexion.

Install on VS Code Marketplace

Free core · MIT · No account required · Pro from $4.99/mo