Настройка, расширение, параметры платформы и справочник 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