> ## Documentation Index
> Fetch the complete documentation index at: https://docs.packmind.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Distribute artifacts

Now that Packmind contains coding standards, commands, and skills, let's distribute them to your Git Repositories.

The distribution will commit instructions files that will be used by AI Agents (Claude Code, Cursor, etc.).

## Supported AI Agents

Packmind supports multiple AI coding assistants. Organization administrators can choose which agents to enable in **Settings** → **Distribution** → **Rendering**. See [Manage AI Agent Rendering](/administration/manage-ai-agents) for details.

For a detailed breakdown of where standards, commands, and skills appear for each AI assistant, see [Understanding Where Your Artifacts Appear](/concepts/artifact-rendering).

<Note>
  **Default skills included** — All distributions automatically include
  Packmind's default skills (such as `packmind-update-playbook` for creating and
  updating playbook artifacts with AI assistance). These are added alongside
  your package contents regardless of which distribution method you use.
</Note>

<Tip>
  **Need support for a new AI agent?** You can create an issue in our
  [repository](https://github.com/PackmindHub/packmind) to request support for
  additional AI coding assistants.
</Tip>

## How to Distribute

There are two ways to distribute packages to your repositories:

1. **Using the Packmind app** - Distribute packages through the web interface with full control over targets and repositories
2. **Using packmind-cli** - Install packages directly from your terminal, useful for CI/CD pipelines and local development

### Distribution Methods Overview

| Method  | Best For                                    | Git Provider Management                  |
| ------- | ------------------------------------------- | ---------------------------------------- |
| **App** | Centralized distribution, team coordination | Full control via connected Git providers |
| **CLI** | CI/CD pipelines, local development          | Creates read-only provider entries       |

## Distribute via the App

To distribute standards, commands, and skills, you need to add them to a package.

A package is a curated collection of commands, standards, and skills grouped together (e.g., "Frontend React Standards", "Backend API Guidelines"). When you distribute a package:

* All commands, standards, and skills in the package are distributed together
* The latest version of each item is used
* A single commit contains all the package content
* You can distribute multiple packages at once to the same target

To distribute packages:

1. Navigate to the **Packages** section
2. Select the package(s) you want to distribute
3. Click **Distribute** and choose your target repositories
4. Confirm the Distribution

This approach is useful when you want to:

* Distribute related guidelines together
* Maintain consistent sets of standards across projects
* Organize guidelines by technology, team, or project structure

For more information on creating and managing packages, see [Packages Management](/concepts/packages-management).

## Distribute via packmind-cli

You can also distribute packages directly from your terminal using the `packmind-cli` command:

```bash theme={null}
packmind-cli install <package-slug>
```

For example:

```bash theme={null}
packmind-cli install backend-standards frontend-react
# Note: when using multiple spaces, you will need to prefix the packages with the space slug
packmind-cli install @backend/standards @frontend/react
```

<Note>
  When your organization uses multiple [Spaces](/concepts/spaces), prefix
  package slugs with the space slug using `@space/package` notation.
</Note>

This will:

1. Fetch the specified packages from Packmind
2. Generate the instruction files for all enabled AI agents
3. Write the files to your local repository
4. Notify Packmind that a distribution occurred

### CLI Distribution Considerations

When you distribute packages using the CLI, Packmind automatically creates a Git provider entry to track the distribution. However, these CLI-created providers have some limitations:

<Warning>
  **Limited Provider Management** — Git providers created through CLI
  distributions are not authenticated. This means you cannot trigger new
  distributions from the app for these repositories, you cannot add new targets
  to these providers from the app, and the provider appears in your
  organization's Git settings but with limited functionality. To enable full
  management from the app, connect a Git provider in **Settings** → **Git
  Providers** — using the [GitHub
  App](/governance/git-repository-connection#github-app-recommended)
  (recommended) or a personal access token. See [Git Repository
  Connection](/governance/git-repository-connection) for the full setup.
</Warning>

### When to Use CLI Distribution

The CLI approach is ideal for:

* **CI/CD pipelines** - Automate distribution as part of your deployment process
* **Local development** - Quickly install packages without leaving your terminal
* **Monorepos** - Use `packmind-cli install` to install packages for all `packmind.json` files in the repository
* **Self-hosted Git instances** - Distribute to repositories that aren't connected to the app

## Removing Packages

When you no longer need a package in your repository, you can remove it using either the app or the CLI.

### Remove via the App

In the Packmind app, you can remove packages one-by-one from your distributions:

1. Navigate to the **Packages** section
2. Open the package you want to remove
3. Click **Remove from target** and confirm the removal

### Remove via the CLI

There are two ways to remove packages using the CLI:

**Option 1: Use the remove command**

```bash theme={null}
packmind-cli uninstall <package-slug>
```

For example:

```bash theme={null}
packmind-cli uninstall backend-standards
```

**Option 2: Edit packmind.json and reinstall**

1. Open your `packmind.json` file
2. Remove the package slug from the packages list
3. Run the install command to update your repository:

```bash theme={null}
packmind-cli install
```

This approach is useful when you want to make multiple changes to your package configuration at once.
