# LPM — Licensed Package Manager

LPM is a package registry for JavaScript and Swift. It combines private package hosting, source delivery, team controls, a marketplace, and a revenue-sharing Pool. Packages use the public name format `@lpm.dev/owner.package-name`.

## Choose the correct package workflow

- Use `lpm install <package>` for runtime dependencies linked into `node_modules`.
- Use `lpm add <package>` to copy a package's source files into your project.
- Use `lpm publish` to publish an LPM package.
- Use the Swift Package Registry integration for native Xcode and `Package.swift` resolution.

LPM packages are private by default. Authors can make an irreversible distribution choice to list a package in the Pool or Marketplace. Package type and distribution mode are independent: JavaScript, Swift, normal, and source-delivery packages can use the supported distribution modes described in the documentation.

## Agent and API entry points

- [Documentation index](https://lpm.dev/docs)
- [Machine-readable documentation index](https://lpm.dev/api/docs)
- [OpenAPI 3.1 specification](https://lpm.dev/openapi.json)
- [LLM context](https://lpm.dev/llms.txt)
- [Full LLM context](https://lpm.dev/llms-full.txt)
- [XML sitemap](https://lpm.dev/sitemap.xml)
- [Package search](https://lpm.dev/packages)

## Package metadata for agents

Public package pages use `https://lpm.dev/owner.package-name`. Send `Accept: text/markdown` to a public package URL for a compact Markdown representation, or append `.md` to the package URL. Package-specific endpoints expose quality reports, generated API documentation, approved agent skills, and LLM-oriented usage context. Read the OpenAPI document for request parameters, authentication rules, and response schemas.

## Pricing and access

LPM has a free Hobby tier, a Pro plan, organization seats, and a Pool subscription. Marketplace packages can use one-time or recurring licenses. Access to private, Pool, and Marketplace packages is enforced by the registry and the account's entitlements.

## Start here

Install the CLI with `npm install -g @lpm-registry/cli`, then read the [getting started guide](https://lpm.dev/docs/getting-started) before publishing or installing packages.
