From 86255511e1530702c46cf292cebffa5aa27fd196 Mon Sep 17 00:00:00 2001 From: Henry Li Date: Mon, 2 Feb 2026 23:24:58 +0800 Subject: [PATCH] docs: add README.md --- frontend/.env.example | 8 --- frontend/README.md | 131 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 131 insertions(+), 8 deletions(-) create mode 100644 frontend/README.md diff --git a/frontend/.env.example b/frontend/.env.example index e30fce3..75d14f6 100644 --- a/frontend/.env.example +++ b/frontend/.env.example @@ -15,11 +15,3 @@ # NEXT_PUBLIC_BACKEND_BASE_URL="http://localhost:8001" # NEXT_PUBLIC_LANGGRAPH_BASE_URL="http://localhost:2024" -# Better Auth -## Better Auth - Google OAuth -BETTER_AUTH_GOOGLE_CLIENT_ID="" -BETTER_AUTH_GOOGLE_CLIENT_SECRET="" - -## Better Auth - GitHub OAuth -BETTER_AUTH_GITHUB_CLIENT_ID="" -BETTER_AUTH_GITHUB_CLIENT_SECRET="" diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..07620c3 --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,131 @@ +# DeerFlow Frontend + +Like the original DeerFlow 1.0, we would love to give the community a minimalistic and easy-to-use web interface with a more modern and flexible architecture. + +## Tech Stack + +- **Framework**: [Next.js 16](https://nextjs.org/) with [App Router](https://nextjs.org/docs/app) +- **UI**: [React 19](https://react.dev/), [Tailwind CSS 4](https://tailwindcss.com/), [Shadcn UI](https://ui.shadcn.com/), [MagicUI](https://magicui.design/) and [React Bits](https://reactbits.dev/) +- **AI Integration**: [LangGraph SDK](https://www.npmjs.com/package/@langchain/langgraph-sdk) and [Vercel AI Elements](https://vercel.com/ai-sdk/ai-elements) + +## Quick Start + +### Prerequisites + +- Node.js 22+ +- pnpm 10.26.2+ + +### Installation + +```bash +# Install dependencies +pnpm install + +# Copy environment variables +cp .env.example .env +# Edit .env with your configuration +``` + +### Development + +```bash +# Start development server +pnpm dev + +# The app will be available at http://localhost:3000 +``` + +### Build + +```bash +# Type check +pnpm typecheck + +# Lint +pnpm lint + +# Build for production +pnpm build + +# Start production server +pnpm start +``` + +## Site Map + +``` +├── / # Landing page +├── /chats # Chat list +├── /chats/new # New chat page +└── /chats/[thread_id] # A specific chat page +``` + +## Configuration + +### Environment Variables + +Key environment variables (see `.env.example` for full list): + +```bash +# Backend API URLs (optional, uses nginx proxy by default) +NEXT_PUBLIC_BACKEND_BASE_URL="http://localhost:8001" +# LangGraph API URLs (optional, uses nginx proxy by default) +NEXT_PUBLIC_LANGGRAPH_BASE_URL="http://localhost:2024" +``` + +## Project Structure + +``` +src/ +├── app/ # Next.js App Router pages +│ ├── api/ # API routes +│ ├── workspace/ # Main workspace pages +│ └── mock/ # Mock/demo pages +├── components/ # React components +│ ├── ui/ # Reusable UI components +│ ├── workspace/ # Workspace-specific components +│ ├── landing/ # Landing page components +│ └── ai-elements/ # AI-related UI elements +├── core/ # Core business logic +│ ├── api/ # API client & data fetching +│ ├── artifacts/ # Artifact management +│ ├── citations/ # Citation handling +│ ├── config/ # App configuration +│ ├── i18n/ # Internationalization +│ ├── mcp/ # MCP integration +│ ├── messages/ # Message handling +│ ├── models/ # Data models & types +│ ├── settings/ # User settings +│ ├── skills/ # Skills system +│ ├── threads/ # Thread management +│ ├── todos/ # Todo system +│ └── utils/ # Utility functions +├── hooks/ # Custom React hooks +├── lib/ # Shared libraries & utilities +├── server/ # Server-side code (Not available yet) +│ └── better-auth/ # Authentication setup (Not available yet) +└── styles/ # Global styles +``` + +## Scripts + +| Command | Description | +|---------|-------------| +| `pnpm dev` | Start development server with Turbopack | +| `pnpm build` | Build for production | +| `pnpm start` | Start production server | +| `pnpm lint` | Run ESLint | +| `pnpm lint:fix` | Fix ESLint issues | +| `pnpm typecheck` | Run TypeScript type checking | +| `pnpm check` | Run both lint and typecheck | + +## Development Notes + +- Uses pnpm workspaces (see `packageManager` in package.json) +- Turbopack enabled by default in development for faster builds +- Environment validation can be skipped with `SKIP_ENV_VALIDATION=1` (useful for Docker) +- Backend API URLs are optional; nginx proxy is used by default in development + +## License + +MIT License. See [LICENSE](../LICENSE) for details.