Installing APK packages in distroless variants
Learn how to install APK packages into Chainguard's distroless container images that do not include package managers
For the complete documentation index, see llms.txt.
AI coding agents write code and install dependencies faster than any security team can review them manually. Every pip install, npm install, or docker pull an agent kicks off is a trust decision being made on your behalf against public registries.
The Chainguard and Cursor partnership follows a clear separation of responsibilities: Cursor is where your developers and agents plan, write, and review code. Chainguard is where developers reach for open source artifacts: Python, Java, and JavaScript libraries plus 2,300+ container images, all rebuilt from verifiable sources in the Chainguard Factory.
This page explains how to start using Chainguard artifacts in Cursor.
Before you begin, you’ll need:
chainctl installed and authenticatedThe fastest way to get started is to tell Cursor what you want and let it handle the migration. Open a project in Cursor, then in the chat, use a prompt like:
I'd like to migrate this project to use Chainguard images and libraries. My Chainguard org is <your-org>.Cursor will update your Dockerfiles to reference Chainguard container images and reconfigure your build files to pull dependencies from Chainguard Libraries.
Chainguard provides thousands of minimal, CVE-free container images. When Cursor updates a Dockerfile to use Chainguard images, it will reference the images like the following example:
FROM cgr.dev/chainguard/python:latest-dev AS builder
FROM cgr.dev/chainguard/python:latestYou can browse available images and their tags in the Chainguard Images directory.
This Dockerfile references both the python image’s latest and latest-dev variants. Learn more about Chainguard image variants in Chainguard’s container variants docs.
Chainguard Libraries provide malware-resistant Python, Java, and JavaScript packages. When Cursor migrates a project, it reconfigures your build files to pull dependencies from Chainguard instead of public registries.
You can browse available packages in the Chainguard Console, under the Libraries section.
If you see a 401 or 403 when running npm install, pip install, or a Maven build after Cursor configures your project:
java, python, or javascript)..npmrc has both the registry line and the auth line for the correct host.If Cursor references an image tag that doesn’t exist:
latest or latest-dev as a reliable starting point. Image digests are also available for production use.Last updated: 2026-04-20 14:00