# ADR 10: Monorepo with Deploy Script **Date**: 2026-04-28 ### Decision All three platform plugins live in a single Git monorepo (`zulip-platform-plugins`). Updates are deployed via a `deploy.sh` script that SSHes into each CT, pulls the latest code, and restarts the plugin service. ### Context A monorepo keeps all 3 plugins in one version-controlled place, making it easy to manage, document, and tag releases together. Separate repos would require managing 3 independent version histories. The `deploy.sh` script is a lightweight deployment pipeline that works today without CI/CD infrastructure. ### Consequences - Single `git push` updates all 3 plugins - Version tags apply to all plugins simultaneously - deploy.sh must know SSH credentials and paths for all 6 CTs - Each CT runs `git pull` (no build artifacts) - Future: can add Gitea Actions webhook for auto-deploy