- TypeScript 95.7%
- JavaScript 2.7%
- Nix 1.1%
- CSS 0.3%
- C 0.1%
| nix | ||
| packages | ||
| scripts | ||
| .gitattributes | ||
| .gitignore | ||
| AGENTS.md | ||
| biome.json | ||
| bun.lock | ||
| flake.lock | ||
| flake.nix | ||
| FORK.md | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.base.json | ||
| tsconfig.json | ||
| vitest.base.ts | ||
Caution
Deprecated
This fork is no longer maintained. Development moved to Oh My Pi, a Bun-native successor to Pi.
The code stays here for reference and receives no further updates.
Toph's Pi
Personal, Bun-native soft fork of Pi. Built and installed through Nix; no public distribution, contribution, or compatibility promise.
Repository scope
packages/: upstream-shaped packages plus isolated fork changesscripts/: fork-owned build and test entry pointsnix/,flake.nix,flake.lock: reproduciblex86_64-linuxpackageFORK.md: upstream base and divergence ledger
Upstream package names and structure stay recognizable so regular merges remain practical. Public CI, npm release machinery, contribution workflows, and cross-platform launch wrappers are intentionally omitted.
Build
nix build
./result/bin/pi --version
pi.nix pins a tested source commit from this repository. Updating that pin is the release mechanism.
Development
bun install --frozen-lockfile --ignore-scripts --linker=hoisted
bun run check
bun run test
bun run build
bun run test clears inherited credentials and runs the fork's focused regression tests in an isolated home. All upstream tests remain under packages/ for targeted sync work. bun run build writes the standalone package to the system temporary directory and prints its path.
For an upstream sync: merge upstream/main on a temporary branch, refresh Bun/Nix dependency data when inputs change, run bun run check, bun run test, and nix flake check, then update the pi.nix source pin.
License
MIT. See LICENSE.