---
name: project_versionable_products
description: Only GuruRMM and GuruConnect are versionable products (own repos/submodules); everything else stays in the claudetools monorepo
metadata:
  type: project
---

GuruRMM (`azcomputerguru/gururmm`) and GuruConnect (`azcomputerguru/guru-connect`) are the
**only** versionable products. Each has its own Gitea repo + CI/CD + release cadence and is tracked
as a git **submodule** under `projects/msp-tools/` (guru-rmm, guru-connect). Confirmed by Mike 2026-05-29.

Everything else — the ClaudeTools API itself, quote-wizard, dataforth-dos, radio-show, msp-tools
scripts, `.claude/`, `wiki/`, `session-logs/` — stays **in the claudetools monorepo**. Do not split
them into their own repos.

**Why:** Separate repos are only justified by an independent release/deploy pipeline OR an external
consumer that integrates via a versioned contract (see RMM↔GC boundary, ADR-008). Every extra repo
multiplies submodule-sync burden — and an un-pushed vendored copy drifts (GC's repo was 4 months
stale until 2026-05-29 because edits stayed in the monorepo and were never pushed).

**How to apply:** When asked "should X be its own repo?", default to NO unless X ships/deploys on its
own pipeline or is consumed elsewhere through a versioned interface. For the two products, never edit
the submodule's files without committing + pushing inside the submodule. Relates to [[feedback_gururmm]] (Gitea-webhook-only build rule).
