Konfiguration, Anpassung, Plattform-Einrichtung und API-Referenzen für Pi.

Entwicklung

Weitere Richtlinien finden Sie unter AGENTS.md.

Aufstellen

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

Von der Quelle ausführen:

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

Das Skript kann von jedem Verzeichnis aus ausgeführt werden. Pi behält das aktuelle Arbeitsverzeichnis des Anrufers.

Forking / Rebranding

Konfigurieren über package.json:

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

Ändern Sie die Felder name, configDir und bin für Ihren Fork. Betrifft CLI Banner, Konfigurationspfade und Umgebungsvariablennamen.

Pfadauflösung

Drei Ausführungsmodi: npm Installation, eigenständige Binärdatei, tsx von der Quelle.

Verwenden Sie immer src/config.ts für Paket-Assets:

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

Verwenden Sie __dirname niemals direkt für Paket-Assets.

Debug-Befehl

/debug (versteckt) schreibt an ~/.pi/agent/pi-debug.log:

  • Gerenderte TUI-Zeilen mit ANSI-Codes
  • Letzte an das LLM gesendete Nachrichten

Testen

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

Projektstruktur

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