v0.2.0 Released • 1-Click Windows Setup • Native Desktop GUI

Close your laptop lid.
Your code is already committed.

Never lose progress again. LidCommit sits in your system tray and monitors active IDE workspaces. When you close your laptop, it synthesizes AI commit messages, commits your diff, and pushes directly to GitHub.

Desktop GUI

Tray app with pause toggles & activity history.

Per-Project Pause

Selectively skip repos from auto-committing.

Instant Sync Now

Commit and push on-demand without closing lid.

Zero-Config Fallback

Clean auto-save timestamps if offline or no key.

Zero-Compiling Required • v0.2.0 Released

Download LidCommit

Installs just like any standard modern desktop app. No Rust toolchain, terminal commands, or manual compiling needed for end users.

Recommended Windows Install
Windows 10 / 11 (64-bit)

LidCommit 1-Click Setup Wizard

Double-click and run. Installs cleanly to %LocalAppData%\Programs\LidCommit with automatic Start Menu and Desktop shortcuts.

Start Menu & Tray

Docks straight into your system tray on launch.

Auto-Launch Option

Optional startup protection enabled in 1 checkbox.

Clean Uninstaller

Standard removal via Windows Settings / Apps.

LidCommit Setup WizardInno Setup 6

Installing LidCommit v0.2.0

Ready to configure auto-commit & desktop tray.

Destination: %LocalAppData%\Programs\LidCommit
Created: Desktop & Start Menu Shortcuts
Configured: Native Webview2 GUI & Tray Icon
CancelFinish
New in Latest Release: Native Desktop App

Visual Control. Zero Friction.

LidCommit now launches with a sleek native dark-mode GUI & System Tray application. Inspect open IDE workspaces, selectively pause auto-commits per repository, trigger on-demand syncs, and review live activity logs.

LidCommit Desktop Dashboardv0.2.0-gui
Automatically tracking open IDE workspace windows (VS Code, Cursor, JetBrains, etc.)Click Pause or Commit This to control behavior
auth-gatewayfeat/jwt-tokens2 files modified

C:\Users\dev\workspace\auth-gateway

🔒 lid-close: add JWT verification middleware and handle session expiry10 mins ago
backend-coreperf/db-pool3 files modified

C:\Users\dev\workspace\backend-core

🔒 lid-close: refactor postgres connection pool with acquisition timeouts42 mins ago
secret-vault-enginemainAuto-Commit Paused

C:\Users\dev\workspace\secret-vault-engine

[LidCommit] auto-save at 2026-10-31 09:152 hours ago
Crucial Windows 10/11 Setup

Configure "When I close the lid" to "Do nothing"

To allow LidCommit to inspect your repositories, stage changes, query Gemini/Ollama, and push to GitHub while the lid is shut, Windows must not abruptly sever the network card and sleep the CPU mid-push.

1.Press Win + R, type control, and press Enter.
2.Open Power Options > Click "Choose what closing the lid does" in the left sidebar.
3.Set both On battery and Plugged in to "Do nothing" and click Save changes.
Power Setting SummaryReady for Sync
Lid Close Action:Do Nothing
Display:Turns Off Safely
Wi-Fi & Git Sync:Uninterrupted
LidCommit Event:WM_POWERBROADCAST
Live Simulated Pipeline

See how LidCommit crafts commit messages

Select a project scenario below to observe how the local diff is transformed into a clean commit.

auth-gateway/feat/jwt-tokens
+48-12
diff --git a/src/middleware/auth.rs b/src/middleware/auth.rs+ pub async fn verify_jwt(token: &str) -> Result<Claims, AuthError> {+     let validation = Validation::new(Algorithm::HS256);+     decode::<Claims>(token, &DECODING_KEY, &validation)+         .map(|data| data.claims)+         .map_err(|_| AuthError::InvalidToken)+ }- // TODO: implement real expiration check+ if claims.exp < Utc::now().timestamp() {+     return Err(AuthError::SessionExpired);+ }
AI Commit Generatedgemini-2.0-flash
🔒 lid-close: add JWT verification middleware and handle session expiry
Safety checked: Remote origin present & <50 files
Staged changes via git add -A
Pushed upstream to origin/feat/jwt-tokens

LidCommit Notification

Just now

Committed & pushed: auth-gateway

Autonomous Pipeline

How LidCommit works under the hood

A frictionless zero-click automation that turns your physical laptop lid motion into git commits.

Step 01

Native Hardware Event

Listens to OS-level lid close broadcasts (WM_POWERBROADCAST, IOKit, or logind D-Bus). No background battery drain.

Step 02

IDE & Git Discovery

Scans open IDE processes (VS Code, Cursor, JetBrains, active terminals) and identifies every dirty working tree with uncommitted modifications.

Step 03

AI Diff Synthesis

Extracts your staged & unstaged diff and prompts Gemini (or local Ollama) to draft an informative conventional commit summary.

Step 04

Auto Commit & Push

Safely commits and pushes to your current active branch, and triggers an OS notification so you know your work is secured in the cloud.

Dynamic In-App Switcher • Real-Time Hot Reload

