# FCTDrive Frontend Development ## Project Overview - Simple Google Drive style application - Next.js frontend with TypeScript and TailwindCSS - CLI tool (`fctdrive`) handles all drive logic - NOT my responsibility ## Important Constraints - **DO NOT** create new drive functions in drive.ts - **DO NOT** attempt hacks or workarounds with the CLI tool - If I encounter problems with the CLI tool: STOP, report problem, wait for fix ## Available Commands - `just build` - Build the CLI tool - `just dev` - Start development servers (uses demon to run background processes) - `just stop` - Stop development servers - `just logs` - View logs - `just deploy-frontend` - Deploy frontend to production - `fctdrive` - CLI tool is available in PATH ## Current Implementation - Frontend directory: `frontend/` (note: frontend code is in frontend/ directory) - Drive functions: `frontend/lib/drive_server.ts` - `Drive_ls(path, recursive)` - Lists files/directories - `Drive_blob_path(blob)` - Gets filesystem path for a blob ID - Current page shows v0 generated UI with mockData but has /api/list endpoint available ## Tech Stack - Next.js 15.4.6 with App Router - React 19.1.0 - TypeScript 5 - TailwindCSS 4 - Geist fonts ## Development Workflow 1. Use `just dev` to start servers 2. Frontend runs on localhost:3000 3. Make changes, auto-reload enabled 4. Use `just stop` to stop servers ## Requirements Summary - **UI**: Clean, simple, information-dense table for files/directories - **Scope**: Only file browsing for now (no upload/auth) - **File Handling**: All file types supported, clicking downloads file - **Error Handling**: Crash on CLI errors (for now) - **Mobile**: Must be mobile-friendly - **Architecture**: Server-side rendering, modular reusable components - **Updates**: Manual refresh only (no real-time) - the server is running at `127.0.0.1:3000` and you can use curl to test the page ## HTTP Testing - For testing authenticated endpoints in development, use header `AUTH: 1`