> ## Documentation Index
> Fetch the complete documentation index at: https://www.jetify.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a Dev Environment with Devbox

## Background[​](#background "Direct link to Background")

Devbox is a command-line tool that lets you easily create reproducible, reliable dev environments.
You start by defining the list of packages required by your development environment, and devbox uses
that definition to create an isolated environment just for your application. Developers can start
their dev environment by running `devbox shell` within your project.

To learn more about how Devbox works, you can read our [introduction](/docs/devbox/)

This Quickstart shows you how to install Devbox and use it to create a new Development Environment
for your project.

## Install Devbox[​](#install-devbox "Direct link to Install Devbox")

Follow the instruction from [the installation guide](/docs/devbox/installing-devbox/).

## Create a Development Environment[​](#create-a-development-environment "Direct link to Create a Development Environment")

We'll create a new development environment with the packages we need. These packages will only be
available when using this Devbox shell, ensuring we don’t pollute your machine.

1. Open a terminal in a new empty folder.

2. Initialize Devbox:

   ```bash theme={null}
   devbox init
   ```

   This creates a `devbox.json` file in the current directory. You should commit it to source
   control.

3. Search for packages to add to your Devbox project with `devbox search`. For example, to search
   for Python packages, you can run the `devbox search python3`

4. You can add a package to your project by running `devbox add <package>`. For example, running the
   following will install the latest available version of RipGrep in your project:

   ```bash theme={null}
   devbox add ripgrep
   ```

   If you want to install a specific version of a package, you can run
   `devbox add <package>@<version>`. For example, to install Python 3.10, you can run:

   ```bash theme={null}
   devbox add python@3.10
   ```

5. Your `devbox.json` file keeps track of the packages you've added, it should now look like this:

   ```json theme={null}
   {
     "packages": ["ripgrep@latest", "python@3.10"]
   }
   ```

## Launch your Development Environment[​](#launch-your-development-environment "Direct link to Launch your Development Environment")

1. Start a new shell that has your packages and tools installed:

   ```bash theme={null}
   devbox shell
   ```

   <Info>
     The first time you run `devbox shell` may take a while to complete due to Devbox downloading
     prerequisites and package catalogs required by Nix. This delay is a one-time cost, and future
     invocations and package additions should resolve much faster.
   </Info>

   You can tell you're in a Devbox shell (and not your regular terminal) because the shell prompt
   and directory changed.

2. Use your favorite packages.

   In this example we installed Python 3.10, so let's use it.

   ```
   $ python --version
   Python 3.10.0
   ```

   We will also have the latest version of ripgrep installed in our shell:

   ```
   $ rg --version
   ripgrep 13.0.0
   -SIMD -AVX (compiled)
   ```

3. Your regular tools are also available including environment variables and config settings.

   ```bash theme={null}
   git config --get user.name
   ```

4. To exit the Devbox shell and return to your regular shell:

   ```bash theme={null}
   exit
   ```

5. To share your project and shell, make sure to check in your `devbox.json` and `devbox.lock` file
   into source control. These files will ensure that developers get the same packages and
   environment when they run your project.

## Add the Devbox Badge to your Repo[​](#add-the-devbox-badge-to-your-repo "Direct link to Add the Devbox Badge to your Repo")

Once you publish your Devbox project to Github, you can help other developers get started by adding
the Devbox Badge to your repo. Please copy the code snippets below and paste them into your
README.md to add the badge

