dev-environment

Configures build, test, and disk-space rules for Entangled Desktop development across Windows and WSL hosts.

Updated Aug 18, 2026
One-click install
npx skills add https://github.com/doctorspider42/entangled-destop --skill dev-environment-doctorspider42
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dev-environment
Source: https://github.com/doctorspider42/entangled-destop/tree/main/.agents/skills/dev-environment
Command: npx skills add https://github.com/doctorspider42/entangled-destop --skill dev-environment-doctorspider42

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developing Entangled Desktop on this two-host machine (Windows native plus WSL Ubuntu) fails in predictable, expensive ways: cargo target dirs fill the 50 GB D: drive, the WSL VHDX grows until C: hits zero and kills every running VM, stale artifacts cause false test failures, and WSL's fast clock corrupts timing measurements. This Skill encodes the hard-won rules that prevent those outages before any build, worktree, or VM launch. ## Core Features & Use Cases - Dual-host build discipline: Canonical cargo commands for WSL and Windows with per-branch CARGO_TARGET_DIR locations, plus the rustup update requirement so local clippy matches CI. - Disk-space safety rules: Per-task target dir cleanup with scripts/dev-clean.sh --mine, a strict prohibition on machine-wide cleanup (wsl --shutdown, docker prune, VHDX compaction), and a 10 GB free-space stop sign on C:. - VM and artifact gotchas: Rules for demo VM disks (sparse copies, never share a writable image), stale initramfs/firmware rebuild triggers, fetched bootstrap kernels, and the WSL clock skew that skews every benchmark. - Use Case: Before an agent starts a worktree to fix a virtio-net bug, it loads this Skill to set the correct target dir on both hosts, verify disk space, fetch the pinned firmware, and avoid deleting shared VM images belonging to other tasks. ## Quick Start Load the dev-environment skill before building or testing anything in the Entangled Desktop repository so the correct target dirs, disk rules, and host commands are applied.

Frequently Asked Questions about dev-environment

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build and test Entangled Desktop on Windows and WSL?

Run cargo test --workspace on both hosts with a per-branch CARGO_TARGET_DIR: $HOME/entangled-target-<branch> in WSL and $env:LOCALAPPDATA\entangled-target-<branch> on Windows. Update rustup stable on both hosts first so local clippy matches CI.

How do I free disk space safely when developing in WSL?

Delete only your own per-task target dirs with scripts/dev-clean.sh --mine <branch>. Never run wsl --shutdown, docker prune, or VHDX compaction yourself; if space is still short after cleaning your own dirs, stop and report it.

Why does my WSL build fail with IO failure on output stream?

That error means drive D: is full, usually because a cargo target dir was placed inside the repo or a worktree on D:. Move the target dir to $HOME in WSL or LOCALAPPDATA on Windows and clean up the offending directory.

Can two VMs share the same disk image in Entangled Desktop?

No. Booting two VMs on one writable image corrupts the guest filesystem. Make a sparse copy with cp --sparse=always plus the .nvram sidecar, boot your copy, and delete it when finished.

Why do boot tests fail after merging changes to guest/test-rootfs?

The artifacts/ directory is gitignored and goes stale; the tests run the old initramfs. Rebuild with bash scripts/build-test-initramfs.sh after touching anything under guest/test-rootfs.

Why are timing benchmarks inside WSL inaccurate?

WSL2's CLOCK_MONOTONIC on this machine runs up to 3.8 percent fast, so Instant-based measurements read long. Take wall-clock numbers on the Windows side or cross-check against CLOCK_REALTIME.