Документация Criage
Добро пожаловать в документацию Criage - высокопроизводительного пакетного менеджера, написанного на Go!
Установка
Из исходного кода
Самый простой способ установить Criage - собрать из исходного кода:
git clone https://github.com/Zu-Krein/criage.git cd criage go build -o criage sudo mv criage /usr/local/bin/
Требования
- Go 1.21 или выше
- Git для клонирования репозитория
- Права администратора для установки в системные пути
Проверка установки
criage --version
Основы использования
Первые шаги
После установки Criage готов к использованию. Основные команды:
# Показать справку criage --help # Показать версию criage --version # Показать список установленных пакетов criage list
Структура команд
Criage использует структуру команд вида: criage [команда] [параметры] [флаги]
criage install my-package --version 1.2.3 --global
Управление пакетами
Установка пакетов
# Установить пакет criage install package-name # Установить конкретную версию criage install package-name --version 1.2.3 # Глобальная установка criage install package-name --global # Установить с dev зависимостями criage install package-name --dev # Установить локальный файл .criage criage install ./my-package-1.0.0.criage
Удаление пакетов
# Удалить пакет criage uninstall package-name # Полное удаление с конфигурацией criage uninstall package-name --purge # Удалить глобальный пакет criage uninstall package-name --global
Обновление пакетов
# Обновить пакет criage update package-name # Обновить все пакеты criage update --all # Обновить глобальные пакеты criage update --global
Поиск и информация
# Поиск пакетов criage search keyword # Показать информацию о пакете criage info package-name # Показать установленные пакеты criage list # Показать устаревшие пакеты criage list --outdated
Разработка пакетов
Создание нового пакета
# Создать пакет с базовыми настройками criage create my-package # Создать с дополнительными параметрами criage create my-package --author "Your Name" --description "Package description"
Структура пакета
Созданный пакет имеет следующую структуру:
my-package/ ├── criage.yaml # Манифест пакета ├── src/ # Исходные файлы ├── build.json # Конфигурация сборки └── README.md # Документация
Сборка пакета
# Сборка с настройками по умолчанию criage build # Указать формат и уровень сжатия criage build --format tar.zst --compression 6 # Указать выходной файл criage build --output my-package-1.0.0.criage
Публикация пакета
# Опубликовать в репозитории criage publish --registry https://packages.example.com --token YOUR_TOKEN
Управление репозиториями
Добавление репозиториев
# Добавить репозиторий criage repo add myrepo https://packages.example.com # Добавить с токеном авторизации criage repo add private-repo https://private.example.com --token YOUR_TOKEN # Добавить с приоритетом criage repo add priority-repo https://priority.example.com --priority 10
Управление репозиториями
# Показать список репозиториев criage repo list # Показать информацию о репозитории criage repo info myrepo # Удалить репозиторий criage repo remove myrepo # Обновить индексы всех репозиториев criage repo update
🤖 MCP Server
Criage MCP Server предоставляет полный функционал пакетного менеджера через протокол MCP (Model Context Protocol) для интеграции с AI инструментами.
Что такое MCP Server?
MCP Server позволяет AI ассистентам напрямую взаимодействовать с Criage для:
- 🔍 Поиска и установки пакетов
- 📦 Управления зависимостями
- 🆕 Создания новых пакетов
- 🔨 Сборки и публикации пакетов
- 📊 Получения информации о пакетах и репозиториях
Установка MCP Server
# Перейти в директорию mcp-server cd mcp-server # Установить зависимости go mod tidy # Собрать сервер go build -o criage-mcp-server .
Интеграция с Claude Desktop
Добавьте MCP Server в конфигурацию Claude Desktop (%APPDATA%\Claude\config.json
на Windows):
{ "mcpServers": { "criage": { "command": "C:\\путь\\к\\criage-mcp-server.exe", "args": [], "env": {} } } }
Доступные инструменты MCP
📦 Управление пакетами
install_package
- Установка пакетаuninstall_package
- Удаление пакетаupdate_package
- Обновление пакетаlist_packages
- Список пакетов
🔍 Поиск и исследование
search_packages
- Поиск пакетовpackage_info
- Информация о пакетеrepository_info
- Информация о репозитории
🛠️ Разработка
create_package
- Создание пакетаbuild_package
- Сборка пакетаpublish_package
- Публикация пакета
Примеры использования через AI
"Найди пакет веб-фреймворка и установи его"
AI автоматически выполнит:
1. Поиск пакетов с ключевым словом "web framework"
2. Предложит подходящие варианты
3. Установит выбранный пакет
"Создай новый пакет для работы с API"
AI выполнит:
1. Создание структуры пакета
2. Настройка манифеста
3. Добавление базовых файлов
Конфигурация сервера
MCP Server использует стандартную конфигурацию Criage из ~/.criage/config.json
. При первом запуске автоматически создается
конфигурация по умолчанию.
Логирование и отладка
# Включить подробное логирование set CRIAGE_DEBUG=1 # Запустить сервер ./criage-mcp-server
Конфигурация
Просмотр настроек
# Показать все настройки criage config list # Показать конкретную настройку criage config get cache.path
Изменение настроек
# Установить значение criage config set cache.path /custom/cache/path # Установить логический параметр criage config set parallel.enabled true
Основные параметры конфигурации
cache.path
- путь к кэшу пакетовparallel.enabled
- включить параллельную обработкуcompression.default
- алгоритм сжатия по умолчаниюrepository.timeout
- таймаут для запросов к репозиториям
Форматы сжатия
Criage поддерживает несколько алгоритмов сжатия для оптимизации размера и скорости:
Доступные форматы
- tar.zst - Zstandard (рекомендуется) - хороший баланс скорости и сжатия
- tar.lz4 - LZ4 - максимальная скорость, среднее сжатие
- tar.xz - XZ/LZMA - максимальное сжатие, низкая скорость
- tar.gz - Gzip - универсальная совместимость
- zip - ZIP - совместимость с Windows
Выбор формата при сборке
# Использовать Zstandard с уровнем сжатия 3 criage build --format tar.zst --compression 3 # Использовать LZ4 для максимальной скорости criage build --format tar.lz4 # Использовать XZ для минимального размера criage build --format tar.xz --compression 9
🌍 Локализация
Criage оснащен динамической системой локализации, которая поддерживает несколько языков без необходимости изменения кода. Система автоматически определяет доступные языки и предоставляет простой способ добавления новых локализаций.
Поддерживаемые языки
- 🇬🇧 Английский (en) - По умолчанию
- 🇷🇺 Русский (ru)
- 🇩🇪 Немецкий (de)
- 🇪🇸 Испанский (es)
Установка языка
Criage автоматически определяет язык вашей системы. Вы также можете установить его вручную с помощью переменных окружения:
# Установить язык для текущей сессии export LANG=de_DE.UTF-8 criage --help # Или использовать переменную LANGUAGE export LANGUAGE=es criage install package-name
Добавление новых языков
Добавление поддержки нового языка простое:
- Создать
locale/translations_fr.json
- Создать
repository/locale/translations_fr.json
- Перезапустить приложение
# Пример файла французских переводов { "app_description": "Gestionnaire de paquets haute performance", "cmd_install": "Installer un paquet", "cmd_search": "Rechercher des paquets", "installing_package": "Installation du paquet %s...", "packages_found": "%d paquets trouvés:" }
Покрытие языков
Язык | Код | Основное приложение | Репозиторий | Статус |
---|---|---|---|---|
Английский |
en
|
✅ | ✅ | Завершено |
Русский |
ru
|
✅ | ✅ | Завершено |
Немецкий |
de
|
✅ | ✅ | Завершено |
Испанский |
es
|
⚠️ | ✅ | Частично |
Решение проблем
Частые проблемы
Ошибка "command not found"
Убедитесь, что Criage установлен в PATH:
# Проверить PATH echo $PATH # Добавить в ~/.bashrc или ~/.zshrc export PATH=$PATH:/usr/local/bin
Проблемы с правами доступа
# Установить права на исполнение chmod +x /usr/local/bin/criage # Или установить в домашнюю директорию mkdir -p ~/bin mv criage ~/bin/ export PATH=$PATH:~/bin
Ошибки сети при работе с репозиториями
# Проверить доступность репозитория criage repo check # Увеличить таймаут criage config set repository.timeout 30
Отладка
Для получения подробной информации используйте флаг verbose:
criage install package-name --verbose
Получение помощи
- Используйте
criage --help
для общей справки - Используйте
criage [command] --help
для справки по конкретной команде - Создайте issue на GitHub