[<img src="https://mintcdn.com/jetify/l9lrcxYWzBSUFIHM/docs/images/devbox/badges/devbox-badge-galaxy.svg?fit=max&auto=format&n=l9lrcxYWzBSUFIHM&q=85&s=48a9dce9b830a5853ff8b03b9b5d9d22" alt="Built with Devbox" width="110" height="20" data-path="docs/images/devbox/badges/devbox-badge-galaxy.svg" />](https://www.jetify.com/devbox/docs/contributor-quickstart/)

<Tabs>
  <Tab title="Markdown">
    ```markdown theme={null}
    [![Built with Devbox](https://www.jetify.com/img/devbox/shield_galaxy.svg)](https://www.jetify.com/devbox/docs/contributor-quickstart/)
    ```
  </Tab>

  <Tab title="HTML">
    ```html theme={null}
    <a href="https://www.jetify.com/devbox/docs/contributor-quickstart/">
      <img src="https://www.jetify.com/img/devbox/shield_galaxy.svg" alt="Built with Devbox" />
    </a>
    ```
  </Tab>
</Tabs>

[<img src="https://mintcdn.com/jetify/l9lrcxYWzBSUFIHM/docs/images/devbox/badges/devbox-badge-moon.svg?fit=max&auto=format&n=l9lrcxYWzBSUFIHM&q=85&s=41ac24ae01ce458cf74bdc87908a6c0d" alt="Built with Devbox" width="110" height="21" data-path="docs/images/devbox/badges/devbox-badge-moon.svg" />](https://www.jetify.com/devbox/docs/contributor-quickstart/)

<Tabs>
  <Tab title="Markdown">
    ```markdown theme={null}
    [![Built with Devbox](https://www.jetify.com/img/devbox/shield_moon.svg)](https://www.jetify.com/devbox/docs/contributor-quickstart/)
    ```
  </Tab>

  <Tab title="HTML">
    ```html theme={null}
    <a href="https://www.jetify.com/devbox/docs/contributor-quickstart/">
      <img src="https://www.jetify.com/img/devbox/shield_moon.svg" alt="Built with Devbox" />
    </a>
    ```
  </Tab>
</Tabs>

## Next Steps[​](#next-steps "Direct link to Next Steps")

### Learn more about Devbox[​](#learn-more-about-devbox "Direct link to Learn more about Devbox")

* **[Devbox Global](/docs/devbox/devbox-global/):** Learn how to use the devbox as a global package
  manager
* **[Devbox Scripts](/docs/devbox/guides/scripts/):** Automate setup steps and configuration for
  your shell using Devbox Scripts.
* **[Configuration Guide](/docs/devbox/configuration/):** Learn how to configure your shell and dev
  environment with `devbox.json`.
* **[Browse Examples](https://github.com/jetify-com/devbox/tree/main/examples):** You can see how to
  create a development environment for your favorite tools or languages by browsing the Devbox
  Examples repo.

### Use Devbox with your IDE[​](#use-devbox-with-your-ide "Direct link to Use Devbox with your IDE")

* **[Direnv Integration](/docs/devbox/ide-configuration/direnv/):** Devbox can integrate with
  [direnv](https://direnv.net/) to automatically activate your shell and packages when you navigate
  to your project.
* **[Devbox for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=jetpack-io.devbox):**
  Install our VS Code extension to speed up common Devbox workflows or to use Devbox in a
  devcontainer.

### Boost your dev environment with Jetify Cloud[​](#boost-your-dev-environment-with-jetify-cloud "Direct link to Boost your dev environment with Jetify Cloud")

* **[Jetify Secrets](/docs/cloud/secrets/):** Securely store and access your secrets and environment
  variables in your Devbox projects.
* **[Jetify Cache](/docs/cloud/cache/):** Share and cache packages across all your Devbox projects
  and environments.
* **[Jetify Prebuilt Cache](/docs/cloud/cache/prebuilt-cache/):** Use the Jetify Public Cache to
  speed up your Devbox builds and share packages with the community.

### Get Involved[​](#get-involved "Direct link to Get Involved")

* **[Join our Discord Community](https://discord.gg/jetify):** Chat with the development team and
  our growing community of Devbox users.
* **[Visit us on Github](https://github.com/jetify-com/devbox):** File issues and provide feedback,
  or even open a PR to contribute to Devbox or our Docs.

[Edit this page](https://github.com/jetify-com/docs/tree/main/docs/devbox/quickstart/index.mdx)
