···11blank_issues_enabled: true
22contact_links:
33 - name: File issue in barazo-workspace
44- url: https://github.com/barazo-forum/barazo-workspace/issues/new/choose
44+ url: https://github.com/singi-labs/barazo-workspace/issues/new/choose
55 about: We track all issues centrally in barazo-workspace. Please file there for cross-repo features, general feedback, or if unsure where an issue belongs.
···11# Barazo API -- AppView Backend
2233<!-- Auto-generated from barazo-workspace. To propose changes, edit the source:
44- https://github.com/barazo-forum/barazo-workspace/tree/main/agents-md -->
44+ https://github.com/singi-labs/barazo-workspace/tree/main/agents-md -->
5566-AGPL-3.0 | Part of [github.com/barazo-forum](https://github.com/barazo-forum)
66+AGPL-3.0 | Part of [github.com/singi-labs](https://github.com/singi-labs)
7788The AppView backend for Barazo. Subscribes to AT Protocol firehose, indexes `forum.barazo.*` records in PostgreSQL, and exposes a REST API for all forum operations.
99···49495050Open-source forum software built on the [AT Protocol](https://atproto.com/). Portable identity, member-owned data, no lock-in.
51515252-- **Organization:** [github.com/barazo-forum](https://github.com/barazo-forum)
5252+- **Organization:** [github.com/singi-labs](https://github.com/singi-labs)
5353- **License:** AGPL-3.0 (backend) / MIT (frontend, lexicons, deploy) / CC BY-SA 4.0 + MIT (docs) / Proprietary (website)
5454-- **Contributing:** See [CONTRIBUTING.md](https://github.com/barazo-forum/.github/blob/main/CONTRIBUTING.md)
5454+- **Contributing:** See [CONTRIBUTING.md](https://github.com/singi-labs/.github/blob/main/CONTRIBUTING.md)
55555656### Coding Standards
5757
+1-1
Dockerfile
···4040COPY barazo-api/ ./barazo-api/
41414242# Build lexicons first (workspace dependency), then API
4343-RUN pnpm --filter @barazo-forum/lexicons build && \
4343+RUN pnpm --filter @singi-labs/lexicons build && \
4444 pnpm --filter barazo-api build
45454646# Create standalone production deployment with resolved dependencies.
+14-14
README.md
···11<div align="center">
2233<picture>
44- <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/barazo-forum/.github/main/assets/logo-dark.svg">
55- <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/barazo-forum/.github/main/assets/logo-light.svg">
66- <img alt="Barazo Logo" src="https://raw.githubusercontent.com/barazo-forum/.github/main/assets/logo-dark.svg" width="120">
44+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/singi-labs/.github/main/assets/logo-dark.svg">
55+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/singi-labs/.github/main/assets/logo-light.svg">
66+ <img alt="Barazo Logo" src="https://raw.githubusercontent.com/singi-labs/.github/main/assets/logo-dark.svg" width="120">
77</picture>
8899# Barazo API
···12121313[]()
1414[](https://opensource.org/licenses/AGPL-3.0)
1515-[](https://github.com/barazo-forum/barazo-api/actions/workflows/ci.yml)
1515+[](https://github.com/singi-labs/barazo-api/actions/workflows/ci.yml)
1616[](https://nodejs.org/)
1717[](https://www.typescriptlang.org/)
1818···190190**Prerequisites:** Node.js 24 LTS, pnpm, Docker + Docker Compose, AT Protocol PDS access (Bluesky or self-hosted).
191191192192```bash
193193-git clone https://github.com/barazo-forum/barazo-api.git
193193+git clone https://github.com/singi-labs/barazo-api.git
194194cd barazo-api
195195pnpm install
196196···217217pnpm typecheck # TypeScript strict mode check
218218```
219219220220-See [CONTRIBUTING.md](https://github.com/barazo-forum/.github/blob/main/CONTRIBUTING.md) for branching strategy, commit format, and code review process.
220220+See [CONTRIBUTING.md](https://github.com/singi-labs/.github/blob/main/CONTRIBUTING.md) for branching strategy, commit format, and code review process.
221221222222**Key standards:**
223223···232232## Deployment
233233234234```bash
235235-docker pull ghcr.io/barazo-forum/barazo-api:latest
235235+docker pull ghcr.io/singi-labs/barazo-api:latest
236236```
237237238238-See [barazo-deploy](https://github.com/barazo-forum/barazo-deploy) for full deployment templates.
238238+See [barazo-deploy](https://github.com/singi-labs/barazo-deploy) for full deployment templates.
239239240240---
241241···243243244244| Repository | Description | License |
245245| ------------------------------------------------------------------ | --------------------------------------------- | ------- |
246246-| [barazo-web](https://github.com/barazo-forum/barazo-web) | Forum frontend (Next.js, Tailwind) | MIT |
247247-| [barazo-lexicons](https://github.com/barazo-forum/barazo-lexicons) | AT Protocol lexicon schemas + generated types | MIT |
248248-| [barazo-deploy](https://github.com/barazo-forum/barazo-deploy) | Docker Compose deployment templates | MIT |
249249-| [barazo-website](https://github.com/barazo-forum/barazo-website) | Marketing + documentation site | MIT |
246246+| [barazo-web](https://github.com/singi-labs/barazo-web) | Forum frontend (Next.js, Tailwind) | MIT |
247247+| [barazo-lexicons](https://github.com/singi-labs/barazo-lexicons) | AT Protocol lexicon schemas + generated types | MIT |
248248+| [barazo-deploy](https://github.com/singi-labs/barazo-deploy) | Docker Compose deployment templates | MIT |
249249+| [barazo-website](https://github.com/singi-labs/barazo-website) | Marketing + documentation site | MIT |
250250251251---
252252253253## Community
254254255255- **Website:** [barazo.forum](https://barazo.forum)
256256-- **Discussions:** [GitHub Discussions](https://github.com/orgs/barazo-forum/discussions)
257257-- **Issues:** [Report bugs](https://github.com/barazo-forum/barazo-api/issues)
256256+- **Discussions:** [GitHub Discussions](https://github.com/orgs/singi-labs/discussions)
257257+- **Issues:** [Report bugs](https://github.com/singi-labs/barazo-api/issues)
258258259259---
260260
···44 TopicReplyInput,
55 ReactionInput,
66 VoteInput,
77-} from '@barazo-forum/lexicons'
77+} from '@singi-labs/lexicons'
88import { users } from '../../db/schema/users.js'
99import { replies } from '../../db/schema/replies.js'
1010import { reactions } from '../../db/schema/reactions.js'
+1-1
src/firehose/indexers/reaction.ts
···11import { eq, sql } from 'drizzle-orm'
22-import type { ReactionInput } from '@barazo-forum/lexicons'
22+import type { ReactionInput } from '@singi-labs/lexicons'
33import { reactions } from '../../db/schema/reactions.js'
44import { topics } from '../../db/schema/topics.js'
55import { replies } from '../../db/schema/replies.js'
+1-1
src/firehose/indexers/reply.ts
···11import { eq, sql } from 'drizzle-orm'
22-import type { TopicReplyInput } from '@barazo-forum/lexicons'
22+import type { TopicReplyInput } from '@singi-labs/lexicons'
33import { replies } from '../../db/schema/replies.js'
44import { topics } from '../../db/schema/topics.js'
55import type { Database } from '../../db/index.js'
+1-1
src/firehose/indexers/topic.ts
···11import { eq } from 'drizzle-orm'
22-import type { TopicPostInput } from '@barazo-forum/lexicons'
22+import type { TopicPostInput } from '@singi-labs/lexicons'
33import { topics } from '../../db/schema/topics.js'
44import type { Database } from '../../db/index.js'
55import type { Logger } from '../../lib/logger.js'
+1-1
src/firehose/indexers/vote.ts
···11import { eq, sql } from 'drizzle-orm'
22-import type { VoteInput } from '@barazo-forum/lexicons'
22+import type { VoteInput } from '@singi-labs/lexicons'
33import { votes } from '../../db/schema/votes.js'
44import { topics } from '../../db/schema/topics.js'
55import { replies } from '../../db/schema/replies.js'
+1-1
src/firehose/types.ts
···11-import type { LEXICON_IDS } from '@barazo-forum/lexicons'
11+import type { LEXICON_IDS } from '@singi-labs/lexicons'
2233/** Record actions from the firehose. */
44export type RecordAction = 'create' | 'update' | 'delete'
+1-1
src/firehose/validation.ts
···77 type TopicReplyInput,
88 type ReactionInput,
99 type VoteInput,
1010-} from '@barazo-forum/lexicons'
1010+} from '@singi-labs/lexicons'
1111import type { SupportedCollection } from './types.js'
1212import { isSupportedCollection } from './types.js'
1313
+2-2
src/setup/service.ts
···742742- Data portability (built into the AT Protocol).
743743- Lodge a complaint with the Dutch Data Protection Authority (Autoriteit Persoonsgegevens).
744744745745-To exercise these rights, contact us through our [GitHub issue tracker](https://github.com/barazo-forum/barazo-workspace/issues) or via the contact details provided by your community administrator.
745745+To exercise these rights, contact us through our [GitHub issue tracker](https://github.com/singi-labs/barazo-workspace/issues) or via the contact details provided by your community administrator.
746746747747## Data breach notification
748748···915915916916If you encounter accessibility barriers on Barazo, please contact us. We take accessibility feedback seriously and will work to address issues promptly.
917917918918-You can report accessibility issues through our [GitHub issue tracker](https://github.com/barazo-forum/barazo-web/issues). Please include the page URL, a description of the issue, and the assistive technology you are using.
918918+You can report accessibility issues through our [GitHub issue tracker](https://github.com/singi-labs/barazo-web/issues). Please include the page URL, a description of the issue, and the assistive technology you are using.
919919920920*This statement was last updated on February 2026.*`
+1-1
src/validation/block-mute.ts
···44// Param schemas for block/mute action endpoints
55// ---------------------------------------------------------------------------
6677-// TODO: Import from @barazo-forum/lexicons once didRegex export is published (see barazo-lexicons#44)
77+// TODO: Import from @singi-labs/lexicons once didRegex export is published (see barazo-lexicons#44)
88const didRegex = /^did:[a-z]+:[a-zA-Z0-9._:%-]+$/
991010/** Schema for validating :did route parameter. */