Documentation

Getting Started

MDPM (Markdown Package Manager) helps you share and consume AI context files like SKILL.md, AGENTS.md, and copilot-instructions.md.

Install the CLI

# Install as a .NET global tool
dotnet tool install -g mdpm

Verify Installation

mdpm --version

Installing Packages

Search for packages

mdpm search copilot
mdpm search --tag skills

Install a package

# Install to current directory
mdpm install awesome-skills

# Install specific version
mdpm install awesome-skills --version 1.0.0

# Install to specific path
mdpm install awesome-skills --path ./my-project

List installed packages

mdpm list

Uninstall a package

mdpm uninstall awesome-skills

Creating Packages

Initialize a new package

mdpm init

This creates a package.mdpm.json manifest file:

{
  "id": "my-package",
  "version": "1.0.0",
  "description": "My AI context package",
  "authors": ["Your Name"],
  "license": "MIT",
  "tags": ["skills", "copilot"]
}

Package Structure

my-package/
├── package.mdpm.json     # Required manifest
├── README.md             # Displayed on the web
├── .github/
│   └── copilot-instructions.md
├── .claude/
│   ├── AGENTS.md
│   └── skills/
│       └── my-skill.md
└── .cursor/
    └── rules/
        └── rules.md

Build the package

mdpm pack

Package Dependencies

If your package depends on other MDPM packages, declare them in the dependencies field of your manifest:

{
  "id": "my-package",
  "version": "1.0.0",
  "description": "My AI context package",
  "authors": ["Your Name"],
  "license": "MIT",
  "tags": ["skills", "copilot"],
  "dependencies": {
    "base-skills": "^1.0.0",
    "common-prompts": ">=2.0.0"
  }
}

Version ranges follow semver conventions:

  • 1.0.0 - Exact version
  • ^1.0.0 - Compatible with 1.x.x (same major version)
  • ~1.0.0 - Approximately equivalent (same minor version)
  • >=1.0.0 - Greater than or equal to
  • * - Any version

When a package with dependencies is installed, MDPM automatically installs all required dependencies.

Publishing Packages

Get an API key

Sign in with GitHub at mdpm.dev/login and create an API key from your profile.

Configure the CLI

mdpm login
# Enter your API key when prompted

Publish your package

# Pack and publish in one step
mdpm publish

# Or publish an existing .mdpm file
mdpm publish my-package.1.0.0.mdpm

CLI Reference

Package Management

Command Description
mdpm search [query]Search for packages (filter with --tag)
mdpm info <package>Get package details
mdpm install <package>Install a package (--version, --force, --no-deps)
mdpm uninstall <package>Uninstall a package
mdpm update [package]Update packages (--interactive, --dry-run)
mdpm restoreRestore packages from mdpm-packages.json
mdpm listList installed packages

Package Authoring

mdpm initInitialize a new package
mdpm packCreate a .mdpm package
mdpm publish [file]Publish to the registry

Configuration

mdpm loginStore your API key (opens browser)
mdpm logoutRemove stored API key
mdpm config set <key> <value>Set a configuration value
mdpm config get <key>Get a configuration value
mdpm config listList all configuration