Skip to content

chefe

One manifest for every package manager.

Conda, Python, Node.js, Rust, and whatever toolchains your project declares. Real projects need several at once, scattered across pixi.toml, package.json, and language-specific manifests. chefe is the head chef: you write one chefe.toml recipe, it compiles each native manifest under .chefe/, runs the real tools, and plates them as a single environment. It never re-implements a solver. It runs the cooks.

  • One recipe

    Every language/toolchain in a single chefe.toml. No more juggling four manifests.

  • Native output

    Compiles to real pixi.toml, package.json and friends. The actual tools do the solving.

  • Composable

    Platform overlays and named environments stack like pixi features.

  • Self-contained

    The whole environment lives in .chefe/, so one command wipes it.

Installation

pip install chefe      # or: pipx install chefe

chefe installs pixi, the engine it compiles to, on first run, so a single pip install is all you need.

chefe.toml
[workspace]
name = "my-project"

[deps]                 # conda, the default resolver
python  = ">=3.12"
nodejs  = ">=25"
ripgrep = "*"

[python.deps]
torch = ">=2.6"

[nodejs.dev.deps]
prettier = ">=3"

chefe is early (0.0.x)

The manifest format and commands may still change.

Next

Lore

A head chef never cooks every dish alone. They write the recipe and run the line, and the cooks each work their station. Scattered package managers are that line, so chefe directs them from one recipe. 🧑‍🍳