Document

Professional Dev Workflow

An integrated system for coding, runtime management, databases, containers, and operations.

πŸ› οΈ Professional Dev Workflow (Integrated Tool System)

This guide explains how your installed tools operate as one engineering system, not as isolated apps. The target is a reproducible day-to-day workflow for coding, runtime management, database work, containers, and system operations.


🧠 Core Architecture

Your environment is organized into 5 working layers plus a system foundation:

1) Code Layer

2) Runtime Layer

3) Database Layer

4) Container Layer

5) Operations Layer

Foundation Tools (Cross-Layer)


πŸš€ 1) Booting Your Development Environment

Step 1: Start infrastructure

If using containers:

docker compose up -d
docker ps

If using system PostgreSQL:

sudo systemctl status postgresql

Step 2: Open control room

Start tmux and keep your workflow in panes/windows:

tmux

Recommended pane layout:

Step 3: Verify package-manager consistency

Use Corepack-managed pnpm to keep version parity:

corepack enable
corepack prepare pnpm@10.33.0 --activate
pnpm install

In projects, pin pnpm version in package.json:

"packageManager": "pnpm@10.33.0"

πŸ’» 2) Code Layer Workflow (Git + VS Code + pnpm)

Sync before coding

git fetch --all
git pull --rebase

Start focused branch

git checkout -b feature/<name>

Development loop

pnpm install
pnpm dev
pnpm test

Commit hygiene

git add -p
git commit -m "feat(auth): add login endpoint"

Rules:


πŸ—„οΈ 3) Database Layer Workflow (PostgreSQL + psql + Beekeeper)

Use tools by responsibility:

psql = engineering and automation

Use for:

Example:

psql -U postgres

Beekeeper Studio = visual inspection

Use for:

Avoid using it as source-of-truth for production logic changes.

Correct DB change sequence

  1. Write migration in code.
  2. Apply migration through script/tooling.
  3. Verify shape and data in Beekeeper.

If using Prisma:

pnpm prisma migrate dev --name <migration-name>

🐳 4) Container Layer Workflow (Docker Stack)

Common commands:

docker compose up -d
docker ps
docker logs <container-name>

Role boundaries:

Design principle: containers are disposable. You should be able to recreate services from config.


πŸ€– 5) Runtime Layer (Apps, Bots, Services)

Development runtime

pnpm dev

Long-running managed runtime

pm2 start index.js --name app
pm2 logs app

Use PM2 when you need supervised background processes, restarts, and centralized runtime logs.


πŸ”„ 6) Git Collaboration Flow

Branch and push

git checkout -b feature/name
git push origin feature/name

Pull request flow

Rebase before merge

git fetch origin
git rebase origin/main

Retest after rebase or conflict resolution.


βš™οΈ 7) System Operations Integration

Package management policy

Useful diagnostics

journalctl -xe
grep "installed" /var/log/pacman.log

For AUR debugging, inspect cache/build state in ~/.cache/yay/.

Package state note

If /etc/pacman.d/mirrorlist.pacnew appears, reconcile it with your active mirrorlist to avoid stale mirror configuration.


πŸ“¦ 8) Installed Program Map (What Each One Is For)

Installed tools you listed, grouped by role:

Core dev and source control

JavaScript/Node toolchain

Database and data tooling

Container and runtime stack

Workflow and system operations

Language/tooling support


βœ… 9) Daily Professional Sequence

  1. Start tmux control room.
  2. Bring up services (Docker and/or PostgreSQL).
  3. Sync branch state (git fetch --all, git pull --rebase).
  4. Install/update dependencies (pnpm install).
  5. Run app/bot (pnpm dev) and DB tooling in parallel panes.
  6. Implement small scoped change.
  7. Run tests and inspect logs.
  8. Commit cleanly and push.
  9. Open PR and merge after CI + review.

🧭 10) Non-Negotiable Rules

  1. Use tmux for serious multi-service work.
  2. Database production logic changes go through migrations/scripts, not ad-hoc GUI edits.
  3. Beekeeper is for inspection and debugging, not source-of-truth.
  4. If work is not committed in Git, it is not part of the system.
  5. Containers are disposable and reproducible from configuration.

🧠 Final Mental Model

Follow this model consistently and you move from β€œusing tools” to operating a coherent development platform.