Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ make bootstrap

`make bootstrap` activates Flox as needed, installs the pinned Python and Node.js
toolchains, synchronizes Python dependencies, installs pnpm workspace
dependencies, and builds Studio assets. Run `flox activate` afterward when you
dependencies, and builds Studio assets. Run `flox -q activate` afterward when you
want to use `uv`, `node`, or `pnpm` directly. Flox supplies Node.js and Corepack
installs the repository-pinned pnpm into the environment cache. Interactive
Comment thread
crookedstorm marked this conversation as resolved.
activation installs the repository's pre-commit hook when needed; leave the
Expand Down Expand Up @@ -66,7 +66,7 @@ For complete Studio setup instructions, see the [Getting Started section in the
1. **Flox**: Activate the repository environment, which provides the pinned Node.js and pnpm versions:

```bash
flox activate
flox -q activate
```

#### Initialize the Repository
Expand Down Expand Up @@ -134,7 +134,7 @@ Then start the platform from the repository root:

```bash
# From an activated Flox environment
flox activate
flox -q activate
nemo services run

# Or run everything with quickstart config (builds OPA policy first)
Expand All @@ -150,7 +150,7 @@ NMP_CONFIG_FILE_PATH=packages/nmp_platform/config/local.yaml \

Visit `http://localhost:8080/studio/` to access the Studio UI.

After the first interactive `flox activate`, pre-commit is installed
After the first interactive `flox -q activate`, pre-commit is installed
automatically. System-toolchain contributors can install it explicitly with
`uv run pre-commit install`.

Expand Down
8 changes: 5 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ NODE_VERSION := 22.23.2
PNPM_VERSION := 10.34.5
BOOTSTRAP_CREATE_VENV ?= 1
BOOTSTRAP_EXPECTED_VIRTUAL_ENV := $(CURDIR)/.venv
BOOTSTRAP_ACTIVATION_REMINDER = if [ "$(TOOLCHAIN)" = "flox" ] && [ "$${FLOX_ENV_PROJECT:-}" != "$(CURDIR)" ]; then echo ""; echo "Next steps:"; echo " flox activate"; echo " nemo --help"; elif [ "$(TOOLCHAIN)" = "system" ] && [ "$${VIRTUAL_ENV:-}" != "$(BOOTSTRAP_EXPECTED_VIRTUAL_ENV)" ]; then echo ""; echo "Next steps:"; echo " source .venv/bin/activate"; echo " nemo --help"; fi
BOOTSTRAP_ACTIVATION_REMINDER = if [ "$(TOOLCHAIN)" = "flox" ] && [ "$${FLOX_ENV_PROJECT:-}" != "$(CURDIR)" ]; then echo ""; echo "Next steps:"; echo " flox -q activate"; echo " nemo --help"; elif [ "$(TOOLCHAIN)" = "system" ] && [ "$${VIRTUAL_ENV:-}" != "$(BOOTSTRAP_EXPECTED_VIRTUAL_ENV)" ]; then echo ""; echo "Next steps:"; echo " source .venv/bin/activate"; echo " nemo --help"; fi

# Display platform info
$(info local system architecture: $(PLATFORM)/$(ARCH))
Expand Down Expand Up @@ -223,11 +223,12 @@ bootstrap-python: verify-python-version verify-compiler ## Bootstrap Python depe

TOOLCHAIN ?= flox
FLOX ?= flox
FLOX_QUIET ?= $(FLOX) -q
ifeq ($(TOOLCHAIN),flox)
ifeq ($(FLOX_ENV_PROJECT),$(CURDIR))
FLOX_EXEC :=
else
FLOX_EXEC := $(FLOX) activate --dir "$(CURDIR)" --
FLOX_EXEC := $(FLOX_QUIET) activate --dir "$(CURDIR)" --
endif
else ifeq ($(TOOLCHAIN),system)
FLOX_EXEC :=
Expand All @@ -236,7 +237,8 @@ $(error TOOLCHAIN must be either flox or system)
endif
UV := $(FLOX_EXEC) uv
ifeq ($(TOOLCHAIN),flox)
PNPM := $(FLOX_EXEC) bash -c 'corepack "pnpm@$(PNPM_VERSION)" "$$@"' --
FLOX_NODE_EXEC := $(FLOX_QUIET) activate --dir "$(CURDIR)/tools/nodejs" --
PNPM := $(FLOX_NODE_EXEC) pnpm
else
PNPM := $(FLOX_EXEC) pnpm
endif
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ cd nemo-platform

# Install Flox first: https://flox.dev/docs/install-flox/install
make bootstrap
flox activate
flox -q activate

nemo setup
```

`make bootstrap` uses the Flox-pinned uv, Node.js, and pnpm toolchain; it does not require a prior `flox activate`. Activate Flox after bootstrap to continue development in the managed environment. Without Flox, install the versions printed by `make toolchain-versions` and a C compiler, then run `make TOOLCHAIN=system bootstrap` followed by `source .venv/bin/activate`. See [SETUP.md](SETUP.md#toolchain-uv-nodejs-pnpm).
`make bootstrap` uses the Flox-pinned uv, Node.js, and pnpm toolchain; it does not require a prior `flox -q activate`. Activate Flox after bootstrap to continue development in the managed environment. Without Flox, install the versions printed by `make toolchain-versions` and a C compiler, then run `make TOOLCHAIN=system bootstrap` followed by `source .venv/bin/activate`. See [SETUP.md](SETUP.md#toolchain-uv-nodejs-pnpm).

`nemo setup` starts local services, registers your LLM provider, discovers available models, selects default and fast agent models, installs agent skills, and deploys a sample agent (see more below).

Expand Down
4 changes: 2 additions & 2 deletions SETUP.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ Before running `make bootstrap`, install Flox from the [Flox installation guide]

```bash
make bootstrap # installs Python deps, Studio assets, and plugins (including demo calculator agent)
flox activate # enter the managed development environment
flox -q activate # enter the managed development environment
nemo setup # interactive: prompts for provider, picks default/fast models, optionally deploys calculator-agent
```

Expand Down Expand Up @@ -130,7 +130,7 @@ make: *** [test-unit] Error 127
That covers the `make` targets only. To run `uv` or `pnpm` directly, activate Flox first:

```bash
flox activate
flox -q activate
```

Without Flox, install the versions printed by `make toolchain-versions` and a C compiler, then run `make TOOLCHAIN=system bootstrap`. Docker is required when starting local services, but not for dependency bootstrap.
Expand Down
2 changes: 1 addition & 1 deletion docs/get-started/setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Install [Flox](https://flox.dev/docs/install-flox/install) before running `make
git clone https://github.com/NVIDIA-NeMo/nemo-platform.git
cd nemo-platform
make bootstrap
flox activate
flox -q activate
```

The `make bootstrap` target creates the Python environment, syncs Python dependencies, builds Studio assets, and installs local plugins. Activate Flox afterward to continue development with the managed toolchain.
Expand Down
2 changes: 1 addition & 1 deletion web/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ The `kaizen-ui` skill is not committed — it is synced from the `@nvidia/founda

- Use **pnpm** exclusively — never npm or yarn
- Run frontend commands from `web/`, not from repo root
- Node.js and pnpm come from the root Flox environment. Run `flox activate` for interactive work; Corepack provides the repository-pinned pnpm.
- Node.js and pnpm come from the root Flox environment. Run `flox -q activate` for interactive work; Corepack provides the repository-pinned pnpm.
- Install dependencies: `pnpm add <package>`
- Run scripts: `pnpm <script-name>`

Expand Down
2 changes: 1 addition & 1 deletion web/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ NeMo Studio is a UI built on the NeMo Platform, which is aimed at improving agen
1. For first setup, install Flox from the repository root and run `make bootstrap-studio`; it provides the pinned Node.js and pnpm versions without requiring global installation. For interactive web work, activate Flox:

```bash
flox activate # from the repository root
flox -q activate # from the repository root
```

Or install the Node.js and pnpm versions printed by `make toolchain-versions`, then use `TOOLCHAIN=system make bootstrap-studio` from the repository root.
Expand Down
Loading