devenv
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.
Best use case
devenv is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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.
Teams using devenv should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/devenv/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How devenv Compares
| Feature / Agent | devenv | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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 ```bash # Enter the development shell (sets up PATH, env, git hooks) devenv test # Run a one-off command inside the shell devenv shell <command> # Run a named script devenv shell <script-name> # Example: devenv shell lint:all ``` ## Core rules 1. **Prefer devenv scripts over raw commands.** When a `scripts` block exists in `devenv.nix`, always use the script name instead of the underlying command. ```bash # ✅ Preferred devenv shell lint:all devenv shell test:all # ❌ Avoid cargo clippy --workspace --all-features -- -D warnings pnpm test ``` 2. **Use `devenv shell <command>` when direct commands fail.** If `pnpm`, `cargo`, or other project tools are not on PATH, prefix with `devenv shell`: ```bash devenv shell pnpm install devenv shell cargo build --workspace ``` 3. **Use `devenv test` to enter the shell** for interactive work or to verify the environment is correctly set up. 4. **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 ```bash devenv shell build:all # Build everything devenv shell test:all # Run all tests devenv shell lint:all # Run all lints devenv shell fix:all # Fix all autofixable problems devenv shell docs:check # Check documentation devenv shell docs:update # Update shared docs ``` ### Managing the environment ```bash devenv test # Enter the shell (sets up env + hooks) devenv update # Update flake inputs devenv gc # Garbage collect old generations ``` ### Running processes ```bash devenv up # Start all processes (postgres, redis, etc.) devenv processes status # Check running processes ``` ## When scripts aren't on PATH Some devenv configurations set `enterShell` to add scripts to PATH via: ```nix 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](REFERENCE.md).
Related Skills
write-a-skill
Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill.
web-search
Web search via DuckDuckGo. Use when the user needs to look up current information online.
web-fetch
Fetch a web page and extract readable text content. Use when user needs to retrieve or read a web page.
rust-workspace-bootstrap
Scaffold a production-ready Rust workspace with knope changesets, devenv, and GitHub Actions CI/release workflows. Use when starting a new Rust project or monorepo.
request-refactor-plan
Create a detailed refactor plan with tiny commits via user interview, then file it as a GitHub issue. Use when user wants to plan a refactor, create a refactoring RFC, or break a refactor into safe incremental steps.
quick-setup
Detect project type and generate .pi/ configuration. Use when setting up pi for a new project or when user asks to initialize pi config.
pwsh
PowerShell syntax reference — cmdlets, objects, pipelines, filtering, comparison operators, and Bash-to-PowerShell command equivalents
nushell
Nushell syntax reference for shell commands — variables, pipelines, tables, custom commands, control flow, Bash-to-Nu equivalents, and common gotchas
neubrutalism
Neubrutalism design system skill. Use when building bold UI with thick borders, offset solid shadows, high saturation colors, and minimal border radius.
liquid-glass
Apple Liquid Glass design system. Use when building UI with translucent, depth-aware glass morphism following Apple's design language. Provides CSS tokens, component patterns, dark/light mode, and animation specs.
improve-codebase-architecture
Explore a codebase to find opportunities for architectural improvement, focusing on making the codebase more testable by deepening shallow modules. Use when user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more AI-navigable.
grill-me
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".