Skip to content

[WP3] Execute Phase 4 Language Runtimes Installation #12

@pierreribeiro

Description

@pierreribeiro

Work Package 3: Execute Phase 4 (Language Runtimes)

Phase: 4 - Language Runtimes Installation
Priority: HIGH
Duration: 25 minutes
Risk: LOW (paths now correct after WP1 fix)

Objective

Install all 8 language runtime tools in user space.

The 8 Tools

Python Ecosystem (2 tools)

  1. python3 - Python 3.12 via Homebrew
  2. uv - Fast Python package manager

Rust Ecosystem (2 tools)

  1. rustc - Rust compiler
  2. cargo - Rust package manager

Bun Runtime (1 tool)

  1. bun - Fast JavaScript runtime

Node.js Ecosystem (3 tools)

  1. fnm - Fast Node Manager
  2. node - Node.js LTS (via fnm)
  3. pnpm - Fast package manager

Tasks

  • Execute Phase 4: ansible-playbook playbooks/main.yml --tags phase4 -vv
  • Verify Python 3.12 + uv installed
  • Verify Rust + cargo installed
  • Verify Bun installed
  • Verify fnm + Node.js LTS + pnpm installed
  • Verify shell configuration updated
  • Commit changes: "feat(phase4): language runtimes installation complete"
  • Create tag: phase-4-complete

Execution Strategy

Stage 1: Shell Detection

  • Detects user shell (bash or zsh)
  • Sets shell_config_file to correct path

Stage 2: Python Installation

  • Install Python 3.12 via Homebrew
  • Install uv via Homebrew
  • Configure PATH in shell config
  • Verify installation

Stage 3: Rust Installation

  • Install Rust via Homebrew
  • Cargo installed automatically
  • Verify installation

Stage 4: Bun Installation

  • Install Bun via Homebrew
  • Verify installation

Stage 5: Node.js Installation

  • Install fnm via Homebrew
  • Configure fnm in shell
  • Install Node.js LTS via fnm
  • Install pnpm via Homebrew
  • Verify installation

Success Criteria

  • [OK] All installation tasks complete
  • [OK] No permission denied errors
  • [OK] All verification tasks pass
  • [OK] Shell config updated correctly
  • [OK] All 8 tools accessible in PATH

Expected Output

PLAY [WSL2 Ubuntu Development Environment Setup]
  
TASK [Display environment information]
  msg:
    - "Setting up development environment for pierrecr"
    - "Home directory: /home/pierrecr"

TASK [language_runtimes : Install Python ecosystem]
  changed: [localhost]

TASK [language_runtimes : Install Rust ecosystem]
  changed: [localhost]

TASK [language_runtimes : Install Bun runtime]
  changed: [localhost]

TASK [language_runtimes : Install Node.js ecosystem]
  changed: [localhost]

PLAY RECAP
localhost : ok=15 changed=4

Tool Locations (Expected)

  • Python: /home/linuxbrew/.linuxbrew/bin/python3
  • uv: ~/.local/bin/uv
  • Rust: /home/linuxbrew/.linuxbrew/bin/rustc
  • Cargo: ~/.cargo/bin/cargo
  • Bun: /home/linuxbrew/.linuxbrew/bin/bun
  • fnm: /home/linuxbrew/.linuxbrew/bin/fnm
  • Node: ~/.local/share/fnm/node-versions/...
  • pnpm: /home/linuxbrew/.linuxbrew/bin/pnpm

Branch

feature/phase-4-language-runtimes

Dependencies

Blocks

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions