Claude Info
AI и агенты

aspm

arkylab/aspm

Менеджер пакетов на основе Git для AI-разработки: управляет скиллами, агентами, командами, хуками и другими AI-ресурсами. Поддерживает транзитивные зависимости, версионирование через Git-теги и установку плагинов Claude Code.

Установка

terminal
bash
git clone https://github.com/arkylab/aspm.git

README

aspm — AI Skill Package Manager

Менеджер пакетов на основе Git для AI-разработки, аналогичный npm, но поддерживающий скиллы, агентов, команды, хуки и любые другие типы AI-ресурсов.

Возможности

  • 📦 Два режима проекта: проект-публикатор (aspub.yaml) и проект-потребитель (aspkg.yaml)
  • 🔗 Распределённое управление зависимостями: ссылки на пакеты напрямую через Git URL, без центрального реестра
  • 🏷️ Гибкое версионирование: поддержка Git-тегов, веток и коммитов
  • 📥 Упрощённые правила версий: автоматический выбор максимальной версии, удовлетворяющей всем зависимостям
  • 🔧 Универсальная архитектура: не ограничивается скиллами, поддерживает любые типы AI-ресурсов
  • 🔌 Поддержка нескольких форматов: установка как aspm-пакетов, так и репозиториев плагинов Claude Code

Установка

Быстрая установка

Linux / macOS:

bash
curl -fsSL https://raw.githubusercontent.com/arkylab/aspm/main/scripts/install.sh | sh

Windows (PowerShell):

powershell
irm https://raw.githubusercontent.com/arkylab/aspm/main/scripts/install.ps1 | iex

Сборка из исходников

bash
git clone https://github.com/arkylab/aspm.git
cd aspm
cargo build --release

Скомпилированный бинарный файл будет находиться по пути target/release/aspm (или aspm.exe на Windows).

Быстрый старт

Создание проекта-потребителя (если вы используете скиллы)

bash
# Инициализация проекта-потребителя
aspm init --consumer

# Создаётся файл aspkg.yaml

Настройка aspkg.yaml

yaml
# Целевая директория для установки
install_to: 
  - .claude    # Установка в директорию плагинов Claude Code

dependencies:
  superpowers:
    git: "https://github.com/obra/superpowers.git"
    branch: "main"

Установка зависимостей

bash
aspm install
# После выполнения `aspm install` все зависимости готовы к использованию. Если вы работаете с Claude Code, перезапустите его для загрузки новых скиллов. Иногда может потребоваться перезапустить дважды.

✅ Это всё, что нужно сделать как потребителю скиллов

Создание проекта-публикатора (если вы предоставляете скиллы)

Проекты-публикаторы позволяют делиться AI-ресурсами с другими разработчиками.

Поддерживаемые форматы репозиториев:

ФорматОписаниеРекомендуется
Формат aspmРепозиторий с aspub.yaml в корне✅ Да
Формат плагина ClaudeРепозиторий с директориями skills/, agents/ и др. в корне⚠️ Нет
Формат одного скиллаРепозиторий только с SKILL.md в корне⚠️ Нет

aspm рекомендует формат aspm, поскольку он обеспечивает:

  • ✅ Явный контроль над публикуемым содержимым
  • ✅ Поддержку транзитивных зависимостей
  • ✅ Автоматическое разрешение зависимостей
bash
# Инициализация проекта-публикатора
aspm init my-skill-pack
# Создаётся файл aspub.yaml (конфигурация публикации).
# aspub.yaml и aspkg.yaml могут сосуществовать в одном проекте — первый для публикации собственных ресурсов, второй для потребления зависимостей.

Настройка aspub.yaml

yaml
name: my-skill-pack
version: 1.0.0
description: "A pack of useful AI resources"
author: "Your Name"
license: MIT

# Целевая директория для зависимостей этого пакета (опционально)
install_to:
  - .claude

# Зависимости (опционально)
dependencies:
  core-utils:
    git: "https://github.com/user/utils.git"
    tag: "v1.0.0"

# Публикуемые ресурсы (пути относительно расположения aspub.yaml)
publish:
  skills:
    - skills/brainstorming/
    - skills/writing-plans.md
  commands:
    - commands/code-review.md

Создание скиллов

Структура директорий полностью настраивается через aspub.yaml:

yaml
# aspub.yaml
name: my-skill-pack
version: 1.0.0

# Публикация конкретных ресурсов с опциональными regex-паттернами
# Пути относительно расположения aspub.yaml
publish:
  skills:
    - skills/brainstorming/      # совпадение с директорией (завершающий /)
    - skills/writing-plans.md      # совпадение с файлом
    - "skills/^test-.*/"         # regex: директории, начинающиеся с test-
  commands:
    - commands/code-review.md       # совпадение с файлом

Соответствующая структура директорий:

my-skill-pack/ ├── aspub.yaml ├── skills/ │ ├── brainstorming/ │ │ └── SKILL.md │ ├── writing-plans.md │ └── test-helpers/ # совпадает с "^skills/test-.*/" └── commands/ └── code-review.md # файл (без завершающего /)

Правила путей публикации:

ПаттернПоведение
skills/brainstormingСовпадение только с файлом skills/brainstorming
skills/brainstorming/Совпадение только с директорией skills/brainstorming/ (завершающий /)
skills/^test-.*/Regex — директории внутри skills/, начинающиеся с test-
commands/^.*\.md$Regex — все файлы .md

Regex определяется автоматически при наличии метасимволов: ^ $ . * + ? [ ] ( ) { } | \

Поддерживаемые форматы репозиториев

aspm поддерживает три формата репозиториев:

1. Формат aspm (рекомендуется)

Репозитории с aspub.yaml в корне. Рекомендуемый формат, поскольку обеспечивает:

  • ✅ Явный контроль над публикуемым содержимым
  • ✅ Поддержку выборочной публикации (только указанные ресурсы)
  • ✅ Поддержку транзитивных зависимостей

2. Формат плагина Claude Code

Репозитории без aspub.yaml, но с директориями ресурсов в корне:

superpowers/ ├── .claude-plugin/ │ └── marketplace.json ├── skills/ │ └── brainstorming/ │ └── SKILL.md ├── agents/ ├── commands/ ├── hooks/ └── rules/

Установка плагинов Claude Code

yaml
# aspkg.yaml
dependencies:
  superpowers:
    git: "https://github.com/obra/superpowers.git"
    branch: "main"

3. Формат одного скилла

Репозитории только с файлом SKILL.md в корне (без стандартных директорий). aspm автоматически оборачивает его в структуру директории skills/ при установке.

Режимы установки

aspm поддерживает два режима установки:

Обычный режим (по умолчанию)

Копирует ресурсы в <target>/<type>/<pkg>/:

.agents/ ├── skills/ │ └── my-pack/ │ └── my-skill/ └── commands/

Примечание: Поддерживаемые директории: skills, agents, commands, hooks, rules

Режим Claude

Копирует весь репозиторий в <target>/-plugins/<pkg>/ — используется для совместимости с форматом плагинов Claude Code.

Похожие скиллы