Imported from wkulinski/wsl-provisioner (
AGENTS.md). Install upstream withnpx skills add wkulinski/wsl-provisioner. Copyright stays with the author.
Repository Guidelines
Project Structure & Module Organization
site.ymlis the entry Ansible playbook;ansible.cfgandinventory.inidefine local execution defaults.roles/contains the provisioning roles (wsl_base,docker_engine,codex,windows_winget), each withtasks/main.ymland optional templates.windows/holds Windows-side assets likebootstrap.ps1.
Build, Test, and Development Commands
ansible-playbook site.ymlruns the full provisioning from WSL using the default inventory.DEVBOX_USER=dev ansible-playbook site.ymlsets the WSL user name created during provisioning.powershell -NoProfile -ExecutionPolicy Bypass -File windows/bootstrap.ps1runs the Windows bootstrap (Admin shell required).
Coding Style & Naming Conventions
- Use 2-space indentation in YAML; keep Ansible tasks in
roles/<role>/tasks/main.yml. - Prefer
snake_casefor Ansible variables (for example,dev_user,dev_home). - Keep role names lowercase with underscores; keep Windows scripts in
windows/.
Testing Guidelines
- There is no automated test suite; validate by running the playbook and checking installed tools.
- Recommended manual checks in WSL:
docker version,docker compose version,codex --version.
Commit & Pull Request Guidelines
- The Git history only contains an
Initcommit; no established convention yet. - Use concise, imperative subjects (for example, "Update winget packages for Windows tools").
- PRs should include a short summary, how to run the playbook, and any Windows-side requirements (Admin shell, reboot, or
wsl --shutdown).
Security & Configuration Tips
DEVBOX_USERcontrols the created WSL user; avoid hard-coding user-specific paths.ansible.cfgdisables host key checking; run only in trusted environments.- Windows provisioning uses
winget; call out changes towindows/assets in PRs.
