Files
apf_portal/docs/setup/03-dev-web-stack.md
T
Julien Gautier f70b1d3a1b
CI / commits (pull_request) Successful in 2m52s
CI / check (pull_request) Successful in 3m3s
CI / scan (pull_request) Successful in 3m11s
CI / a11y (pull_request) Successful in 3m5s
Docs site / build (pull_request) Successful in 3m10s
CI / perf (pull_request) Successful in 6m53s
docs(setup): add Debian 13 dev-VM setup procedure + scripts + devcontainer
New procedure in docs/setup/01-dev-debian-vm-setup.md targeting the new
dev VM (10.100.201.21, Debian 13) that replaces the WSL workflow. The
existing setup files are renumbered (01->02, 02->03, 03->04) to free
prefix 01 for the default flow.

10 modular idempotent scripts under docs/setup/scripts/ install the
stack: zsh + Oh My Zsh + Powerlevel10k + plugins, modern CLI tooling
(bat, eza, fd-find, ripgrep, fzf, zoxide, ncdu, keychain + dev extras),
nvm + Node from .nvmrc + corepack + pnpm, Docker CE + compose plugin,
inotify watches + swap + hostname tuning, best-effort UFW + sshd
hardening that probes-before-applying, and notes/aliases.zsh +
notes/gitconfig.txt installation.

A systemd template (apf-portal-infra@.service) auto-starts the local
dev infra stack at boot per user.

.devcontainer/ ships a VSCode Dev Container spec pinning Node 24 and
attaching to the host's apf-portal-dev Compose network so postgres /
redis / otel resolve by DNS from inside the container. initializeCommand
fails fast if the infra hasn't been brought up yet.

CLAUDE.md Environment conventions documents the two envs (local +
development) plus the hybrid sub-mode (workstation IDE + VM infra via
SSH LocalForward) and the two IDE flows (Remote-SSH + Devcontainer).

Adjacent follow-ups (not in this PR): preview infra on the GitLab VM
(10.100.201.10), GitLab Runner migration alongside the Gitea -> GitLab
cutover, private dotfiles repo.
2026-05-24 18:37:57 +02:00

101 lines
1.1 KiB
Markdown

# ⚙️ Web dev stack (Node + pnpm + tooling)
## Goal
Install a modern, reproducible stack.
---
## 1) Install Node via nvm
```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
source ~/.zshrc
```
Install Node LTS:
```bash
nvm install --lts
nvm alias default 'lts/*'
```
---
## 2) Activate pnpm
```bash
corepack enable
corepack prepare pnpm@latest --activate
pnpm setup
exec zsh
```
---
## 3) Working tree
Create a dev folder:
```bash
mkdir -p ~/dev
cd ~/dev
```
⚠️ Do not work inside `/mnt/c` (slow I/O).
---
## 4) Conventions
- ❌ No global Angular install
- ✅ Use `pnpm dlx`
- ✅ Versions pinned per project
---
## 5) Useful commands
```bash
pnpm install
pnpm run dev
pnpm run build
pnpm run test
```
---
## 6) VS Code
Recommended extensions:
- WSL
- Angular Language Service
- ESLint
- Prettier
- GitLens
---
## 7) Docker
Install Docker Desktop (Windows).
Enable:
- Settings → WSL Integration → Debian
Test:
```bash
docker ps
```
---
## Result
- Stable environment
- Clean version management
- Team-compatible