productgalaxy
engineering-readme · in engineering · org-wide · updated 2026-06-01 10:19
Frontmatter
- lang
- en
- imported_at
- 2026-06-01T10:19:44.976Z
- source_path
- productgalaxy/README.md
- source_repo
- productgalaxy
productgalaxy
Shared backend (Postgres + REST API + MCP) behind 4 existing SabaIdea apps + 1 new docs product.
- ABtest-dashboard — A/B test management
- Product-Audits — UX + health audits, walkthroughs, AI insights
- product-decisions — PM work items + pipeline
- Televika Foreign Comment Analysis — competitor app-store review analytics
- galaxy-docs — Obsidian-compatible docs (admin editor in this repo + Astro Starlight reading site at
apps/docs/)
Source of truth: this repo owns the database. The 4 legacy apps' UIs stay as-is; only their data layer is swapped to call our
/api/v1/...endpoints.
Critical rules: see CLAUDE.md for the development guardrails. Loaded automatically by Claude Code at session start.
Full plan:
/Users/parhumm/.claude/plans/now-plan-to-new-spicy-dragonfly.md
Status
🚧 Phase 0 — Foundation + research + docs cache. Not yet runnable.
Quick start (once Phase 0 is done)
cp .env.example .env # fill in local values
docker compose up -d
pnpm install
pnpm db:migrate
pnpm db:seed
pnpm dev
Architecture
See docs/architecture/ for diagrams and ADRs.
Layout
apps/
app/ Next.js 15 — admin UI + /api/v1 routes (Hono)
mcp/ Node MCP server (Streamable HTTP transport)
docs/ Astro 6 + Starlight reading site (live content collections from /api/v1/notes)
packages/
db/ Drizzle schemas + migrations + seed
auth/ Better Auth config + Drizzle adapter
shared/ Zod schemas (single source of truth for OpenAPI)
clients-ts/ generated TypeScript clients per domain
clients-py/ generated Python client per domain
importers/ one-off importers from each legacy data source
tests/
integration/ API + SQL contract tests
e2e/ Playwright per-product flows
jaan-to/
outputs/
pm-research/ /jaan-to:pm-research-about outputs (Phase 0)
docs-cache/ /jaan-to:dev-docs-fetch outputs (Phase 0)
data-mapping/ per-product field-by-field mapping specs (Phase 0.5)
.claude/
settings.json permissions + hooks (auto-plan-mode, auto-backup, etc.)
hooks/ shell scripts the hooks invoke
commands/ slash commands for the non-tech operator (/galaxy:status, etc.)
License
PROPRIETARY — internal SabaIdea project. Do not redistribute.