Skip to content

Redth/mdpm

Repository files navigation

MDPM - Markdown Package Manager

A package manager for AI context files (SKILL.md, AGENTS.md, copilot-instructions.md, etc.).

Overview

MDPM provides a centralized ecosystem for sharing and distributing AI-related context files across projects and teams. Think of it as npm/NuGet for AI prompts, skills, and agent configurations.

Features

  • Package Registry - Centralized repository for AI context packages
  • CLI Tool - Install, search, and publish packages from the command line
  • Web Interface - Browse and discover packages at mdpm.dev
  • Simple Package Format - Packages are just zip files with a manifest

Installation

CLI Tool

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

# Or download from releases (no .NET required)

Quick Start

Installing Packages

# Search for packages
mdpm search copilot

# Install a package
mdpm install awesome-skills

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

# List installed packages
mdpm list

# Update all packages
mdpm update

# Update with confirmation prompts
mdpm update --interactive

# Restore packages (after cloning a project)
mdpm restore

Creating Packages

# Initialize a new package
mdpm init

# Create your content files
mkdir -p .github
echo "# My Copilot Instructions" > .github/copilot-instructions.md

# Build the package
mdpm pack

# Login (opens browser to create API key)
mdpm login

# Publish
mdpm publish

Package Structure

my-package.1.0.0.mdpm (zip file)
├── package.mdpm.json          # Required: manifest
├── README.md                  # Optional: displayed on web
└── [content files]            # Extracted to install dir
    ├── .github/
    │   └── copilot-instructions.md
    ├── .claude/
    │   ├── AGENTS.md
    │   └── skills/
    │       └── SKILL.md
    └── .cursor/
        └── rules/
            └── my-rules.md

package.mdpm.json

{
  "$schema": "https://mdpm.dev/schemas/package.mdpm.json",
  "id": "my-awesome-skills",
  "version": "1.0.0",
  "description": "A collection of awesome AI skills",
  "authors": ["Your Name <you@example.com>"],
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/user/repo"
  },
  "tags": ["skills", "agents", "copilot"]
}

CLI Commands

Package Management

Command Description
mdpm search [query] Search for packages (optional query, filter with --tag)
mdpm info <package> Get detailed information about a package
mdpm install <package> Install a package (--version, --force, --no-deps)
mdpm uninstall <package> Uninstall a package and its files
mdpm update [package] Update all or specific packages (--interactive, --dry-run)
mdpm restore Restore packages from mdpm-packages.json
mdpm list List installed packages

Package Authoring

Command Description
mdpm init Initialize a new package (creates package.mdpm.json)
mdpm pack Create a .mdpm package from the current directory
mdpm publish [file] Publish a package to the registry

Configuration

Command Description
mdpm login Store your API key (opens browser to create key)
mdpm logout Remove stored API key
mdpm config set <key> <value> Set a configuration value
mdpm config get <key> Get a configuration value
mdpm config list List all configuration values

Command Options

# Install with specific version
mdpm install awesome-skills --version 1.2.0

# Force reinstall
mdpm install awesome-skills --force

# Install without dependencies
mdpm install awesome-skills --no-deps

# Update with interactive prompts
mdpm update --interactive

# Preview updates without applying
mdpm update --dry-run

# Update specific package to specific version
mdpm update awesome-skills --version 2.0.0

# Search by tag
mdpm search --tag copilot

# Set custom source URL
mdpm config set source https://mdpm.dev/api/v1

API

The MDPM API follows REST conventions and can be consumed by any HTTP client.

Endpoints

Method Endpoint Description
GET /api/v1/packages Search packages
GET /api/v1/packages/{id} Get package details
GET /api/v1/packages/{id}/versions/{version}/download Download package
PUT /api/v1/packages Publish package (requires auth)

Service Index

GET /api/v1/index.json

Returns API discovery information.

Development

Prerequisites

  • .NET 10 SDK or later

Building

# Clone the repository
git clone https://github.com/redth/mdpm.git
cd mdpm

# Build all projects
dotnet build

# Run tests
dotnet test

# Run full stack with .NET Aspire (recommended)
cd mdpm.AppHost
dotnet run
# Dashboard available at https://localhost:17214

# Run the CLI (from source)
dotnet run --project src/Mdpm.Cli -- search copilot

Project Structure

mdpm/
├── mdpm.AppHost/          # .NET Aspire orchestrator
├── mdpm.ServiceDefaults/  # Shared service configurations
├── src/
│   ├── Mdpm.Core/         # Shared library (models, utilities)
│   ├── Mdpm.Api/          # Web API
│   ├── Mdpm.Web/          # Blazor frontend
│   └── Mdpm.Cli/          # CLI tool
├── tests/
│   ├── Mdpm.Core.Tests/
│   ├── Mdpm.Api.Tests/
│   └── Mdpm.Cli.Tests/
└── samples/
    └── example-package/

License

MIT License - see LICENSE for details.

About

Markdown Package Manager for AI related text file publishing, searching, distribution

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors