# Crosvm Dev Container

> Crosvm Dev Container is an Agent Skill for devops & security published in the google/crosvm repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Skill to assist with using the `dev_container` tool for running builds, tests, and other tools in a consistent containerized environment.

- Skill name: `crosvm-dev-container`
- Category: [DevOps & Security](https://www.openparable.com/skill/devops-security/1)
- Source: https://github.com/google/crosvm/blob/HEAD/.agents/skills/crosvm_dev_container/SKILL.md
- Repository: google/crosvm (1,261 GitHub stars when collected)

## SKILL.md

# Crosvm Dev Container (`tools/dev_container`)

The `tools/dev_container` script is a wrapper used to run commands inside the official `crosvm`
development container. This ensures a consistent environment with all necessary dependencies
installed (such as compilers, libraries, and system tools).

It uses Podman by default, but can fall back to or be forced to use Docker.

## Basic Usage

To run any command inside the dev container, prefix it with `tools/dev_container`:

```bash
tools/dev_container <command>
```

### Common Examples:

- **Run cargo check**:
  ```bash
  tools/dev_container cargo check
  ```
- **Run presubmit checks**:
  ```bash
  tools/dev_container ./tools/presubmit quick
  ```
- **Run formatting**:
  ```bash
  tools/dev_container ./tools/fmt
  ```

## Key Options

- `--use-docker`: Force the script to use Docker instead of Podman.
- `--pull`: Pull the latest version of the container image from the registry before running the
  command.
- `--stop`: Stop the currently running container instance.
- `--clean`: Clean the container state (useful if the container gets into a bad state).
- `--no-interactive`: Run in non-interactive mode (useful for scripts or CI).

---

Source: https://www.openparable.com/skill/devops-security/crosvm-dev-container (OpenParable). Cite the canonical URL above.
