mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 15:03:31 +00:00
3 KiB
3 KiB
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:
- Update all package versions to the same number
- Update inter-package dependency versions (e.g.,
pi-agentdepends onpi-ai@^0.7.7) - Update
package-lock.json
Never manually edit version numbers. The lockstep system ensures consistency across the monorepo.
Publishing
Complete release process:
-
Add changes to CHANGELOG.md (if changes affect coding-agent):
# Add your changes to the [Unreleased] section in packages/coding-agent/CHANGELOG.md # Always add new entries under [Unreleased], never under already-released versions -
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 -
Finalize CHANGELOG.md for release (if changes affect coding-agent):
# Change [Unreleased] to the new version number with today's date # e.g., ## [0.7.16] - 2025-11-17 # Then add a new empty [Unreleased] section at the top -
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 -
Publish to npm:
npm run publish # Publish all packages to npm -
Add new [Unreleased] section (for next development cycle):
# Add a new [Unreleased] section at the top of CHANGELOG.md # Commit: git commit -am "Add [Unreleased] section"
License
MIT