mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 10:05:14 +00:00
Composable agent runtime monorepo built on the pi ecosystem
- Add MEMORY.md files for persistent working memory - Global memory: workspace/MEMORY.md (shared across channels) - Channel memory: workspace/<channel>/MEMORY.md (channel-specific) - Automatically loaded into system prompt on each request - Enhance JSONL log format with ISO 8601 dates - Add 'date' field for easy grepping (e.g., grep '"date":"2025-11-26"') - Migrated existing logs to include date field - Improve log query efficiency - Add jq query patterns to prevent context overflow - Emphasize limiting NUMBER of messages (10-50), not truncating text - Show full message text and attachments in queries - Handle null/empty attachments with (.attachments // []) - Optimize system prompt - Add current date/time for date-aware operations - Format recent messages as TSV (43% token savings vs raw JSONL) - Add efficient query examples with both JSON and TSV output - Enhanced security documentation - Add prompt injection risk warnings - Document credential exfiltration scenarios - Provide mitigation strategies |
||
|---|---|---|
| .husky | ||
| packages | ||
| scripts | ||
| .gitignore | ||
| .npmrc | ||
| AGENTS.md | ||
| biome.json | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| pi-mono.code-workspace | ||
| README.md | ||
| tsconfig.base.json | ||
| tsconfig.json | ||
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:
-
Update CHANGELOG.md (if changes affect coding-agent):
# Add your changes to the [Unreleased] section in packages/coding-agent/CHANGELOG.md -
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 -
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 -
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
License
MIT