pnpm workspace root for Barazo forum development — shared configuration, tooling, and cross-package dependency management barazo.forum

Project-Wide Standards#

About Barazo#

Open-source forum software built on the AT Protocol. Portable identity, member-owned data, no lock-in.

  • Organization: github.com/singi-labs
  • License: AGPL-3.0 (backend) / MIT (frontend, lexicons, deploy) / CC BY-SA 4.0 + MIT (docs) / Proprietary (website)
  • Contributing: See CONTRIBUTING.md

Coding Standards#

  1. Test-Driven Development -- write tests before implementation (Vitest).
  2. Strict TypeScript -- strict: true, no any, no @ts-ignore.
  3. Conventional commits -- type(scope): description.
  4. CI must pass -- lint, typecheck, tests, security scan on every PR.
  5. Input validation -- Zod schemas on all API inputs and firehose records.
  6. Output sanitization -- DOMPurify on all user-generated content.
  7. No raw SQL -- Drizzle ORM with parameterized queries only.
  8. Structured logging -- Pino logger, never console.log.

Git Workflow#

All changes go through Pull Requests -- never commit directly to main. Branch naming: type/short-description (e.g., feat/add-reactions, fix/xss-sanitization).

AT Protocol Context#

  • Users own their data (stored on their Personal Data Server)
  • The AppView (barazo-api) indexes data from the AT Protocol firehose
  • Lexicons (forum.barazo.*) define the data schema contract
  • Identity is portable via DIDs -- no vendor lock-in
  • All record types are validated against lexicon schemas