Entwicklung
Weitere Richtlinien finden Sie unter AGENTS.md.
Einrichtung
git clone https://github.com/earendil-works/pi-mono
cd pi-mono
npm install
npm run buildVon der Quelle ausführen:
/path/to/pi-mono/pi-test.shDas Skript kann aus jedem Verzeichnis ausgeführt werden. Pi behält dabei das aktuelle Arbeitsverzeichnis des aufrufenden Prozesses bei.
Forking / Rebranding
Konfigurieren über package.json:
{
"piConfig": {
"name": "pi",
"configDir": ".pi"
}
}Ändern Sie für Ihren Fork die Felder name, configDir und bin. Das betrifft das CLI-Banner, Konfigurationspfade und Namen von Umgebungsvariablen.
Pfadauflösung
Drei Ausführungsmodi: npm-Installation, eigenständige Binärdatei und tsx aus dem Quellcode.
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 testProjektstruktur
packages/
ai/ # LLM provider abstraction
agent/ # Agent loop and message types
tui/ # Terminal UI components
coding-agent/ # CLI and interactive mode