Ecosystems
The proxy speaks each registry’s own protocol, so package managers talk to it the way they already talk to their public registry. That covers .NET, JavaScript, TypeScript, Java, Kotlin, Scala, Python, Go, Rust, Ruby, and Dart.
Pick your ecosystem, or find your package manager below.
/npm/npm, pnpm, Yarn, Bun, DenoNuGet.NET/nuget/v3/index.jsonNuGet, PaketPyPIPython/pip/pip, uv, Poetry, PipenvMavenJava, Kotlin, Scala/maven/Maven, Gradle, sbtGoGo/gogoCargoRust/cargo/cargoRubyGemsRuby/rubygemsBundler, gemDartDart, Flutter/dartpub, FlutterEach endpoint above is a path under <proxy-url>, the base URL of the package proxy.
The trailing slashes are not decorative. The proxy routes every ecosystem the same way, so the difference comes from the client: npm, pip, and Maven treat the value as a directory to append paths to, while Go and Dart append their own path segments and produce a doubled slash if the value already ends in one. Cargo’s sparse protocol requires the trailing slash, and NuGet’s endpoint is a file rather than a directory. Copy each one exactly as written.
Find your package manager
Section titled “Find your package manager”A package manager that is not listed still works if it speaks one of these protocols. Point it at the ecosystem endpoint and give it the API key through whatever registry and credential settings it exposes. The ecosystem pages carry worked configuration for the ones above.
What every page assumes
Section titled “What every page assumes”- An API key, generated in Settings -> API Keys. See Quick Start.
<proxy-url>, the base URL of the package proxy, without a trailing slash. Where a page needs the host on its own it writes<proxy-host>, and<proxy-host-and-port>when a non-default port is in play.- HTTPS in production. Go refuses authenticated HTTP proxy URLs, and a Dart bearer token must not cross an unencrypted connection.