Konfigurasi, kustomisasi, pengaturan platform, dan referensi API untuk Pi.

Pengembangan

Lihat AGENTS.md untuk pedoman tambahan.

Penyiapan

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

Jalankan dari kode sumber:

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

Skrip 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 test

Struktur Proyek

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