Choose How Your Commits Are Generated

Configure your preferred provider in the desktop app with one click. When one is active, the others are safely deactivated, and configurations take effect instantly without restarting.

Active Settings in Desktop Dashboard for: Google Gemini

Model: gemini-2.0-flash • Hot-reloads in config.toml on save.

Rock-Solid Safeguards

Engineered so it never breaks your git history

Auto-committers can feel risky without strict boundaries. LidCommit includes comprehensive safety guards that guarantee safe operation.

Clean Working Tree Check

If no files are modified, deleted, or staged, LidCommit silently skips the repo. Zero empty commits created.

50+ Files Guard

Forgot to add node_modules or target/ to .gitignore? Any diff above 50 files is automatically skipped to prevent accidental bloat.

Merge Conflict Immunity

If your repo is currently resolving a merge conflict or interactive rebase, LidCommit aborts immediately to protect your conflict markers.

Remote Verification

Only pushes if a valid git remote URL is configured upstream. If you are working on a pure local sandbox, it protects your setup.

Custom Excluded Paths

Add sensitive repositories, secret vaults, or experimental directories to your config.toml to permanently blacklist them.

Loop Prevention & Alerts

Integrated debounce monitors prevent duplicate runs and verify that notifications fire accurately once per lid cycle.

Declarative TOML Configuration

Configurable down to every detail

Tweak AI models, customize file limits, ignore sensitive directories, or switch seamlessly to 100% offline local LLMs.

# ~/.config/lid-commit/config.toml
# Or %APPDATA%\lid-commit\config.toml on Windows

[ai]
# Options: "gemini" | "openai" | "ollama"
provider = "gemini"
model = "gemini-2.0-flash"
# For local offline Ollama:
# provider = "ollama"
# model = "llama3.2"
# endpoint = "http://localhost:11434"

[safety]
# Skip project if more than 50 files changed (avoids committing node_modules)
max_files_threshold = 50

# Require git remote to be present before attempting sync
require_remote = true

# Never commit if git merge conflicts are present
abort_on_merge_conflict = true

[filters]
# Directories to completely ignore from auto-commits
excluded_paths = [
    "C:\\Users\\anshu\\work\\secret-vault",
    "~/experiments/throwaway-test"
]

[notifications]
# Send native desktop toast notifications on completion
enabled = true
sound = false
Cloud or 100% Local (Ollama)

Don't want your diff leaving your machine? Point provider to ollama with llama3.2 or codellama for air-gapped, zero-cost AI commit generation.

Safety Thresholds

If an unintended folder without a .gitignore has 500 files changed, LidCommit instantly halts and ignores it, keeping your GitHub repos safe from bloat.

Cross-Device Continuation

Commit branch matches your active branch automatically. When you open your desktop at home or your other laptop, a quick git pull resumes your workflow effortlessly.

Rust Architecture

Minimal footprint. Maximum reliability.

Modular Rust code structure built for stability, zero panics, and effortless cross-platform support.

src/
├── main.rs              — Daemon entry point, event loop & manual sync handlers
├── gui.rs               — Native desktop window, system tray, and IPC controller
├── dashboard.html       — Modern dark-mode dashboard UI & frontend logic
├── config.rs            — TOML config parser, serializer & fallback defaults
├── lid_monitor/mod.rs   — Native OS lid close listener
│     ├── Windows:        WM_POWERBROADCAST + GUID_LIDSWITCH_STATE_CHANGE
│     ├── macOS:          IOKit kIOMessageSystemWillSleep hook
│     └── Linux:          logind D-Bus PrepareForSleep signal
├── ide_scanner/mod.rs   — Detects active VS Code, JetBrains, Cursor & terminal git roots
├── git/mod.rs           — git status, diff parser, stage, commit & push engine
├── ai/mod.rs            — Multi-provider interface (Gemini / OpenAI / Ollama + Fallback)
└── notifier.rs          — Cross-platform native OS notifications & wake-up dialogs
Official Community Guidelines • Production-Ready Governance

Built with Passion.
Engineered for Open Source.

LidCommit follows standard open-source governance modeled after Next.js and shadcn/ui. Explore our standardized PR workflow, conventional commit guidelines, issue templates, and intellectual property policies.

Trunk-Based Git Workflow

We use standard trunk-based development. The main branch is always production-ready. Always branch off main for features or bugfixes.

1

Fork & Clone Repository

Fork to your personal GitHub account and add the upstream remote for easy syncing.

2

Create a Scoped Branch

Keep pull requests small and focused: feat/tray-shortcuts or fix/debounce-loop.

3

Run Lints & Tests

Ensure cargo clippy -- -D warnings and cargo test pass cleanly before opening your PR.

Quick Contributor Commands
# 1. Clone your fork:
git clone https://github.com/<your-user>/lid-commit.git
cd lid-commit

# 2. Run debug GUI:
cargo run

# 3. Check code formatting:
cargo fmt --check
cargo clippy -- -D warnings

# 4. Run tests:
cargo test

Stop worrying about manual commits before you leave.

Close your laptop, walk out the door, and pull down your work on your next device. Start using LidCommit today.