Files
zulip-platform-plugins/docs/adr/ADR-010-monorepo-structure.md

879 B

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