winutil Documentation

Chris Titus Tech's Windows Utility - Install Programs, Tweaks, Fixes, and Updates

60,377 stars PowerShell PowerShell 1 file ยท ~1,371 tokens
RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy winutil on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name winutil -p 4321:4321 --restart always christitustech/winutil:latest
Configured Services & Ports
โš™๏ธ winutil-astro
image: build locally
๐Ÿ”Œ Ports: 127.0.0.1:4321:4321
docker-compose.yml
yaml (docker-compose.yml)
services:
  winutil-astro:
    build: .
    ports:
      - "127.0.0.1:4321:4321"
    volumes:
      - .:/app
      - astro_node_modules:/app/node_modules
    tmpfs:
      - /app/.astro
    environment:
      - CHOKIDAR_USEPOLLING=true
      - ASTRO_TELEMETRY_DISABLED=1

volumes:
  astro_node_modules:

1. Project Overview & Quickstart (ChrisTitusTech/winutil)

Chris Titus Tech's Windows Utility

A curated compilation of Windows system tasks streamline installs, debloat with tweaks, troubleshoot with config, and configure Windows updates. Run it fresh on every new Windows install.


Quick Start

WinUtil must be run as Administrator Because it performs system-wide changes.

Open PowerShell or Terminal as admin, then run:

Stable Branch (recommended)

ps1
irm https://christitus.com/win | iex

Development Branch

ps1
irm https://christitus.com/windev | iex

How to open an admin terminal

  • Start menu: Right-click Start โ†’ Windows PowerShell (Admin) or Terminal (Admin)
  • Search: Press the Windows key, and type PowerShell or Terminal, then Ctrl + Shift + Enter

Automation / Presets

Apply a predefined configuration without manual selection:

powershell
& ([ScriptBlock]::Create((irm https://christitus.com/win))) -Preset Standard
Preset Description
Standard Balanced defaults for most users
Minimal Minimal changes to suit every user
Advanced Deep tweaks for power users

To view exactly what each preset does, see:
https://github.com/ChrisTitusTech/winutil/blob/main/config/preset.json


Build & Develop

See https://github.com/ChrisTitusTech/winutil/blob/main/.github/CONTRIBUTING.md


Resources


Support

Sponsors

These are the sponsors that help keep this project alive with monthly contributions.


Contributors

Thanks to everyone who has contributed time and effort to this project. Keep rocking ๐Ÿป

2. Official Technical Reference & Guides (ChrisTitusTech/website)

Christitus.com

The source for christitus.com, built as a fully static
Astro site and deployed with Cloudflare Pages.

Requirements

  • Node.js 24
  • npm

Install the exact dependency tree and run the complete local gate:

bash
npm ci
npm run validate

Development commands:

bash
npm run dev          # production-eligible content only
npm run dev:content  # include draft and future content locally
npm run build        # static output in dist/
npm run preview      # serve the production artifact

Focused validation is available through npm run check, npm test,
npm run test:browser, npm run test:browser:webkit, and
npm run test:lighthouse. Historical article Markdown is excluded from broad
formatting and Markdown-lint rewrites; source, configuration, migration docs,
and the post template remain enforced.

Create a post

The repository scaffolder is the Astro equivalent of a Hugo archetype. In an
interactive terminal, omit categories to choose from the complete numbered
list:

bash
npm run new:post -- "My new article"

For non-interactive use, pass one or more exact category names:

bash
npm run new:post -- "My new article" \
  --category Linux \
  --category "Software Dev"

The command renders templates/post.md.tmpl into
content/posts/<year>/<slug>.md, defaults the post to draft: true, and
refuses file, URL, redirect, static-asset, taxonomy, feed, or pagination
collisions. The available categories are Android, ChromeOS, Development,
FreeBSD, Hardware, Linux, MacOS, Misc, Networking, Software Dev, Titus,
Virtualization, Windows, Windows Server, and YouTube.

Set the featured image at static/images/<year>-thumbs/<slug>.webp, edit the
generated front matter and body, then preview drafts with npm run dev:content.

Repository layout

  • src/ contains Astro pages, layouts, components, styles, and browser code.
  • content/ contains articles and standalone page Markdown.
  • static/ is copied directly into the published site.
  • data/livestreams.json and static/chats/ are maintained by Python
    automation and a managed pull-request workflow.
  • scripts/ contains content preparation, validation, the post scaffolder, and
    data automation.
  • tests/ contains unit, route-contract, and browser coverage.
  • SPEC.md and ROADMAP.md record the migration contract and cutover gates.

Cloudflare production cutover, repository-rule activation, and the first live
managed-data PR are separate guarded operations documented in Phase 5 of
ROADMAP.md.