Skip to main content

Repository Guide

Last Verified: February 2026
The Equa platform is split across several repositories, each handling a distinct concern. This guide explains what each repo does, its tech stack, and how they connect at runtime.

Repository Overview

RepositoryGitHubPurposeStackPackage MgrDev Port
equa-webEQUAStart/equa-webFrontend applicationReact 16, Webpack 4, TypeScript 3.7Yarn8080
equa-serverEQUAStart/equa-serverBackend APIExpress 4.16, TypeORM 0.2.24, PostgreSQLYarn (workspaces)3000
equabotEQUAStart/equabotAI agent gatewayNode.js, TypeScript (ESM), multi-channelpnpm 1018789
equa-patternlib-nextjsEQUAStart/equa-patternlib-nextjsDesign system / component libraryNext.js 14, Storybook 8.4, React 18npm3333 / 6006
command-center-soBalancing-Rock/command-center-soInternal operations dashboardNext.js 16, Tailwind CSS 4, React 19npm3001
equa-desktop-app-mac-iosDesktop and mobile apps (planned)TBDTBD

How Repos Connect at Runtime

Key connections:
  • equa-web proxies all /api/* requests to equa-server via webpack-dev-server (configured in webpack config, default target http://localhost:3000)
  • equa-web imports equa-patternlib as an npm dependency from GitHub: "equa-patternlib": "github:EQUAStart/equa-patternlib-nextjs#master" (Source: equa-web/package.json line 24)
  • equabot-gateway communicates with equa-server and external AI/messaging services via WebSocket and REST
  • Storybook runs independently as a visual component playground

Per-Repository Details

equa-web

Frontend single-page application for the Equa equity management platform.
equa-web/
├── src/
│   ├── modules/          # 24 feature modules
│   ├── shared/           # Shared components, helpers, styles
│   ├── app/              # App-level components and routing
│   ├── logic/            # Business logic and Redux (legacy)
│   ├── service/          # API service layer
│   ├── assets/           # Images, fonts
│   └── styles/           # Global styles and themes
├── lab/                  # Entry points (main-prod.ts)
├── e2e/                  # Playwright E2E tests
├── config/               # Webpack and app configuration
└── tslint.json           # TSLint config (deprecated)
Feature modules (24 under src/modules/): actions, admin, agreements, auth, captable, convertibles, documents, equanaut, esop, google-drive, guest, hh-finance, landing, organization, organization-dashboard, payments, profile, referrals, reports, roles, subscriptions, team-members, user-dashboard, welcome Source: equa-web/src/modules/ directory listing Path aliases (from equa-web/tsconfig.json):
AliasMaps To
@src/*src/*
@modules/*src/modules/*
@shared/*src/shared/*
@components/*src/shared/components/*
@helpers/*src/shared/helpers/*
@styles/*src/shared/styles/*
@image/*src/assets/image/*
@config/*config/*
@logicsrc/logic/

equa-server

Backend API server using a workspace-based modular monolith architecture.
equa-server/
├── modules/              # 20 workspace packages
│   ├── api/              # Main API entry point, endpoints, handlers
│   ├── auth/             # Authentication and authorization
│   ├── persistence/      # Database schema and queries (TypeORM)
│   ├── captable/         # Cap table business logic
│   ├── organizations/    # Organization management
│   ├── billing/          # Chargify integration
│   ├── file-storage/     # S3/GCS file management
│   ├── notifications/    # Email sending (SES, SMTP, Mandrill)
│   ├── agent/            # AI assistant (Equanaut) with Claude
│   ├── doc-gen/          # Document generation
│   ├── data-room/        # Data room functionality
│   ├── google-drive/     # Google Drive integration
│   ├── microsoft/        # Microsoft auth and files
│   ├── activity/         # Activity tracking
│   ├── admin/            # Admin functionality
│   ├── referral/         # Referral system
│   ├── common/           # Shared utilities, logging (Winston)
│   ├── api-helper/       # HTTP handler utilities
│   ├── raven/            # Raven addresses
│   └── wallet/           # Wallet functionality
├── docker-compose.yml    # PostgreSQL container for development
├── Dockerfile            # Production multi-stage build
├── ecosystem.config.js   # PM2 production config
└── cloudbuild.yaml       # Google Cloud Build deployment
Source: equa-server/modules/ directory listing; equa-server/package.json workspaces config

equabot (equabot-gateway)

AI agent infrastructure supporting multi-channel messaging, browser automation, and tool execution.
equabot/
├── src/                  # Core TypeScript source (ESM)
│   ├── agents/           # Agent framework and tools
│   ├── browser/          # Browser automation
│   ├── gateway/          # Gateway server and protocol
│   ├── cli/              # CLI wiring
│   └── commands/         # CLI commands
├── ui/                   # Lit-based web UI components
├── extensions/           # Channel plugins (Google Chat, etc.)
├── skills/               # Agent skill definitions
├── apps/                 # Native applications
│   ├── ios/              # iOS app
│   ├── android/          # Android app
│   └── macos/            # macOS menubar app
├── docs/                 # Documentation (11ty-based)
└── scripts/              # Build and utility scripts
Runtime: Node 22+ required (engines.node: ">=22.12.0" in package.json). Uses pnpm as package manager. Source: equabot-gateway/package.json

equa-patternlib-nextjs

Shared React component library and design system with Storybook for visual documentation.
equa-patternlib-nextjs/
├── src/
│   ├── components/       # React components
│   ├── tokens/           # Design tokens
│   └── index.ts          # Package exports
├── stories/              # Storybook stories
├── .storybook/           # Storybook configuration
└── vitest.config.js      # Test config (jsdom)
Consumed by equa-web as a GitHub dependency. Storybook runs on port 6006, Next.js dev server on port 3333. Source: equa-patternlib-nextjs/package.json

command-center-so

Internal operations dashboard for monitoring and managing the Equa platform and equabot infrastructure.
command-center-so/
├── src/
│   ├── app/              # Next.js App Router pages and API routes
│   ├── components/       # React components
│   └── lib/              # Shared utilities
├── e2e/                  # Playwright tests
├── test/                 # Unit tests
└── .specify/
    ├── specs/            # Feature specs ({id}-{slug}/ per spec)
    ├── templates/        # Artifact templates
    ├── memory/           # Constitution, persistent context
    └── queue/            # Portfolio queue, session briefs
Uses Next.js 16 with App Router, Tailwind CSS 4, and React 19. See Spec-Kit Workflow for full details on the .specify/ directory and pipeline. Source: command-center-so/package.json

equa-desktop-app-mac-ios

Planned repository for native desktop (macOS) and mobile (iOS) apps. Currently empty and not initialized — no source code, no package.json, no project files.

Inter-Repository Dependencies

DependencyFromToMechanism
Component libraryequa-webequa-patternlib-nextjsnpm dependency from GitHub (github:EQUAStart/equa-patternlib-nextjs#master)
API proxyequa-web (dev)equa-serverwebpack-dev-server proxy (/api/* -> localhost:3000)
AI integrationequa-serverequabot-gatewayWebSocket and REST calls
Databaseequa-serverPostgreSQLTypeORM connection via docker-compose.yml

Branching Conventions

Branching patterns vary across repositories. There is no single enforced standard.
RepositoryPrimary BranchObserved PatternsProtected Branches
equa-webstagingissue-*, feat/**, developmain, staging
equa-serverstagingstaging, prod-deploymain, staging
equabot-gatewaymainfix/*, feat/*, issue-*main
equa-patternlib-nextjsstagingstagingstaging
command-center-somainissue-*, fix/*main
Source: git status and GitHub Actions workflow trigger configurations across repos See PR and Commit Workflow for more detail on commit conventions and merge strategies.