Repolode
jetify-com

jetify-com/devbox

コンテナを使わず、Nix Registryのプロジェクト固有パッケージで分離された再現性の高い開発シェルを作成するCLIツール。

スター
12,448
フォーク
363
未解決の Issue
409
最終コミット
昨日

これは何?

Devboxは、分離された開発シェルを作成するCLIツールです。プロジェクトに必要なパッケージをdevbox.jsonファイルに記述すると、ホストマシンとは切り離して、必要なツールだけを備えた環境を構築できます。Python、Go、NodeなどのOSパッケージを管理する、プロジェクト単位のパッケージマネージャーのように動作し、数十万ものパッケージバージョンを提供するNix Package Registryを利用します。

環境は仮想マシン内ではなく、ノートPC上で直接動作するため、ファイルアクセスやコマンド実行はネイティブ速度を保てます。同じ定義から、VS Code用のdevcontainer、本番イメージ用のDockerfile、クラウド開発環境を作成できるため、チーム全員が単一の信頼できる情報源を使って作業できます。

DevboxはGoで書かれ、Apache 2.0ライセンスで公開されており、Jetifyによって開発が始まりました。Nixを基盤としており、内部でパッケージの解決と分離に利用しています。

主な機能

  • 01devbox.jsonファイルでプロジェクトのツールを宣言し、チームで共有できます。
  • 02ホストシステムに変更を加えず、バージョンを指定したOSレベルのパッケージをインストールして実行できます。
  • 03devbox shellで対話型シェルを起動したり、devbox runで単発のコマンドを実行したりできます。
  • 04同じ環境定義からdevcontainerやDockerfileの設定を生成できます。
  • 05Nix Package Registryにある豊富なパッケージバージョンを利用できます。

ユースケース

  • プロジェクトの全コントリビューターが同じバージョンのコンパイラーやCLIツールを使えるようにする。
  • システム全体へのインストールを変更せずに、新しいツールや言語のバージョンを試す。
  • 同じバイナリの異なるバージョンを必要とする複数のプロジェクトで作業する。
  • ローカル開発と同じツールを使った本番用コンテナイメージを構築する。

クイックスタート

  1. 1

    新しい空のフォルダーでターミナルを開き、Devbox を初期化します

    devbox init
  2. 2

    Nix からパッケージを追加します(例: Python 3.10)

    devbox add python@3.10
  3. 3

    これらのツールがインストールされたシェルを起動します

    devbox shell
  4. 4

    まず README に記載された公式インストールスクリプトを実行します(リモートスクリプトを bash にパイプします)

使う前に知っておきたいこと

  • パッケージは Nix レジストリから取得されるため、Devbox の基盤として Nix ベースのツールが必要です。

トピック

#dev-environment#nix#containers#virtual-environment#package-manager#reproducible-builds#devcontainer#build-system#build-tool#buildpack

よくある質問

devbox とは?
コンテナを使わず、Nix Registryのプロジェクト固有パッケージで分離された再現性の高い開発シェルを作成するCLIツール。 Devboxは、分離された開発シェルを作成するCLIツールです。プロジェクトに必要なパッケージをdevbox.jsonファイルに記述すると、ホストマシンとは切り離して、必要なツールだけを備えた環境を構築できます。Python、Go、NodeなどのOSパッケージを管理する、プロジェクト単位のパッケージマネージャーのように動作し、数十万ものパッケージバージョンを提供するNix Package Registryを利用します。
devbox は無料で使えますか?ライセンスは?
devbox は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
devbox は今もメンテナンスされていますか?
活発にメンテナンス中。devbox の最終コミットは 2026年11月6日 です。
devbox は何に使えますか?
プロジェクトの全コントリビューターが同じバージョンのコンパイラーやCLIツールを使えるようにする。 システム全体へのインストールを変更せずに、新しいツールや言語のバージョンを試す。 同じバイナリの異なるバージョンを必要とする複数のプロジェクトで作業する。 ローカル開発と同じツールを使った本番用コンテナイメージを構築する。
devbox のインストール方法は?
新しい空のフォルダーでターミナルを開き、Devbox を初期化します: devbox init Nix からパッケージを追加します(例: Python 3.10): devbox add python@3.10 これらのツールがインストールされたシェルを起動します: devbox shell まず README に記載された公式インストールスクリプトを実行します(リモートスクリプトを bash にパイプします)
devbox はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/jetify-com/devbox

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト