This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Mosaic is a TypeScript monorepo for managing Token-2022 extensions on Solana, specifically designed for Stablecoin and Arcade Token use cases. The project uses pnpm workspaces and Turbo for build orchestration with the following structure:
- @solana/mosaic-sdk (
packages/sdk/) - Core SDK with token templates and management utilities- Uses
gilllibrary for Solana interactions - Provides
Tokenclass for building token transactions with extensions - Contains predefined templates for stablecoin and arcade tokens
- Token extensions include: Metadata, Pausable, Default Account State, Confidential Balances, Permanent Delegate
- Key modules: issuance, management, administration, templates
- Uses
- @solana/mosaic-cli (
packages/cli/) - Command-line interface built with Commander.js- Commands:
create stablecoin,create arcade-token,mint - Global options:
--rpc-url,--keypair
- Commands:
- @mosaic/app (
apps/app/) - Dashboard application (Next.js) with Tailwind CSS and Radix UI components
- Default Account State (SRFC blocklist for compliance)
- Metadata, Confidential Balances, Pausable, Permanent Delegate
- Default Account State (SRFC allowlist for programs/users)
- Metadata (rich gaming metadata), Permanent Delegate, Pausable
# Install dependencies
pnpm install
# Development (runs dev for all packages)
pnpm dev
# Build all packages
pnpm build
# Testing
pnpm test # Run all tests
pnpm test:watch # SDK watch mode (in packages/sdk/)
pnpm test:coverage # SDK coverage (in packages/sdk/)
# Code quality
pnpm lint # Lint all packages
pnpm lint:fix # Fix linting issues
pnpm format # Format with Prettier
pnpm format:check # Check formatting
pnpm type-check # TypeScript checking
pnpm check # Run format:check + lint + type-check
# Clean build artifacts
pnpm clean # Remove dist folders from all packages
# Before committing
pnpm precommit # format + lint:fix- Uses Jest for testing
- Main entry point exports
Tokenclass and templates - Test setup in
src/__tests__/setup.ts
cd packages/sdk
pnpm test:watch # Run tests in watch mode
pnpm test:coverage # Generate test coverage report- Uses Commander.js for CLI framework
- Uses tsx for development execution
- Exports mosaic binary when built
cd packages/cli
pnpm dev # Run CLI in development mode using tsx
pnpm build # Build CLI binary
pnpm start # Run built CLI- Next.js 15 with App Router
- Tailwind CSS + Radix UI components
- Theme support with next-themes
cd apps/app
pnpm dev # Start Next.js development server
pnpm build # Build for production
pnpm start # Start production server- Project is currently scaffolded - implementation depends on Token-2022 program stabilization and SRFC 37 spec
- Uses
gilllibrary for Solana RPC interactions - All token creation functions return
FullTransactionobjects ready for signing - Uses Turbo for monorepo build orchestration (faster builds with caching)
- Node.js 20+ and pnpm 10+ required
- TypeScript 5.9+ for all packages