Pengembangan
Lihat AGENTS.md untuk pedoman tambahan.
Penyiapan
git clone https://github.com/earendil-works/pi-mono
cd pi-mono
npm install
npm run buildJalankan dari kode sumber:
/path/to/pi-mono/pi-test.shSkrip dapat dijalankan dari direktori mana pun. Pi mempertahankan direktori kerja saat ini milik proses pemanggil.
Fork / Rebranding
Konfigurasikan melalui package.json:
{
"piConfig": {
"name": "pi",
"configDir": ".pi"
}
}Ubah kolom name, configDir, dan bin untuk fork Anda. Perubahan ini memengaruhi banner CLI, path konfigurasi, dan nama variabel lingkungan.
Resolusi Path
Tiga mode eksekusi: instalasi npm, biner mandiri, dan tsx dari kode sumber.
Selalu gunakan src/config.ts untuk aset paket:
import { getPackageDir, getThemeDir } from "./config.js";Jangan pernah menggunakan __dirname secara langsung untuk aset paket.
Perintah Debug
/debug (tersembunyi) menulis ke ~/.pi/agent/pi-debug.log:
- Baris TUI yang dirender dengan kode ANSI
- Pesan terakhir yang dikirim ke LLM
Pengujian
./test.sh # Run non-LLM tests (no API keys needed)
npm test # Run all tests
npm test -- test/specific.test.ts # Run specific testStruktur Proyek
packages/
ai/ # LLM provider abstraction
agent/ # Agent loop and message types
tui/ # Terminal UI components
coding-agent/ # CLI and interactive mode