| .github | ||
| __tests__ | ||
| public | ||
| src | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| eslint.config.js | ||
| index.html | ||
| jest.config.js | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| tailwind.config.js | ||
| vite.config.js | ||
Windows Post-Install Script Generator
A web-based tool that generates customized Windows post-installation batch scripts. Select from 115 software applications and 80 Windows configurations to create a personalized setup script.
Support This Project
If you find this tool useful, consider sponsoring to help keep it alive and actively maintained!
Changelog
See CHANGELOG.md for the full history of changes to this project.
How to Use (Production)
Just open the live version:
👉 https://kaic.me/win-post-install
There you can:
- Choose the apps and settings you want.
- Generate a
.batscript. - Download it and run on your fresh Windows install (USB or local machine).
Runs entirely in your browser — no installation required.
Features
- 115 Software Applications: Curated apps across 13 categories
- 80 System Configurations: Performance, privacy, UI, gaming tweaks
- Cleanup Tools: Remove bloatware safely
- One-Click Script Generation: Ready-to-run batch file
- Windows 98-Inspired UI: Nostalgia + modern functionality
- Safe and Reversible: Uses official Windows tools (
winget, PowerShell)
Live Demo
🔗 https://kaic.me/win-post-install
Technologies
- React 19
- Vite
- Tailwind CSS
- React Icons
- Winget
- PowerShell
Running Locally (Development Only)
You only need this if you plan to run or modify the source code.
Prerequisites
- Node.js 18+ and npm
Setup
git clone https://github.com/kaic/win-post-install.git
cd win-post-install
npm install
npm run dev
Build
npm run build
The production build will be outputed to the dist/ directory.
Usage
Using the Web Interface
- Browse Categories: Navigate through software categories (Browsers, Development, Gaming, etc.)
- Select Software: Click on applications you want to install
- Configure System: Switch to the Configurations tab to optimize Windows settings
- Review Selection: View your selected items in the right panel
- Download Script: Click "Download Script" to generate your batch file
- Run on Windows: Execute the downloaded
.batfile as Administrator on your Windows machine
Running the Generated Script
- Download the
windows-setup.batfile from the web interface - Right-click the file and select "Run as Administrator"
- The script will:
- Install selected software using winget
- Apply system configurations via registry and PowerShell
- Remove bloatware if selected
- Display progress and completion status
Adding Your Own Software
Edit src/data/software-catalog.js to add new software entries:
{
id: 'my-app',
name: 'My Application',
category: 'utilities',
wingetId: 'Publisher.MyApp',
icon: SiMyapp,
description: 'Description of my application',
website: 'https://example.com',
recommended: false
}
Adding System Configurations
Edit src/data/configurations.js to add new configurations:
{
id: 'my-config',
name: 'My Configuration',
description: 'What this configuration does',
category: 'performance',
registryBat: [
'reg add "HKCU\\Path" /v Value /t REG_DWORD /d 1 /f'
],
recommended: false,
requiresRestart: false,
requiresAdmin: true
}
Project Structure
win-post-install/
├── src/
│ ├── components/
│ │ ├── Common/ # Reusable UI components
│ │ ├── Software/ # Software selection interface
│ │ └── Configurations/ # System configuration interface
│ ├── data/
│ │ ├── software-catalog.js # Software definitions
│ │ ├── configurations.js # System configurations
│ │ └── categories.js # Category definitions
│ ├── App.jsx # Main application component
│ ├── index.css # Global styles
│ └── main.jsx # Application entry point
├── public/ # Static assets
├── index.html # HTML template
├── vite.config.js # Vite configuration
└── package.json # Project dependencies
Documentation
Contributing
Contributions are welcome! Please read our Contributing Guide for detailed instructions on:
- Development setup
- Adding software to the catalog
- Adding system configurations
- Modifying the UI
- Code style guidelines
- Pull request process
Quick Start
- Fork the repository
- Create a feature branch:
git checkout -b feat/my-feature - Make your changes and test locally
- Commit using conventional commits:
git commit -m "feat: add new feature" - Push and open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Software metadata and installation via Winget
- Icons from React Icons
- UI design inspired by classic Windows 98 interface
- Community contributions and suggestions
Disclaimer
This tool generates scripts that modify system settings and install software. Always review generated scripts before execution. The authors are not responsible for any system issues resulting from script execution. Use at your own risk and ensure you have backups of important data.