# Update Dependencies

> Update packages that DCP executables depend on. This skill is used infrequently, usually just once at the start of a new development cycle. Should only be used when requested explicitly, never as part of a regular change or PR. Use when this capability is needed.

- Skill: `tomevault-io/update-dependencies` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/update-dependencies`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/update-dependencies/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/update-dependencies

---


# Update Dependencies

Update Go package dependencies stored in @go.mod file.

## When to Use

- Dependency update at the beginning of a new development cycle, to ensure DCP is using the latest versions of packages.
- Upgrading tilt-apiserver to a new release.
- Should only be used when requested explicitly, never as part of a regular change or PR.

## Procedure

### 1. Update the Tilt dependency

Update `tilt-apiserver` dependency to the latest release. Find the latest release version at https://github.com/tilt-dev/tilt-apiserver/releases.

### 2. Update packages shared with Tilt

Fetch the `go.mod` from the tilt-apiserver release tag (e.g. `https://raw.githubusercontent.com/tilt-dev/tilt-apiserver/v<VERSION>/go.mod`). Any *Kubernetes-related* packages (those that have names starting with `k8s.io` or `sigs.k8s.io`) that both `tilt-apiserver` and DCP list in their `go.mod` files should be kept at exactly the same version. This includes both direct and indirect dependencies.

Other (non-Kubernetes) packages that are shared between `tilt-apiserver` and DCP do not need to be kept at the same version. Upgrade them like any other packages (see next step).

### 3. Update other packages

Check the latest versions of other direct dependencies (those **not** marked `// indirect`). Use the Go module proxy to check latest versions: `https://proxy.golang.org/<module>/@latest`.

- If the latest version differs only by **minor or patch** level, update it without asking.
- If the newest version involves a **major version change**, ask the user what to do (one question per package).

Use `go mod edit -require=<module>@<version>` to apply version changes (does not require network access from the terminal).

### 4. Regenerate code

Run `make generate` after updating dependencies. This is especially important after k8s.io package upgrades, as OpenAPI definitions may need regeneration.

## Verification and final steps

### 1. Tidy modules

Run `go mod tidy` and ensure it completes without errors.

### 2. Lint

Run `make lint` and ensure there are no errors or warnings. If you encounter errors or warnings, fix them in the source code.

### 3. Test

Run `make test` and ensure all tests pass. Fix any errors you encounter.

### 4. Update the NOTICE file

Run `make generate-licenses` to update the NOTICE file with the new dependencies.

---
> Source: [microsoft/dcp](https://github.com/microsoft/dcp) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-07-02 -->

