Composable agent runtime monorepo built on the pi ecosystem
Find a file
Mario Zechner 75bb14cc4d fix(mom): include triggering message in context
Fix race condition where app_mention event fires before message event
logs to log.jsonl, causing the user's triggering message to be missing
from the agent's context. Now append the current message directly from
ctx.message to recentMessages.
2025-12-01 11:56:40 +01:00
.husky Add husky pre-commit hook for formatting and type checking 2025-08-11 21:15:37 +02:00
packages fix(mom): include triggering message in context 2025-12-01 11:56:40 +01:00
scripts Fix lockstep versioning and improve documentation 2025-11-13 23:37:43 +01:00
.gitignore fix: file @ autocomplete performance using fd 2025-11-28 23:38:44 +01:00
.npmrc Initial monorepo setup with npm workspaces and dual TypeScript configuration 2025-08-09 17:18:38 +02:00
AGENTS.md fix: RPC mode session management not saving sessions 2025-12-01 01:19:17 +01:00
biome.json mom: Single accumulated message per run, exclude data dir from biome 2025-11-26 01:21:45 +01:00
LICENSE Initial monorepo setup with npm workspaces and dual TypeScript configuration 2025-08-09 17:18:38 +02:00
out.html Improved HTML export with timestamps, better styling, and comprehensive stats 2025-11-27 12:32:45 +01:00
package-lock.json fix: RPC mode session management not saving sessions 2025-12-01 01:19:17 +01:00
package.json mom: Slack bot with abort support, streaming console output, removed sandbox 2025-11-26 00:27:21 +01:00
pi-mono.code-workspace docs(coding-agent): add changelog entry for git branch watcher (#79) 2025-11-29 21:54:02 +01:00
README.md mom: Slack bot with abort support, streaming console output, removed sandbox 2025-11-26 00:27:21 +01:00
tsconfig.base.json feat: add cross-browser extension with AI reading assistant 2025-10-01 04:33:56 +02:00
tsconfig.json mom: Slack bot with abort support, streaming console output, removed sandbox 2025-11-26 00:27:21 +01:00

Pi Monorepo

Tools for building AI agents and managing LLM deployments.

Packages

Package Description
@mariozechner/pi-ai Unified multi-provider LLM API (OpenAI, Anthropic, Google, etc.)
@mariozechner/pi-agent Agent runtime with tool calling and state management
@mariozechner/pi-coding-agent Interactive coding agent CLI
@mariozechner/pi-mom Slack bot that delegates messages to the pi coding agent
@mariozechner/pi-tui Terminal UI library with differential rendering
@mariozechner/pi-web-ui Web components for AI chat interfaces
@mariozechner/pi-proxy CORS proxy for browser-based LLM API calls
@mariozechner/pi CLI for managing vLLM deployments on GPU pods

Development

Setup

npm install          # Install all dependencies
npm run build        # Build all packages
npm run check        # Lint, format, and type check

Development

Start watch builds for all packages:

npm run dev

Then run with tsx:

cd packages/coding-agent && npx tsx src/cli.ts
cd packages/pods && npx tsx src/cli.ts

Versioning (Lockstep)

All packages MUST always have the same version number. Use these commands to bump versions:

npm run version:patch    # 0.7.5 -> 0.7.6
npm run version:minor    # 0.7.5 -> 0.8.0
npm run version:major    # 0.7.5 -> 1.0.0

These commands:

  1. Update all package versions to the same number
  2. Update inter-package dependency versions (e.g., pi-agent depends on pi-ai@^0.7.7)
  3. Update package-lock.json

Never manually edit version numbers. The lockstep system ensures consistency across the monorepo.

Publishing

Complete release process:

  1. Update CHANGELOG.md (if changes affect coding-agent):

    # Add your changes to the [Unreleased] section in packages/coding-agent/CHANGELOG.md
    
  2. Bump version (all packages):

    npm run version:patch    # For bug fixes
    npm run version:minor    # For new features
    npm run version:major    # For breaking changes
    
  3. Update CHANGELOG.md version (if changes affect coding-agent):

    # Move the [Unreleased] section to the new version number with today's date
    # e.g., ## [0.7.16] - 2025-11-17
    
  4. Commit and tag:

    git add .
    git commit -m "Release v0.7.16"
    git tag v0.7.16
    git push origin main
    git push origin v0.7.16
    
  5. Publish to npm:

    npm run publish        # Publish all packages to npm
    

License

MIT