Barazo AppView backend barazo.forum

chore: rename barazo-forum to singi-labs across all files

Pre-existing lint errors in firehose indexers (type resolution from
lexicons package) -- unrelated to this rename.

+38 -38
+1 -1
.github/ISSUE_TEMPLATE/config.yml
··· 1 1 blank_issues_enabled: true 2 2 contact_links: 3 3 - name: File issue in barazo-workspace 4 - url: https://github.com/barazo-forum/barazo-workspace/issues/new/choose 4 + url: https://github.com/singi-labs/barazo-workspace/issues/new/choose 5 5 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.
+1 -1
.github/actions/setup/action.yml
··· 22 22 if: steps.lexicons-cache.outputs.cache-hit != 'true' 23 23 shell: bash 24 24 run: | 25 - git clone --depth 1 https://github.com/barazo-forum/barazo-lexicons.git ../barazo-lexicons 25 + git clone --depth 1 https://github.com/singi-labs/barazo-lexicons.git ../barazo-lexicons 26 26 cd ../barazo-lexicons && pnpm install --ignore-scripts && pnpm run build 27 27 28 28 - name: Install dependencies
+2 -2
.github/workflows/cla.yml
··· 23 23 PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_BOT_TOKEN }} 24 24 with: 25 25 path-to-signatures: 'signatures/cla.json' 26 - path-to-document: 'https://github.com/barazo-forum/.github/blob/main/CLA.md' 26 + path-to-document: 'https://github.com/singi-labs/.github/blob/main/CLA.md' 27 27 branch: 'main' 28 28 allowlist: 'gxjansen,dependabot[bot],github-actions[bot]' 29 - remote-organization-name: 'barazo-forum' 29 + remote-organization-name: 'singi-labs' 30 30 remote-repository-name: '.github' 31 31 lock-pullrequest-aftermerge: false 32 32 use-dco-flag: false
+1 -1
.github/workflows/copilot-setup-steps.yml
··· 45 45 node-version: 24 46 46 - name: Clone and build barazo-lexicons 47 47 run: | 48 - git clone --depth 1 https://github.com/barazo-forum/barazo-lexicons.git ../barazo-lexicons 48 + git clone --depth 1 https://github.com/singi-labs/barazo-lexicons.git ../barazo-lexicons 49 49 cd ../barazo-lexicons && pnpm install --ignore-scripts && pnpm run build 50 50 - run: pnpm install 51 51 - run: pnpm db:migrate
+1 -1
.github/workflows/deploy-staging.yml
··· 19 19 uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v4.0.1 20 20 with: 21 21 token: ${{ secrets.DEPLOY_PAT }} 22 - repository: barazo-forum/barazo-workspace 22 + repository: singi-labs/barazo-workspace 23 23 event-type: sync-lockfile 24 24 client-payload: | 25 25 {
+1 -1
.npmrc
··· 1 - @barazo-forum:registry=https://npm.pkg.github.com 1 + @singi-labs:registry=https://npm.pkg.github.com
+4 -4
AGENTS.md
··· 1 1 # Barazo API -- AppView Backend 2 2 3 3 <!-- Auto-generated from barazo-workspace. To propose changes, edit the source: 4 - https://github.com/barazo-forum/barazo-workspace/tree/main/agents-md --> 4 + https://github.com/singi-labs/barazo-workspace/tree/main/agents-md --> 5 5 6 - AGPL-3.0 | Part of [github.com/barazo-forum](https://github.com/barazo-forum) 6 + AGPL-3.0 | Part of [github.com/singi-labs](https://github.com/singi-labs) 7 7 8 8 The AppView backend for Barazo. Subscribes to AT Protocol firehose, indexes `forum.barazo.*` records in PostgreSQL, and exposes a REST API for all forum operations. 9 9 ··· 49 49 50 50 Open-source forum software built on the [AT Protocol](https://atproto.com/). Portable identity, member-owned data, no lock-in. 51 51 52 - - **Organization:** [github.com/barazo-forum](https://github.com/barazo-forum) 52 + - **Organization:** [github.com/singi-labs](https://github.com/singi-labs) 53 53 - **License:** AGPL-3.0 (backend) / MIT (frontend, lexicons, deploy) / CC BY-SA 4.0 + MIT (docs) / Proprietary (website) 54 - - **Contributing:** See [CONTRIBUTING.md](https://github.com/barazo-forum/.github/blob/main/CONTRIBUTING.md) 54 + - **Contributing:** See [CONTRIBUTING.md](https://github.com/singi-labs/.github/blob/main/CONTRIBUTING.md) 55 55 56 56 ### Coding Standards 57 57
+1 -1
Dockerfile
··· 40 40 COPY barazo-api/ ./barazo-api/ 41 41 42 42 # Build lexicons first (workspace dependency), then API 43 - RUN pnpm --filter @barazo-forum/lexicons build && \ 43 + RUN pnpm --filter @singi-labs/lexicons build && \ 44 44 pnpm --filter barazo-api build 45 45 46 46 # Create standalone production deployment with resolved dependencies.
+14 -14
README.md
··· 1 1 <div align="center"> 2 2 3 3 <picture> 4 - <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/barazo-forum/.github/main/assets/logo-dark.svg"> 5 - <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/barazo-forum/.github/main/assets/logo-light.svg"> 6 - <img alt="Barazo Logo" src="https://raw.githubusercontent.com/barazo-forum/.github/main/assets/logo-dark.svg" width="120"> 4 + <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/singi-labs/.github/main/assets/logo-dark.svg"> 5 + <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/singi-labs/.github/main/assets/logo-light.svg"> 6 + <img alt="Barazo Logo" src="https://raw.githubusercontent.com/singi-labs/.github/main/assets/logo-dark.svg" width="120"> 7 7 </picture> 8 8 9 9 # Barazo API ··· 12 12 13 13 [![Status: Alpha](https://img.shields.io/badge/status-alpha-orange)]() 14 14 [![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL%203.0-blue.svg)](https://opensource.org/licenses/AGPL-3.0) 15 - [![CI](https://github.com/barazo-forum/barazo-api/actions/workflows/ci.yml/badge.svg)](https://github.com/barazo-forum/barazo-api/actions/workflows/ci.yml) 15 + [![CI](https://github.com/singi-labs/barazo-api/actions/workflows/ci.yml/badge.svg)](https://github.com/singi-labs/barazo-api/actions/workflows/ci.yml) 16 16 [![Node.js](https://img.shields.io/badge/node-24%20LTS-brightgreen)](https://nodejs.org/) 17 17 [![TypeScript](https://img.shields.io/badge/typescript-5.x-blue)](https://www.typescriptlang.org/) 18 18 ··· 190 190 **Prerequisites:** Node.js 24 LTS, pnpm, Docker + Docker Compose, AT Protocol PDS access (Bluesky or self-hosted). 191 191 192 192 ```bash 193 - git clone https://github.com/barazo-forum/barazo-api.git 193 + git clone https://github.com/singi-labs/barazo-api.git 194 194 cd barazo-api 195 195 pnpm install 196 196 ··· 217 217 pnpm typecheck # TypeScript strict mode check 218 218 ``` 219 219 220 - See [CONTRIBUTING.md](https://github.com/barazo-forum/.github/blob/main/CONTRIBUTING.md) for branching strategy, commit format, and code review process. 220 + See [CONTRIBUTING.md](https://github.com/singi-labs/.github/blob/main/CONTRIBUTING.md) for branching strategy, commit format, and code review process. 221 221 222 222 **Key standards:** 223 223 ··· 232 232 ## Deployment 233 233 234 234 ```bash 235 - docker pull ghcr.io/barazo-forum/barazo-api:latest 235 + docker pull ghcr.io/singi-labs/barazo-api:latest 236 236 ``` 237 237 238 - See [barazo-deploy](https://github.com/barazo-forum/barazo-deploy) for full deployment templates. 238 + See [barazo-deploy](https://github.com/singi-labs/barazo-deploy) for full deployment templates. 239 239 240 240 --- 241 241 ··· 243 243 244 244 | Repository | Description | License | 245 245 | ------------------------------------------------------------------ | --------------------------------------------- | ------- | 246 - | [barazo-web](https://github.com/barazo-forum/barazo-web) | Forum frontend (Next.js, Tailwind) | MIT | 247 - | [barazo-lexicons](https://github.com/barazo-forum/barazo-lexicons) | AT Protocol lexicon schemas + generated types | MIT | 248 - | [barazo-deploy](https://github.com/barazo-forum/barazo-deploy) | Docker Compose deployment templates | MIT | 249 - | [barazo-website](https://github.com/barazo-forum/barazo-website) | Marketing + documentation site | MIT | 246 + | [barazo-web](https://github.com/singi-labs/barazo-web) | Forum frontend (Next.js, Tailwind) | MIT | 247 + | [barazo-lexicons](https://github.com/singi-labs/barazo-lexicons) | AT Protocol lexicon schemas + generated types | MIT | 248 + | [barazo-deploy](https://github.com/singi-labs/barazo-deploy) | Docker Compose deployment templates | MIT | 249 + | [barazo-website](https://github.com/singi-labs/barazo-website) | Marketing + documentation site | MIT | 250 250 251 251 --- 252 252 253 253 ## Community 254 254 255 255 - **Website:** [barazo.forum](https://barazo.forum) 256 - - **Discussions:** [GitHub Discussions](https://github.com/orgs/barazo-forum/discussions) 257 - - **Issues:** [Report bugs](https://github.com/barazo-forum/barazo-api/issues) 256 + - **Discussions:** [GitHub Discussions](https://github.com/orgs/singi-labs/discussions) 257 + - **Issues:** [Report bugs](https://github.com/singi-labs/barazo-api/issues) 258 258 259 259 --- 260 260
+2 -2
package.json
··· 7 7 "license": "AGPL-3.0-only", 8 8 "repository": { 9 9 "type": "git", 10 - "url": "https://github.com/barazo-forum/barazo-api.git" 10 + "url": "https://github.com/singi-labs/barazo-api.git" 11 11 }, 12 12 "engines": { 13 13 "node": ">=24.0.0" ··· 35 35 "@atproto/api": "0.19.0", 36 36 "@atproto/oauth-client-node": "0.3.17", 37 37 "@atproto/tap": "0.2.7", 38 - "@barazo-forum/lexicons": "link:../barazo-lexicons", 38 + "@singi-labs/lexicons": "link:../barazo-lexicons", 39 39 "@fastify/cookie": "11.0.2", 40 40 "@fastify/cors": "11.2.0", 41 41 "@fastify/helmet": "13.0.2",
+1 -1
src/firehose/handlers/record.ts
··· 4 4 TopicReplyInput, 5 5 ReactionInput, 6 6 VoteInput, 7 - } from '@barazo-forum/lexicons' 7 + } from '@singi-labs/lexicons' 8 8 import { users } from '../../db/schema/users.js' 9 9 import { replies } from '../../db/schema/replies.js' 10 10 import { reactions } from '../../db/schema/reactions.js'
+1 -1
src/firehose/indexers/reaction.ts
··· 1 1 import { eq, sql } from 'drizzle-orm' 2 - import type { ReactionInput } from '@barazo-forum/lexicons' 2 + import type { ReactionInput } from '@singi-labs/lexicons' 3 3 import { reactions } from '../../db/schema/reactions.js' 4 4 import { topics } from '../../db/schema/topics.js' 5 5 import { replies } from '../../db/schema/replies.js'
+1 -1
src/firehose/indexers/reply.ts
··· 1 1 import { eq, sql } from 'drizzle-orm' 2 - import type { TopicReplyInput } from '@barazo-forum/lexicons' 2 + import type { TopicReplyInput } from '@singi-labs/lexicons' 3 3 import { replies } from '../../db/schema/replies.js' 4 4 import { topics } from '../../db/schema/topics.js' 5 5 import type { Database } from '../../db/index.js'
+1 -1
src/firehose/indexers/topic.ts
··· 1 1 import { eq } from 'drizzle-orm' 2 - import type { TopicPostInput } from '@barazo-forum/lexicons' 2 + import type { TopicPostInput } from '@singi-labs/lexicons' 3 3 import { topics } from '../../db/schema/topics.js' 4 4 import type { Database } from '../../db/index.js' 5 5 import type { Logger } from '../../lib/logger.js'
+1 -1
src/firehose/indexers/vote.ts
··· 1 1 import { eq, sql } from 'drizzle-orm' 2 - import type { VoteInput } from '@barazo-forum/lexicons' 2 + import type { VoteInput } from '@singi-labs/lexicons' 3 3 import { votes } from '../../db/schema/votes.js' 4 4 import { topics } from '../../db/schema/topics.js' 5 5 import { replies } from '../../db/schema/replies.js'
+1 -1
src/firehose/types.ts
··· 1 - import type { LEXICON_IDS } from '@barazo-forum/lexicons' 1 + import type { LEXICON_IDS } from '@singi-labs/lexicons' 2 2 3 3 /** Record actions from the firehose. */ 4 4 export type RecordAction = 'create' | 'update' | 'delete'
+1 -1
src/firehose/validation.ts
··· 7 7 type TopicReplyInput, 8 8 type ReactionInput, 9 9 type VoteInput, 10 - } from '@barazo-forum/lexicons' 10 + } from '@singi-labs/lexicons' 11 11 import type { SupportedCollection } from './types.js' 12 12 import { isSupportedCollection } from './types.js' 13 13
+2 -2
src/setup/service.ts
··· 742 742 - Data portability (built into the AT Protocol). 743 743 - Lodge a complaint with the Dutch Data Protection Authority (Autoriteit Persoonsgegevens). 744 744 745 - 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. 745 + 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. 746 746 747 747 ## Data breach notification 748 748 ··· 915 915 916 916 If you encounter accessibility barriers on Barazo, please contact us. We take accessibility feedback seriously and will work to address issues promptly. 917 917 918 - 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. 918 + 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. 919 919 920 920 *This statement was last updated on February 2026.*`
+1 -1
src/validation/block-mute.ts
··· 4 4 // Param schemas for block/mute action endpoints 5 5 // --------------------------------------------------------------------------- 6 6 7 - // TODO: Import from @barazo-forum/lexicons once didRegex export is published (see barazo-lexicons#44) 7 + // TODO: Import from @singi-labs/lexicons once didRegex export is published (see barazo-lexicons#44) 8 8 const didRegex = /^did:[a-z]+:[a-zA-Z0-9._:%-]+$/ 9 9 10 10 /** Schema for validating :did route parameter. */