Getting Started
Prerequisites
- Node.js 18+
- pnpm 10.26.0
- Supabase account
- Anthropic API key
- OpenAI API key
Quick Start
git clone git@github.com:beliefengines/be-bitcoinology-v1.git bitcoinology
cd bitcoinology
pnpm install
cp .env.example .env.local
# Edit .env.local with your API keys
pnpm dev
Open http://localhost:3000.
Required API Keys
| Service | Purpose | Get it from |
|---|---|---|
| Supabase | Database + Auth | supabase.com |
| Anthropic | Claude LLM | console.anthropic.com |
| OpenAI | Embeddings | platform.openai.com |
| Google OAuth | Authentication | console.cloud.google.com |
Development Commands
pnpm dev # Start dev server
pnpm build # Production build
pnpm lint # ESLint
pnpm type-check # TypeScript check
pnpm test # Run tests (vitest)
pnpm mcp:dev # Run MCP server locally
pnpm mcp:inspect # MCP inspector UI
pnpm hydrate # Hydrate data from HuggingFace (Python)
Project Structure
src/
├── app/ # Next.js App Router
│ ├── (auth)/ # Public auth routes
│ ├── (main)/ # Protected main routes
│ └── api/ # 30+ API routes
├── components/ # 50+ React components
│ ├── terminal/ # Terminal screen components
│ └── ui/ # 8bitcn UI components
├── hooks/ # Custom React hooks
├── lib/ # Shared utilities
│ ├── agents/ # AI agent implementations
│ ├── ai/ # AI SDK tools + provider config
│ ├── supabase/ # Client + server Supabase clients
│ └── threads/ # Thread management
├── mcp/ # MCP Server (DuckDB + tools)
├── stores/ # Zustand state management
└── types/ # TypeScript type definitions