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 buildVon der Quelle ausführen:
/path/to/pi-mono/pi-test.shDas 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 testProjektstruktur
packages/
ai/ # LLM provider abstraction
agent/ # Agent loop and message types
tui/ # Terminal UI components
coding-agent/ # CLI and interactive mode