Skip to content

AI-powered TUI for PKGBUILD generation and AUR management

Notifications You must be signed in to change notification settings

Scqxd/archforge

Repository files navigation

ArchForge

AI-powered TUI for PKGBUILD generation and AUR management.

Описание

ArchForge — это инструмент командной строки и TUI для генерации PKGBUILD файлов из описания на естественном языке и управления пакетами AUR.

Установка

Из AUR (рекомендуется)

# Using yay
yay -S archforge-git

# Using paru
paru -S archforge-git

Из исходников

git clone https://github.com/Scqxd/archforge.git
cd archforge
cargo build --release
./target/release/archforge --version

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

Генерация PKGBUILD

# Описание пакета -> готовый PKGBUILD
archforge generate "Консольный hello world на C"
archforge generate "Neovim с поддержкой Python и Lua"
archforge generate "Firefox с VAAPI"

Интерактивный режим

archforge interactive
# или просто
archforge

AI Генерация PKGBUILD

ArchForge использует Chutes API (MiniMaxAI) для интеллектуальной генерации PKGBUILD.

Настройка API ключа

Вариант 1: Переменная окружения

export CHUTES_API_KEY="твой_ключ"
archforge generate "пакет"

Вариант 2: Флаг --api-key

archforge generate "пакет" --api-key "твой_ключ"

Выбор AI провайдера

# Chutes API (MiniMaxAI/MiniMax-M2.1-TEE) - по умолчанию
archforge generate "пакет" --ai-provider chutes

# Локальная модель (в разработке)
archforge generate "пакет" --ai-provider local

# OpenAI (в разработке)
archforge generate "пакет" --ai-provider openai

Примеры

# Простой C/C++ проект
archforge generate "Hello world на C"

# Go приложение
archforge generate "HTTP сервер на Go"

# Python утилита
archforge generate "Парсер JSON на Python"

# Сложный пакет
archforge generate "Neovim с LSP для Rust и autocomplete"

Команды

generate — Генерация PKGBUILD

archforge generate "описание" [опции]

Опции:
  -o, --output FILE     Сохранить в файл
  -q, --quiet           Только вывод PKGBUILD
  -a, --ai-provider     Выбор AI провайдера (chutes/local/openai)
      --api-key         API ключ

Примеры:
  archforge generate "firefox" -o PKGBUILD
  archforge generate "hello" --api-key "ключ"

search — Поиск в AUR

archforge search "запрос" [опции]

Опции:
  -j, --json    JSON вывод
  -l, --limit   Лимит результатов (по умолчанию 20)

Примеры:
  archforge search neovim
  archforge search firefox -j

info — Информация о пакете

archforge info <имя_пакета>

build — Сборка пакета

archforge build <PKGBUILD/директория> [опции]

Опции:
  -i, --install    Установить после сборки
      --nodeps     Пропустить проверку зависимостей

init — Создание проекта

archforge init <имя> [опции]

Опции:
  -t, --template   Шаблон (basic)
  -d, --directory  Директория

interactive — Интерактивный TUI

archforge interactive

status — Статус системы

archforge status

cache — Управление кэшем

archforge cache stats     # Статистика кэша
archforge cache models    # Очистить кэш моделей
archforge cache builds    # Очистить кэш сборок
archforge cache all       # Очистить всё

Fallback шаблоны

Если AI недоступен, ArchForge автоматически использует шаблоны с автоопределением языка:

Ключевые слова makedepends Особенности
C, C++ gcc, make make сборка
Go, golang go go build
Python python, pip setup.py
(по умолчанию) gcc, make Простой C шаблон

Конфигурация

Файл: ~/.config/archforge/config.toml

[general]
verbose = false
cache_dir = "~/.cache/archforge"

[ai]
# Chutes API ключ (или используй CHUTES_API_KEY env)
provider = "chutes"

[build]
makepkg_flags = ["--noconfirm", "--needed"]
parallel_jobs = 4

[aur]
rpc_url = "https://aur.archlinux.org/rpc"

Требования

  • Rust 1.75+
  • cargo
  • makepkg (base-devel)
  • git

Лицензия

MIT License

Ссылки

About

AI-powered TUI for PKGBUILD generation and AUR management

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •