Most developers do not lose time because their laptop is slow. They lose time because the environment around their work is inconsistent. Shell aliases live in three different places, editor defaults drift across machines, and project setup depends on memory instead of a repeatable system.

1. Treat the terminal as infrastructure

Your shell is not decoration. It is the control plane for local development. If your prompt, aliases, and helper scripts are different on every device, your workflow will always feel slightly unstable.

Start by centralizing your shell defaults in one bootstrap file and keeping the project-specific logic out of it:

Code snippet

bash

    export EDITOR="code"
export PNPM_HOME="$HOME/.local/share/pnpm"
export PATH="$PNPM_HOME:$PATH"

alias gs="git status --short"
alias devup="docker compose up -d"
alias devdown="docker compose down"

  

That gives you one place to reason about the habits that shape your day.

2. Standardize project bootstrapping

The fastest teams reduce every new project to the same ritual: install, sync, run, verify. If one repo needs tribal knowledge to start, the environment is already leaking productivity.

Define a single bootstrap command and make it trustworthy:

Code snippet

json

    {
  "scripts": {
    "setup": "pnpm install && pnpm astro sync && pnpm check",
    "dev": "astro dev"
  }
}

  

That is not flashy, but it turns onboarding and context switching into a smaller cognitive cost.

3. Keep the editor opinionated, but portable

Editors should encode standards, not personal chaos. Use workspace settings to enforce the rules that matter to the repo and keep the rest out of version control.

Code snippet

json

    {
  "editor.formatOnSave": true,
  "files.trimTrailingWhitespace": true,
  "eslint.validate": ["javascript", "typescript", "astro"],
  "typescript.tsdk": "node_modules/typescript/lib"
}

  

The goal is not control for its own sake. The goal is removing tiny decisions that compound over hundreds of edits.

Final baseline

If you want a DevHub-ready workstation, keep it simple:

  • centralize shell defaults and aliases
  • standardize setup commands across repos
  • make editor settings explicit and portable
  • optimize for repeatability before novelty

That is how a workstation starts to feel elite: less improvisation, more flow.