Библиотека ядра менеджера пакетов скиллов для org getskillpack: клиент реестра, skills.lock, поиск и загрузка архивов. Реализация на Go 1.22+ (модуль github.com/getskillpack/skillget-manager).
CLI (cli) остаётся тонкой оболочкой (skillget). Вся логика установки и контракт с реестром живёт здесь, чтобы board и интеграции смотрели на менеджер и registry, а не только на CLI.
Короткие указатели для сопровождения экосистемы (детали только в целевых документах):
- Матрица совместимости (CLI / skillget-manager / registry): COMPATIBILITY_MATRIX_RU.md
- Ops / runbook публичного registry (
getskillpack/registry): PUBLIC_REGISTRY_RUNBOOK.md - CLI (
getskillpack/cli) — установка и команды: README, Quick start - Traceability (ENGINEERING_REQUIREMENTS ↔ тикеты ↔ репозитории): ENGINEERING_REQUIREMENTS_TRACEABILITY_RU.md
RegistryBaseURL/RegistryConfigSource— выбор базы API из env (SKILLGET_REGISTRY_URL, legacySKPKG_REGISTRY_URL).RegistryToken— bearer для записи в реестр изSKILLGET_REGISTRY_TOKENилиSKILLGET_TOKEN.RegistryReadBearer— bearer для чтения (SKILLGET_REGISTRY_READ_TOKENили, если пусто, тот же токен, что и для записи): добавляется кGETAPI и к загрузкеarchive_url, когда токен задан.FetchJSON— JSON GET к реестру (черезcontext.Context); типичные ответы реестра сопровождаются короткими подсказками (сеть, токен, 404, 409, 429 и др.).ReadSkillsLock/WriteSkillsLock— файлskills.lock.SearchSkills— список/поиск скиллов (опцииQuery,Author,Limit,Offset).ParseNameVersion/ResolveInstallTarget— разрешение версии и метаданные архива; для «latest» без pin — наибольшая semver среди записейversionsв ответеGET /skills/{name}, исключаяyanked: true(как в reference registry).DownloadSkillArchive— скачивание tarball, проверкаchecksumвидаsha256:<hex>при наличии, обновление lockfile; при сбоях HTTP к archive URL (часто отдельно от базы реестра) — свои подсказки (401–429, 503, сеть).PublishSkill— multipart POST/skills(manifest + archive), как у TS-клиента вskpkg-cli.
Контракт HTTP API реестра: registry/API.md. Поведение этой библиотеки как клиента: docs/REGISTRY_CLIENT_CONTRACT.md.
go test ./...Подробнее: CONTRIBUTING.md (интеграционные тесты, связка с CLI, релизы).
MIT — см. LICENSE.
Сообщения об уязвимостях: SECURITY.md.