Composable agent runtime monorepo built on the pi ecosystem
Find a file
Mario Zechner e6b47799a4 Add abort signal handling to read, write, and edit tools
All tools now check the abort signal before executing and throw
"Operation aborted" error if the signal is already aborted.
This ensures consistent abort behavior across all tools.
2025-11-11 23:28:39 +01:00
.husky Add husky pre-commit hook for formatting and type checking 2025-08-11 21:15:37 +02:00
docs Agent package + coding agent WIP, refactored web-ui prompts 2025-10-17 11:47:01 +02:00
packages Add abort signal handling to read, write, and edit tools 2025-11-11 23:28:39 +01:00
scripts Updates to prompts 2025-10-17 22:44:03 +02:00
.gitignore feat: add cross-browser extension with AI reading assistant 2025-10-01 04:33:56 +02:00
.npmrc Initial monorepo setup with npm workspaces and dual TypeScript configuration 2025-08-09 17:18:38 +02:00
biome.json Fix lints. 2025-10-03 23:21:59 +02:00
CLAUDE.md Clean up browser-extension references from monorepo 2025-10-06 18:40:04 +02:00
LICENSE Initial monorepo setup with npm workspaces and dual TypeScript configuration 2025-08-09 17:18:38 +02:00
package-lock.json Fix markdown streaming duplication by splitting newlines first 2025-11-11 19:27:58 +01:00
package.json Clean up TUI package and refactor component structure 2025-11-11 10:32:18 +01:00
pi-mono.code-workspace Rename ChromeStorageBackend to WebExtensionStorageBackend for cross-browser support 2025-10-06 23:48:43 +02:00
README.md Clean up browser-extension references from monorepo 2025-10-06 18:40:04 +02:00
tsconfig.base.json feat: add cross-browser extension with AI reading assistant 2025-10-01 04:33:56 +02:00
tsconfig.json Agent package + coding agent WIP, refactored web-ui prompts 2025-10-17 11:47:01 +02:00

Pi Monorepo

A collection of tools for managing LLM deployments and building AI agents.

Packages

Related:

  • sitegeist - Browser extension for AI-powered web navigation (uses pi-ai and pi-web-ui)

Development

This is a monorepo using npm workspaces for package management and a dual TypeScript configuration for development and building.

Common Commands

# Install all dependencies
npm install

# Build all packages (required for publishing to NPM)
npm run build

# Clean out dist/ folders in all packages
npm run clean

# Run linting, formatting, and tsc typechecking (no build needed)
npm run check

# Run directly with tsx during development (no build needed)
cd packages/pods && npx tsx src/cli.ts
cd packages/agent && npx tsx src/cli.ts

Package Dependencies

The packages have the following dependency structure:

pi-tui -> pi-agent -> pi

When new packages are added, the must be inserted in the correct order in the build script in package.json.

TypeScript Configuration

The monorepo uses a dual TypeScript configuration approach:

  • Root tsconfig.json: Contains path mappings for all packages, used for type checking and development with tsx
  • Package tsconfig.build.json: Clean build configuration with rootDir and outDir, used for production builds

This setup allows:

  • Type checking without building (npm run check works immediately)
  • Running source files directly with tsx during development
  • Clean, organized build outputs for publishing

Versioning

All packages use lockstep versioning - they share the same version number:

# Bump patch version (0.5.0 -> 0.5.1)
npm run version:patch

# Bump minor version (0.5.0 -> 0.6.0)
npm run version:minor

# Bump major version (0.5.0 -> 1.0.0)
npm run version:major

These commands automatically:

  1. Update all package versions
  2. Sync inter-package dependency versions
  3. Update package-lock.json

Publishing

# Dry run to see what would be published
npm run publish:dry

# Publish all packages to npm
npm run publish

License

MIT