Phase 9: Development Environment

Phase 9: Development Environment

Languages & Runtimes

# Python
sudo pacman -S python
curl -LsSf https://astral.sh/uv/install.sh | sh
# Node
sudo pacman -S nodejs npm
# Rust
sudo pacman -S rustup
rustup default stable
# Go
sudo pacman -S go

Clone Documentation Repos

cd ~/atelier/_bibliotheca
git clone git@github.com:EvanusModestus/domus-docs.git
for repo in domus-captures domus-infra-ops domus-ise-linux domus-secrets-ops domus-linux-ops domus-antora-ui domus-netapi-docs; do
    git clone "git@github.com:EvanusModestus/${repo}.git"
done

Clone Project Repos

cd ~/atelier/_projects/personal
for repo in netapi netapi-tui ollama-local domus-cli ise-automation; do
    git clone "git@github.com:EvanusModestus/${repo}.git"
done

Add Multi-Remote Push

# For each repo that needs GitLab + Gitea mirrors
for repo in ~/atelier/_bibliotheca/domus-*; do
    name=$(basename "$repo")
    git -C "$repo" remote add gitlab "git@gitlab.com:EvanusModestus/${name}.git" 2>/dev/null
    git -C "$repo" remote add gitea "ssh://git@gitea-01.inside.domusdigitalis.dev:2222/evanusmodestus/${name}.git" 2>/dev/null
done

Claude Code

npm install -g @anthropic-ai/claude-code
claude --version

Container & Virtualization Tools

sudo pacman -S podman buildah skopeo
sudo pacman -S qemu-full libvirt virt-manager dnsmasq
sudo systemctl enable --now libvirtd
sudo usermod -aG libvirt evanusmodestus

Additional Dev Tools

sudo pacman -S httpie tokei dust duf procs bandwhich hyperfine
yay -S rmapi

Verify Antora Build

cd ~/atelier/_bibliotheca/domus-docs && make

npm Install for Antora Repos

After cloning domus-* repos, each one with a package.json needs npm install:

# Install node_modules for each domus repo that needs it
for repo in ~/atelier/_bibliotheca/domus-docs ~/atelier/_bibliotheca/domus-antora-ui; do
    if [ -f "${repo}/package.json" ]; then
        echo "Installing deps: $(basename $repo)"
        npm --prefix "$repo" install
    fi
done

Build domus-antora-ui Bundle

The UI bundle must be built before domus-docs make will work:

cd ~/atelier/_bibliotheca/domus-antora-ui
npm install
npx gulp bundle
# Verify bundle exists
ls -lh build/ui-bundle.zip
npx --prefix does NOT change cwd for gulp — you must cd into the repo first.

Docker for Kroki Diagrams

make serve in domus-docs requires Docker for Kroki diagram rendering:

sudo pacman -S docker
sudo systemctl enable --now docker.service
sudo usermod -aG docker evanusmodestus
newgrp docker
# Verify Docker works
docker run --rm hello-world

Git Pre-Commit Hook (AsciiDoc Validation)

Terminal commits (gach, git commit) skip Claude Code hooks. Add a git-level pre-commit hook:

# Create hooks directory in dots-quantum (tracked in git)
mkdir -p ~/atelier/_projects/personal/dots-quantum/git/.config/git/hooks
# Set global hooks path
git config --global core.hooksPath ~/.config/git/hooks
This is a P1 item tracked in appendix-todos.adoc. The actual hook script needs to validate AsciiDoc attribute references before commit.
Check Status

Languages installed (Python, Node, Rust, Go)

[x]

domus-* repos cloned

[x]

Multi-remote push configured (GitHub + GitLab + Gitea)

[ ]

Claude Code installed + authenticated

[x]

npm install for Antora repos

[ ]

domus-antora-ui bundle built

[ ]

Docker installed (Kroki diagrams)

[x]

domus-docs make succeeds

[ ]

Pre-commit hook configured

[ ]