CELL-VENDOR(1)                   Cell Manual                   CELL-VENDOR(1)

NAME
       cell vendor - Copy all dependencies locally for hermetic builds

SYNOPSIS
       cell vendor

DESCRIPTION
       The vendor command copies all dependencies from .cell/modules/ into
       a top-level modules/ directory in your project. This creates a
       hermetic build environment where all dependencies are committed
       alongside your code.

       Vendoring is useful for:
       - Ensuring builds work without network access
       - Committing exact dependency versions to version control
       - Protecting against upstream repositories disappearing
       - Creating fully reproducible builds

OPERATION
       1. Reads all dependencies from cell.toml
       2. Creates modules/ directory if it doesn't exist
       3. Copies each dependency from .cell/modules/ to modules/
       4. Preserves directory structure and all files
       5. Optionally updates import paths (TODO: implementation pending)

DIRECTORY STRUCTURE
       Before vendoring:
              .cell/modules/
              ├── chess@v1.0.0/
              └── engine@v2.1.0/
       
       After vendoring:
              modules/
              ├── chess@v1.0.0/
              └── engine@v2.1.0/

EXAMPLES
       Vendor all dependencies:
              cell vendor
       
       After vendoring, commit the modules directory:
              git add modules/
              git commit -m "Vendor dependencies"

NOTES
       - Vendored modules take precedence over .cell/modules/
       - The modules/ directory can be committed to version control
       - Run vendor after adding or updating dependencies
       - Removes the need for 'cell get' on fresh checkouts

FILES
       modules/
              Created and populated with all dependencies
       
       .cell/cell.toml
              Read to determine which modules to vendor

SEE ALSO
       cell(1), cell-get(1), cell-build(1)