Разработка
Дополнительные рекомендации см. 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