ReviewOS

stacks/commshq

public
Clone

Push over the same URL. A password will not work: create a token under access tokens and use it in place of one.

Creator-first communications, publishing, automation, and commerce marketing platform built with Stacks.

main
· 8 branches · 159 commits

Mirrored from stacksjs/commshq · synced 25 minutes ago

README.md

CommsHQ

CommsHQ is a creator-first communications, publishing, automation, and commerce marketing platform built with Stacks.

Website | Documentation | Issues

Product areas

  • Consent-aware audiences, segments, custom fields, and imports
  • Email and SMS campaigns with experiments and delivery reporting
  • Versioned automation journeys with retries and approvals
  • Publications, sites, forms, gated resources, podcasts, and feeds
  • Commerce event ingestion, attribution, recovery, and monetization
  • Workspace billing, usage, audit, compliance, and integrations

Development

CommsHQ requires Bun 1.3 or newer and uses only packages owned by the Stacks ecosystem.

bun install
./buddy migrate --auth
./buddy seed
./buddy dev

Set COMMSHQ_OWNER_PASSWORD in your local .env before seeding so the owner account and workspace are created. ./buddy migrate:fresh --seed drops all tables and is only for a disposable development database.

Run the full local quality gate with:

./buddy lint
./buddy typecheck
./buddy test
./buddy generate:openapi

Database migrations are generated from models in app/Models:

./buddy generate:migrations
./buddy migrate

Never create or edit migrations by hand.

Production

Production is attached to the shared stacks host and deployed through Buddy. Environment values must be encrypted before they are committed.

./buddy env:check --file .env.production --strict
./buddy deploy --dry-run --env production
./buddy cloud --diff
./buddy deploy --env production

License

MIT