# Build

> Build salt-dev Docker container images (base and devtools) via buildx with the salt-8cpu builder. Creates the builder if missing.

- Skill: `majiayu000/build-3` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/build-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/build-3/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/build-3

---


## Current State
- Branch: !`git branch --show-current`

Build the project Docker images:

1. Run `./lint.sh` -- abort if any check fails
2. Ensure the `salt-8cpu` builder exists:
   - Check: `docker buildx inspect salt-8cpu 2>/dev/null`
   - If missing, create and constrain to 8 CPUs:
     ```bash
     docker buildx create --name salt-8cpu --driver docker-container --driver-opt default-load=true
     docker buildx inspect --bootstrap salt-8cpu
     docker update --cpus 8 "$(docker ps -qf 'name=buildx_buildkit_salt-8cpu')"
     ```
   - Check memory: `docker info --format '{{.MemTotal}}'` -- warn user if < 22 GB
3. Build base image: `docker buildx build --builder salt-8cpu --pull -t salt-dev --load .`
4. If $ARGUMENTS contains "devtools" or "all":
   - Build devtools: `docker buildx build --builder salt-8cpu -f Dockerfile.devtools -t salt-dev-tools --load .`
5. Report build success/failure and image sizes via `docker images | grep salt-dev`

