devstart

A tiny Windows launcher: one command, many local projects. No installer, no magic — just cmd, batch files, and a folder on your PATH.

devstart jakobbecker

Why bother

Starting the same repos every day costs attention: venv, ports, browser, terminal titles. devstart is a dispatcher — it picks the right project script and gets out of the way. Each project owns its own startup logic; the CLI stays boring on purpose.

Layout

Install once under your profile (or clone this repo’s mirror into the same shape):

%USERPROFILE%\devscripts\
  devstart.bat              # global entry point
  projects\
    jakobbecker.bat         # one file per project
    jakobbecker.aliases     # optional extra names (e.g. jbblog)

On this site, the same files are published as read-only references (not in the nav — open from the links below):

File Role
devstart.bat Dispatcher: parse args, resolve project, run script
jakobbecker.bat This site: MkDocs venv, serve, Chrome
jakobbecker.aliases Alias list for devstart jbblog

Copy from the built site or sync from your live devscripts tree; keep %USERPROFILE%\devscripts as the source of truth on your machine.

PATH (one time)

  1. Windows search → Edit environment variables for your account
  2. PathNew%USERPROFILE%\devscripts
  3. New terminal → devstart --version

Override projects location:

set DEVSTART_PROJECTS_DIR=D:\tools\devscripts\projects

Commands

Command What it does
devstart <name> Run projects\<name>.bat (or match an alias)
devstart --list List projects (same as --projects)
devstart --help Usage and registered projects
devstart --version Version string
devstart --stay-open Keep the launcher window open after success
devstart --quiet Minimal output (scripts, CI)

Flags can be mixed: devstart --stay-open jbblog.

Aliases: create projects\<name>.aliases with one alias per line (# comments allowed). Example: jbblogjakobbecker.bat.

Behaviour

  • Success: launcher window closes automatically (unless --stay-open).
  • Error: window stays open so you can read the message (even without --stay-open).
  • Batch files: ASCII-only in scripts; UTF-8 box characters break cmd parsing on Windows.

Add a project

  1. Add projects\myapp.bat — validate paths, start services, exit /b 0 on success.
  2. Optional: projects\myapp.aliases for short names.
  3. devstart myapp

Template pattern (see jakobbecker.bat): call :MAIN wrapper, subroutines below, delayed expansion for exit codes (!EXIT_OK!), no Unicode in the file.

This site (jakobbecker)

devstart jakobbecker
# or
devstart jbblog

That script checks Python, maintains .venv, runs mkdocs serve --dev-addr 127.0.0.1:8000, opens Chrome, and prints the exact serve command in the server window for manual restarts.

Reference sources

Browse the full scripts on the built site (syntax-friendly raw files):

Part of the wider Windows setup: Windows 11 Setup (devscripts folder, terminal, PATH).