Bedtime Mode for Windows
A local-only Windows sleep timer and PC shutdown timer for nightly use — with final confirm, emergency cancel, and dry-run preview.
Fast start · Two modes · Screenshots · Features · Safety · Integration · Build & CI · Docs
Lights Out PC is a local-only bedtime timer for Windows. Set a countdown, choose Shutdown / Sleep / Restart / Hibernate / Lock, and start a safe nightly run.
Open → choose tonight's run → START or PLAY → countdown → PC does the power action safely.
No accounts. No cloud sync. No ads. No telemetry. Built for real bedtime use — not a demo toy.
| Product | Lights Out PC |
| Full title | Lights Out PC — Bedtime Mode for Windows |
| Canonical source | SleepTimer-Tonight.ps1 |
| Desktop app | Desktop\Lights Out\SleepTimer.exe |
| Modules | modules\LightsOut.*.psm1 |
Standalone first. Modular always. Hard dependency never.
Double-click Desktop\Lights Out\Lights Out.bat or:
& "$env:USERPROFILE\Desktop\Lights Out\SleepTimer.exe" -ClassicUi -NoAutoStartSet minutes → pick action → START.
& "$env:USERPROFILE\Desktop\Lights Out\SleepTimer.exe" -ClassicUi -Minutes 23 -Action Shutdown -StartStart-Process "$env:USERPROFILE\Desktop\Lights Out\SleepTimer.exe" -ArgumentList '-ClassicUi','-DryRun','-NoAutoStart'Double-click Desktop\Lights Out Premium Preview.bat, or:
Start-Process "$env:USERPROFILE\Desktop\Lights Out\SleepTimer.exe" -ArgumentList '-SteamUi','-DryRun','-NoAutoStart'More walkthrough → docs/lights-out/GETTING-STARTED.md
| Mode | Purpose | Launcher |
|---|---|---|
| Classic UI | Real bedtime timer — simple, usable first | Normal Lights Out.lnk / Lights Out.bat |
| Steam / Night Lobby | Premium preview, rituals, Last Light, Morning Proof | Lights Out Premium Preview.bat (-SteamUi -DryRun) |
Classic UI = duration timer first (default live path)
Steam UI = premium Night Lobby (optional DryRun preview)
Do not judge premium UI from the normal shortcut. Classic is intentionally the live launcher. Steam/Night Lobby polish is checked through Premium Preview only.
Details → docs/lights-out/SIMPLE-TIMER.md · docs/lights-out/UI-REFERENCE.md
Visual north-star references in docs/assets/lights-out/:
Mockups guide polish only — not pixel-perfect specs.
- Windows sleep timer — countdown with analog-style ring (digital time + progress arc)
- PC shutdown timer — Shutdown, Sleep, Restart, Hibernate, Lock
- Shutdown timer with final confirm — 5-second dialog before power action; snooze available
- Emergency cancel — global
Ctrl+Shift+Shotkey anytime - Dry-run preview —
-DryRun/ Demo mode for safe testing - Classic UI — timer amount first, quick chips (10m–60m), minimal layout
- Night Lobby — premium Steam-style UI with Tonight Cards and trust badges
- Last Light — cinematic shutdown finale sequences (DryRun safe)
- Morning Proof — next-launch session summary
- Sleep Clearance — pre-play checklist in Night Lobby
- Clock & calendar scheduling — optional
.icsimport - Tray icon — live progress while running
- Local audit log —
%LOCALAPPDATA%\CoolTimer\actions.log
Lights Out controls real power on your PC. Safety is non-negotiable.
| Guard | Detail |
|---|---|
| 60s minimum | Production builds cannot arm a prank-length shutdown |
| Final confirm | 5-second dialog after countdown — snooze or proceed |
| Emergency cancel | Ctrl+Shift+S anytime |
| Dry-run | -DryRun / SLEEPTIMER_DRY_RUN=1 — no power action |
| Demo mode | -Demo implies DryRun; skips real settings/log writes |
| CI gate | SLEEPTIMER_CI=1 blocks power in automated runs |
| Power gate | Test-NoPowerAction → Do-PowerAction (sole execution path) |
Full model → docs/lights-out/SAFETY-MODEL.md
Windows fallback if the app fails:
shutdown /s /t 1380 /f /c "Force shutdown in 23 minutes. Cancel with shutdown /a"
shutdown /a # cancel| Use | Command |
|---|---|
| Normal open | SleepTimer.exe -ClassicUi -NoAutoStart |
| Live run | SleepTimer.exe -ClassicUi -Minutes 23 -Action Shutdown -Start |
| Safe test | SleepTimer.exe -ClassicUi -DryRun -NoAutoStart |
| Night Lobby preview | SleepTimer.exe -SteamUi -DryRun -NoAutoStart |
| Demo | SleepTimer.exe -Demo -NoAutoStart |
| Help | SleepTimer.exe -Help |
Full reference → docs/lights-out/CLI.md
Environment variables: SLEEPTIMER_MINUTES, SLEEPTIMER_ACTION, SLEEPTIMER_DRY_RUN, SLEEPTIMER_DEMO, SLEEPTIMER_CI
Lights Out works fully standalone. Optional bridges connect to the broader Neural ecosystem — off by default:
| Bridge | Required? | Detail |
|---|---|---|
| LuxGrid RGB | No | Local JSON events → RGB keyboard lighting |
| NeuralOS | No | Future dashboard integration |
| NeuralShell | No | Future automation hooks |
| Snoozurp | No | Future sleep-layer adapter |
Lights Out Core → timer, safe power, confirm, audit
Optional bridges → LuxGrid, NeuralOS, NeuralShell, Snoozurp, future launchers
Contract → docs/lights-out/INTEGRATION-CONTRACT.md · LuxGrid setup → LUXGRID-LIGHTSOUT.md
cd windsurf-project
# Safe validate (never launches timer / never shuts down PC)
.\scripts\Test-AgentSafety.ps1
.\scripts\Test-SleepTimer.ps1
.\scripts\Test-Docs.ps1 # doc link + safety lint
.\scripts\CI-Local.ps1
# Deploy to Desktop\Lights Out (no auto-launch)
.\scripts\Deploy-SleepTimer-Desktop.ps1CI workflows: .github/workflows/lights-out-ci.yml (docs + safety gates) · .github/workflows/sleep-timer-ci.yml (release build)
Release checklist → docs/lights-out/RELEASE-CHECKLIST.md · CI guide → docs/lights-out/CI.md
See docs/lights-out/TROUBLESHOOTING.md.
Quick checks:
- Use
Lights Out.batfor live Classic UI (not Demo, not DryRun). - Premium UI? Use
Lights Out Premium Preview.bat— not the normal shortcut. - Missing modules → run from
Desktop\Lights Out\(needsmodules\LightsOut.*.psm1). - Safe testing always uses
-DryRun.
Shipped (5.2): Classic simple timer, Night Lobby, Last Light, Morning Proof, Sleep Clearance, analog ring
Next: GitHub release aligned with VERSION, WinGet refresh, 7-night dogfood
Optional: LuxGrid RGB pairing — not required
Full plan → PRODUCT_ROADMAP.md
- Not a cloud app — no accounts, no sync, no telemetry
- Not a medical sleep product — no health claims
- Not LuxGrid-dependent — RGB bridge is optional
- Not NeuralOS-dependent — ecosystem bridges are optional
- Not Electron / WPF — canonical app is PowerShell WinForms (
SleepTimer-Tonight.ps1) - Not a redesign experiment —
CoolTimer.ps1andSleepTimer-Electron/are not canonical
| Doc | Purpose |
|---|---|
docs/lights-out/GETTING-STARTED.md |
First-night walkthrough |
docs/lights-out/SAFETY-MODEL.md |
Power gates, DryRun, agent rules |
docs/lights-out/CLI.md |
Flags and examples |
docs/lights-out/UI-REFERENCE.md |
Visual north-star mockups |
docs/lights-out/INTEGRATION-CONTRACT.md |
Ecosystem event contract |
docs/lights-out/RELEASE-CHECKLIST.md |
RC release steps |
docs/lights-out/CI.md |
CI workflows and triage |
docs/agent-handbook/AGENT-QUICKSTART.md |
Agent safety handoff |
MIT — free for personal and commercial use. See LICENSE.




