From 3b15546a78bbbf0db518d8b2c4c2db4cee151b57 Mon Sep 17 00:00:00 2001 From: Aaron Hunt Date: Tue, 11 Aug 2026 15:53:36 -0700 Subject: [PATCH 1/3] build(web): sync KUI kaizen-ui skill on install Run the design-system's sync-skills.mjs from the web root during postinstall so the kaizen-ui skill lands deterministically in web/.agents/skills regardless of where pnpm install is invoked. Removes the studio-package script that relied on INIT_CWD leaking through pnpm --filter. Documents the auto-sync in web/README.md and web/AGENTS.md. Signed-off-by: Aaron Hunt --- web/.gitignore | 1 + web/AGENTS.md | 2 ++ web/README.md | 2 ++ web/package.json | 3 ++- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/web/.gitignore b/web/.gitignore index 990f12d561..117628070c 100644 --- a/web/.gitignore +++ b/web/.gitignore @@ -9,6 +9,7 @@ node_modules optimization_results/ optimizations/ filestorage/ +.agents/skills/kaizen-ui/ # SDK output is generated on `pnpm install` (see packages/sdk/generateAll.ts). packages/sdk/generated/ \ No newline at end of file diff --git a/web/AGENTS.md b/web/AGENTS.md index 8e616fb902..21889da7b6 100644 --- a/web/AGENTS.md +++ b/web/AGENTS.md @@ -10,6 +10,8 @@ Cursor/Claude skills for this monorepo live under **`web/.agents/skills/`** (for example `unit-test`, `e2e-test`, `feature-flags`, `ux-guidelines`, `visual-dev`, `test-coverage-improvement`). +The `kaizen-ui` skill is not committed — it is synced from the `@nvidia/foundations-react-core` design system package on `pnpm install` (root `sync-skills` script) and is gitignored. + ## Package Overview - **packages/studio** — Main React frontend application diff --git a/web/README.md b/web/README.md index 424c42b8e5..c916fc94eb 100644 --- a/web/README.md +++ b/web/README.md @@ -22,6 +22,8 @@ NeMo Studio is a UI built on the NeMo Platform, which is aimed at improving agen cp packages/studio/env/.env.e2e packages/studio/env/.env.e2e.local ``` + `pnpm install` also syncs the KUI `kaizen-ui` agent skill from the `@nvidia/foundations-react-core` design system package into `web/.agents/skills/` (via the root `sync-skills` script). The synced skill is gitignored; re-run `pnpm sync-skills` from `web/` to refresh it after upgrading the package. + ## Running Studio Locally Run the following script from `web/`: diff --git a/web/package.json b/web/package.json index b7b1709a95..8320955145 100644 --- a/web/package.json +++ b/web/package.json @@ -6,7 +6,8 @@ "description": "A monorepo comprising the packages for nemo studio.", "scripts": { "preinstall": "npx only-allow pnpm", - "postinstall": "pnpm --filter @nemo/sdk gen:all", + "postinstall": "pnpm --filter @nemo/sdk gen:all && pnpm run sync-skills", + "sync-skills": "node packages/studio/node_modules/@nvidia/foundations-react-core/scripts/sync-skills.mjs --dir .agents || true", "test": "pnpm run -r test", "test:e2e": "pnpm run -r test:e2e", "build": "pnpm run -r build", From 2d403e826097f85caeb2beb0e52348cdd479070b Mon Sep 17 00:00:00 2001 From: Aaron Hunt Date: Tue, 11 Aug 2026 16:18:16 -0700 Subject: [PATCH 2/3] build(web): resolve sync-skills via pnpm exec bin Replace the hardcoded node_modules path to sync-skills.mjs with 'pnpm --filter nemo-studio-ui exec kui-sync-skills', which resolves the bin from studio's node_modules/.bin instead of a brittle internal path. Signed-off-by: Aaron Hunt --- web/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/package.json b/web/package.json index 8320955145..0d7f088385 100644 --- a/web/package.json +++ b/web/package.json @@ -7,7 +7,7 @@ "scripts": { "preinstall": "npx only-allow pnpm", "postinstall": "pnpm --filter @nemo/sdk gen:all && pnpm run sync-skills", - "sync-skills": "node packages/studio/node_modules/@nvidia/foundations-react-core/scripts/sync-skills.mjs --dir .agents || true", + "sync-skills": "pnpm --filter nemo-studio-ui exec kui-sync-skills --dir .agents || true", "test": "pnpm run -r test", "test:e2e": "pnpm run -r test:e2e", "build": "pnpm run -r build", From 66a5f4ba0a2fa05d25460b0c1bafdb512cd417ae Mon Sep 17 00:00:00 2001 From: Aaron Hunt Date: Tue, 11 Aug 2026 16:20:05 -0700 Subject: [PATCH 3/3] docs(web): document manual sync-skills refresh in AGENTS.md Match web/README.md by noting 'pnpm sync-skills' from web/ as the manual refresh command for the kaizen-ui skill. Signed-off-by: Aaron Hunt --- web/AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/AGENTS.md b/web/AGENTS.md index 21889da7b6..b3f14b1a53 100644 --- a/web/AGENTS.md +++ b/web/AGENTS.md @@ -10,7 +10,7 @@ Cursor/Claude skills for this monorepo live under **`web/.agents/skills/`** (for example `unit-test`, `e2e-test`, `feature-flags`, `ux-guidelines`, `visual-dev`, `test-coverage-improvement`). -The `kaizen-ui` skill is not committed — it is synced from the `@nvidia/foundations-react-core` design system package on `pnpm install` (root `sync-skills` script) and is gitignored. +The `kaizen-ui` skill is not committed — it is synced from the `@nvidia/foundations-react-core` design system package on `pnpm install` (root `sync-skills` script) and is gitignored. To refresh it after upgrading the package, run `pnpm sync-skills` from `web/`. ## Package Overview