Files
apf_portal/docs/setup/02-dev-web-stack.md
T
Julien Gautier 79eee77594 chore: initialize repository with project rules, docs, and phase-1 ADRs
Set up the foundation for the adastra-portal project:

- CLAUDE.md captures durable project rules (quality bar, security/perf/a11y
  as first-class, language, commit conventions, ADR proactivity).
- docs/ and decisions/ scaffolding with maintained indexes (docs/README.md
  and decisions/README.md), MADR 4.0.0 template, and tag vocabulary.
- Phase-1 ADRs (0001-0006) lock structural choices: ADR usage, Nx monorepo
  with the apps preset, naming convention (adastra-portal / portal-shell /
  portal-bff), Angular CSR/zoneless/Signals/Vitest, NestJS over Express,
  PostgreSQL with Prisma.
- docs/setup/ guides translated to English.
- .gitignore covers Node/Nx artifacts and the personal notes/ scratchpad.

The Nx workspace itself is not yet bootstrapped; that step is gated on a
revised setup guide aligned with the ADRs.
2026-04-29 20:43:00 +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