| name | devenv |
| description | Use devenv as the task runner and development environment when devenv.nix is present in the project. Run scripts via `devenv test` to enter the shell, or `devenv shell <command>` when commands aren't available outside the shell. Prefer devenv scripts over ad-hoc commands. Use when devenv.nix exists, or when the user asks about devenv setup, scripts, processes, or Nix-based dev environments. |
devenv Skill
Activation
Load this skill when devenv.nix exists in the project root, or when the user mentions devenv,
Nix shells, or project task runners.
Quick start
devenv test
devenv shell <command>
devenv shell <script-name>
Core rules
-
Prefer devenv scripts over raw commands. When a scripts block exists in devenv.nix,
always use the script name instead of the underlying command.
devenv shell lint:all
devenv shell test:all
cargo clippy --workspace --all-features -- -D warnings
pnpm test
-
Use devenv shell <command> when direct commands fail. If pnpm, cargo, or other
project tools are not on PATH, prefix with devenv shell:
devenv shell pnpm install
devenv shell cargo build --workspace
-
Use devenv test to enter the shell for interactive work or to verify the environment
is correctly set up.
-
Check devenv.nix scripts before inventing commands. Always read the scripts block to
find existing task names before running raw commands.
Common patterns
Running project tasks
devenv shell build:all
devenv shell test:all
devenv shell lint:all
devenv shell fix:all
devenv shell docs:check
devenv shell docs:update
Managing the environment
devenv test
devenv update
devenv gc
Running processes
devenv up
devenv processes status
When scripts aren't on PATH
Some devenv configurations set enterShell to add scripts to PATH via:
enterShell = ''
export PATH="$DEVENV_ROOT/scripts:$PATH"
'';
In those cases, scripts may be available directly inside devenv test. Outside the shell, always
use devenv shell <script-name>.
Script naming conventions
The user's preferred devenv.nix layout uses colon-separated namespaced scripts:
build:* — build tasks
test:* — test tasks
lint:* — lint and check tasks
fix:* — autofix tasks
install:* — dependency installation tasks
update:* — update tasks
docs:* — documentation tasks
coverage:* — coverage tasks
snapshot:* — snapshot update/review tasks
setup:* — editor/tool setup tasks
clean:* — cleanup tasks
deny:check — security/license checks
publish:check — publication dry-run checks
See also
For the recommended devenv.nix layout, script structure, and git-hooks configuration, see
REFERENCE.md.