dookie-workit
v2.4.2
Published
Non-invasive Windows CLI session booter — launch profiles on demand
Maintainers
Readme
Workit
Non-invasive Windows CLI session booter. Launch named profiles of apps and URLs on demand.
What it is: One command opens your apps (browser, school tools, games, Discord, whatever you set up). Does not run at Windows login. Does not spy on you.
Who needs what: Windows PC + Node.js installed.
First time:
- Install:
npm install -g dookie-workit - Setup:
workit init(pick Work, School, Games & apps, Minimal, or Blank) - Go:
workitorworkit workopens your session
Every day: Type workit or workit <profile> when you start. Done.
Useful commands:
workit --dry-run— show what would open, open nothingworkit games --skip-pick— pinned apps only, skip the launch pickerworkit list— see profile namesworkit default school— change which profile runs with plainworkitworkit config— see your settings fileworkit reset— wipe setup, start over
Settings file: %APPDATA%\workit\config.json (edit by hand or re-run workit init)
What it is NOT: Not a startup manager. Not auto-start. Not Mac/Linux (Windows only). Not a standalone .exe yet — needs Node.
Install
npm install -g dookie-workitLocal development:
npm install
npm run build
npm linkQuick Start
workit init # setup wizard (← Back on each step)
workit # launch default profile
workit games # pinned apps launch; picker for folder/catalog items
workit games --skip-pick # pinned apps only
workit list # profile names
workit default work # set default profile
workit rename old new # rename a profile
workit delete games # delete one profile
workit --dry-run # preview without spawning
workit config # show profiles
workit reset # clear configProfiles
Config v2 stores named profiles in %APPDATA%\workit\config.json:
{
"configVersion": 2,
"isInit": true,
"defaultProfile": "work",
"profiles": {
"work": {
"apps": [
{ "name": "Browser", "path": "C:\\...\\brave.exe", "attachUrls": true },
{ "name": "IDE", "path": "C:\\...\\Cursor.exe" }
],
"urls": ["https://github.com"],
"presetId": "work"
},
"school": {
"apps": [
{ "name": "Browser", "path": "C:\\...\\brave.exe", "attachUrls": true },
{ "name": "Comms", "path": "ms-teams:" }
],
"urls": ["https://classroom.google.com"],
"presetId": "school"
},
"games": {
"apps": [
{ "name": "Discord", "path": "C:\\...\\Discord\\Update.exe", "args": ["--processStart", "Discord.exe"] }
],
"urls": [],
"presetId": "game",
"catalogGameIds": ["genshin", "zzz"],
"customGamesFolder": "C:\\Users\\You\\Documents\\My Apps"
}
}
}- Presets — Work, School, Games & apps, Minimal, or Blank
- Pinned apps — preset defaults plus any apps you add manually (always launch)
- Apps folder — optional on any preset; items are prompted at launch (multi-select)
- Launch picker — runs automatically when catalog or folder has items; skipped when empty
--skip-pick— skip the picker and launch pinned apps only- Blank preset — add apps one-by-one, then optionally an apps folder
attachUrls: true— profile URLs open in a new browser window (each URL as a tab)- Protocol handlers —
ms-teams:,steam:,steam://supported in app paths - Empty paths — skipped silently (no failed launch for unused slots)
Optional built-in catalog
During setup for Games & apps, you can add titles from the built-in catalog (LoL, Valorant, Genshin, ZZZ, Honkai, CS2, Elden Ring). These are prompted at launch alongside anything in your custom folder.
Apps folder (any preset)
During workit init, any preset can use an apps folder. Drop .json, .exe, or .lnk files in it:
{
"name": "My App",
"path": "D:\\Apps\\MyTool\\launch.exe",
"args": []
}Commands
| Command | Description |
|---------|-------------|
| workit [profile] | Launch profile (auto-prompts picker when apps folder/catalog has items) |
| workit [profile] --skip-pick | Launch pinned apps only |
| workit list | List profile names |
| workit default <profile> | Set default profile |
| workit rename <old> <new> | Rename a profile |
| workit delete <profile> | Delete one profile (keeps others) |
| workit --dry-run [profile] | Preview launches without starting apps |
| workit init | Setup wizard, edit, or add profiles |
| workit reset | Clear all configuration |
| workit config | Show config and profile validity |
Migration from v1
Existing v1 configs (with browserPath, idePath, etc.) auto-migrate to a default profile on first run. If migration fails, run workit reset then workit init.
Principles
- On-demand only — runs when you invoke it, never at login
- No daemon — CLI exits after launch
- No telemetry — config stays local
- Lean — single bundled CLI, no GUI
Requirements
- Windows 10/11
- Node.js 18+
Development
npm install
npm run build
npm test
npm run dev # watch modeLicense
MIT
