Development Guide

BazaarFi is a pnpm + Turborepo monorepo. All packages share strict TypeScript via tsconfig.base.json.

Quick commands

pnpm install          # Install dependencies
pnpm dev              # Web + indexer in watch mode
pnpm build            # Production build
pnpm typecheck        # Strict TS check
pnpm test:program     # 17 Anchor security tests
pnpm db:generate      # Generate SQL migration
pnpm db:migrate       # Apply migrations

Package map

  • programs/bazaarfi/ — Anchor program (Rust)
  • packages/sdk/ — @bazaarfi/sdk
  • packages/shared/ — types, Zod schemas, constants
  • packages/db/ — Drizzle schema + queries
  • apps/web/ — Next.js 15 marketplace
  • apps/indexer/ — chain ingestion + WebSocket
  • docs/ — full technical documentation

Adding features

New API route

Create apps/web/app/api/<path>/route.ts. Validate with Zod from @bazaarfi/shared. Query via @bazaarfi/db.

New database table

Edit packages/db/src/schema.ts, add queries, run pnpm db:generate && pnpm db:migrate.

New program instruction

Add Rust instruction → tests → update SDK IDL → indexer event handler.

Full guide: docs/development.md