Настройка, расширение, параметры платформы и справочник API для Pi.

Разработка

Дополнительные рекомендации см. AGENTS.md.

Настройка

git clone https://github.com/earendil-works/pi-mono
cd pi-mono
npm install
npm run build

Запуск из исходного кода:

/path/to/pi-mono/pi-test.sh

Скрипт можно запускать из любого каталога. Pi сохраняет текущий рабочий каталог вызывающего процесса.

Форк / Ребрендинг

Настройте через package.json:

{
  "piConfig": {
    "name": "pi",
    "configDir": ".pi"
  }
}

Измените поля name, configDir и bin для своего форка. Это влияет на баннер CLI, пути конфигурации и имена переменных окружения.

Разрешение пути

Три режима выполнения: установка через npm, автономный бинарный файл и tsx из исходного кода.

Всегда используйте src/config.ts для ресурсов пакета:

import { getPackageDir, getThemeDir } from "./config.js";

Никогда не используйте __dirname непосредственно для ресурсов пакета.

Команда отладки

/debug (скрытый) записывает в ~/.pi/agent/pi-debug.log:

  • Отрисованные строки TUI с кодами ANSI
  • Последние сообщения, отправленные в LLM

Тестирование

./test.sh                         # Run non-LLM tests (no API keys needed)
npm test                          # Run all tests
npm test -- test/specific.test.ts # Run specific test

Структура проекта

packages/
  ai/           # LLM provider abstraction
  agent/        # Agent loop and message types  
  tui/          # Terminal UI components
  coding-agent/ # CLI and interactive mode