mirror of
https://github.com/multica-ai/multica.git
synced 2026-07-15 14:19:13 +02:00
6dfc61fa86d8899e112d21814b2c1d62cb27dbd2
- Add JWT middleware unit tests (8 tests covering all auth edge cases) - Add WebSocket hub tests (5 tests for client lifecycle and broadcast) - Add full HTTP integration tests (12 tests through real Chi router with DB) - Add frontend component tests for login, issues, and issue detail pages - Add auth context unit tests (9 tests for login/logout/name resolution) - Add Playwright E2E tests for auth, issues, comments, and navigation - Configure Vitest with jsdom, React plugin, and path aliases Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Multica
AI-native task management platform — like Linear, but with AI agents as first-class citizens.
Prerequisites
Quick Start
# 1. Install dependencies
pnpm install
# 2. Copy environment variables
cp .env.example .env
# 3. Start PostgreSQL
docker compose up -d
# 4. Run database migrations
make migrate-up
# 5. Start the Go backend (port 8080)
make dev
# 6. In another terminal, start the frontend (port 3000)
pnpm dev:web
Open http://localhost:3000 in your browser.
Project Structure
├── server/ # Go backend (Chi + sqlc + gorilla/websocket)
│ ├── cmd/ # server, daemon, migrate, seed
│ ├── internal/ # Core business logic
│ ├── migrations/ # SQL migrations
│ └── sqlc.yaml # sqlc config
├── apps/
│ └── web/ # Next.js 16 frontend
├── packages/ # Shared TypeScript packages
│ ├── ui/ # Component library (shadcn/ui + Radix)
│ ├── types/ # Shared type definitions
│ ├── sdk/ # API client SDK
│ ├── store/ # State management
│ ├── hooks/ # Shared React hooks
│ └── utils/ # Utility functions
├── Makefile # Backend commands
├── docker-compose.yml # PostgreSQL + pgvector
└── .env.example # Environment variable template
Commands
Frontend
| Command | Description |
|---|---|
pnpm dev:web |
Start Next.js dev server (port 3000) |
pnpm build |
Build all TypeScript packages |
pnpm typecheck |
Run TypeScript type checking |
pnpm test |
Run TypeScript tests |
Backend
| Command | Description |
|---|---|
make dev |
Run Go server (port 8080) |
make daemon |
Run local agent daemon |
make test |
Run Go tests |
make build |
Build server & daemon binaries |
make sqlc |
Regenerate sqlc code from SQL |
Database
| Command | Description |
|---|---|
docker compose up -d |
Start PostgreSQL |
docker compose down |
Stop PostgreSQL |
make migrate-up |
Run database migrations |
make migrate-down |
Rollback database migrations |
make seed |
Seed test data |
Environment Variables
See .env.example for all available variables:
DATABASE_URL— PostgreSQL connection stringPORT— Backend server port (default: 8080)JWT_SECRET— JWT signing secretGOOGLE_CLIENT_ID/GOOGLE_CLIENT_SECRET— Google OAuth (optional)NEXT_PUBLIC_API_URL— Frontend → backend API URLNEXT_PUBLIC_WS_URL— Frontend → backend WebSocket URL
Description
Languages
Go
49.7%
TypeScript
42.6%
MDX
6.3%
PLpgSQL
0.4%
CSS
0.3%
Other
0.5%