`), and simply run `generate-metadata` command to generate the metadata file. The name of the file and its location in the folder will become the script path in Windmill.
diff --git a/docs/advanced/6_imports/dependency_management.png b/docs/advanced/6_imports/dependency_management.png
deleted file mode 100644
index f7264094d..000000000
Binary files a/docs/advanced/6_imports/dependency_management.png and /dev/null differ
diff --git a/docs/advanced/6_imports/index.mdx b/docs/advanced/6_imports/index.mdx
index c1e318bc6..774ced568 100644
--- a/docs/advanced/6_imports/index.mdx
+++ b/docs/advanced/6_imports/index.mdx
@@ -8,11 +8,11 @@ When a script is deployed through its UI, Windmill generates a lockfile to ensur
On the [enterprise edition](/pricing), Windmill's caches can be configured to sync their cache with a central S3 repository to distribute the cache across multiple workers as soon as a new dependency is used for the first time.
-
+For centralized dependency management at the workspace level, see [workspace dependencies](../../core_concepts/55_workspace_dependencies/index.mdx).
## Lockfile per script inferred from imports (Standard)
-In Windmill, you can run scripts without having to [manage a package.json](../14_dependencies_in_typescript/index.mdx#lockfile-per-script-inferred-from-a-packagejson) / [requirements.txt](../15_dependencies_in_python/index.mdx#lockfile-per-script-inferred-from-a-requirementstxt) directly. This is achieved by automatically parsing the imports and resolving the dependencies. This method works for all languages in Windmill.
+In Windmill, you can run scripts without having to manage dependency files directly. This is achieved by automatically parsing the imports and resolving the dependencies. This method works for all languages in Windmill. For more control, you can use [workspace dependencies](../../core_concepts/55_workspace_dependencies/index.mdx) for centralized dependency management.
When using Bun or Deno as the runtime for TypeScript in Windmill, dependencies are resolved directly from the script imports and their imports when using [sharing common logic](../5_sharing_common_logic/index.mdx). The TypeScript runtime Bun ensures 100% compatibility with Node.js without requiring any code modifications.
@@ -55,7 +55,7 @@ You can get those 3 files for each script by pulling your workspace with command
Editing a script is as simple as editing its content. The code can be edited freely in your IDE, and there are possibilities to even run it locally if you have the correct development environment setup for the script language.
-Using [wmill CLI](../3_cli/index.mdx) command [`wmill script generate-metadata`](../3_cli/script.md#re-generating-a-script-metadata-file), lockfiles can be generated and updated as files. The CLI asks the Windmill servers to run dependency job, using either the [package.json (if present)](../14_dependencies_in_typescript/index.mdx#lockfile-per-script-inferred-from-a-packagejson) or asking Windmill to automatically resolve it from the script's code as input, and from the output of those jobs, create the lockfiles.
+Using [wmill CLI](../3_cli/index.mdx) command [`wmill script generate-metadata`](../3_cli/script.md#re-generating-a-script-metadata-file), lockfiles can be generated and updated as files. The CLI asks the Windmill servers to run dependency job, using either [workspace dependencies](../../core_concepts/55_workspace_dependencies/index.mdx) (if configured) or automatically resolving from the script's imports, and from the output of those jobs, create the lockfiles.
When a lockfile is present alongside a script at time of deployment by the CLI, no dependency job is run and the present lockfile is used instead.
diff --git a/docs/cli_local_dev/1_vscode-extension/index.mdx b/docs/cli_local_dev/1_vscode-extension/index.mdx
index fadaef1ce..5dea5467c 100644
--- a/docs/cli_local_dev/1_vscode-extension/index.mdx
+++ b/docs/cli_local_dev/1_vscode-extension/index.mdx
@@ -124,7 +124,7 @@ The VS Code extension includes syntax validation for flow.yaml files, making it
### Infer lockfile or use current lockfile
-With this toggle, you can choose to use the metadata lockfile ([derived from](../../advanced/3_cli/script.md#packagejson--requirementstxt) package.json or requirements.txt after [`wmill script generate-metadata`](../../advanced/3_cli/script.md#re-generating-a-script-metadata-file)) instead of inferring them directly from the script.
+With this toggle, you can choose to use the metadata lockfile (derived from [workspace dependencies](../../core_concepts/55_workspace_dependencies/index.mdx) after [`wmill script generate-metadata`](../../advanced/3_cli/script.md#re-generating-a-script-metadata-file)) instead of inferring them directly from the script.

diff --git a/flake.lock b/flake.lock
index d48d6fdb2..87897629b 100644
--- a/flake.lock
+++ b/flake.lock
@@ -20,11 +20,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1737062831,
- "narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=",
+ "lastModified": 1768305791,
+ "narHash": "sha256-AIdl6WAn9aymeaH/NvBj0H9qM+XuAuYbGMZaP0zcXAQ=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c",
+ "rev": "1412caf7bf9e660f2f962917c14b1ea1c3bc695e",
"type": "github"
},
"original": {
@@ -35,11 +35,11 @@
},
"nixpkgs-claude": {
"locked": {
- "lastModified": 1755186698,
- "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=",
+ "lastModified": 1768305791,
+ "narHash": "sha256-AIdl6WAn9aymeaH/NvBj0H9qM+XuAuYbGMZaP0zcXAQ=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c",
+ "rev": "1412caf7bf9e660f2f962917c14b1ea1c3bc695e",
"type": "github"
},
"original": {