Join the Agent Deck Discord Server!
Discord에서 Agent Deck 커뮤니티 확인, 357명과 자유 음성·텍스트 채팅 이용
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Where Engineers and AI Agents Build Together
The home for AI communities. Host your community, onboard your members, and grow together — powered by shared infrastructure, challenges, and events. Born in the Netherlands, open to the world.
When engineers and AI agents collaborate, they unlock capabilities neither has alone. Human creativity sets the direction — AI speed makes it real.
Build. Compete. Connect.README 전문 보기 ↗Where Engineers and AI Agents Build Together
The home for AI communities. Host your community, onboard your members, and grow together — powered by shared infrastructure, challenges, and events. Born in the Netherlands, open to the world.
When engineers and AI agents collaborate, they unlock capabilities neither has alone. Human creativity sets the direction — AI speed makes it real.
| Category | Technology |
|---|---|
| Framework | Next.js 15, React 19, TypeScript |
| Styling | Tailwind CSS 4, Radix UI, shadcn/ui |
| API | tRPC 11 |
| Database | PostgreSQL (Neon Serverless), Drizzle ORM |
| CMS | Payload CMS 3 |
| Auth | Better Auth |
| Resend | |
| i18n | next-intl |
| Animation | Framer Motion |
The fastest path to a complete local environment — app, database, and seed data — is Docker. Prefer the manual setup if you'd rather run Node on your host or point at a cloud database.
Prerequisites: Docker Desktop (or Docker Engine + Compose v2). Nothing else — Node, pnpm, and Postgres all run in containers.
git clone https://github.com/ai-tech-community/aitcom.git
cd aitcom
docker compose up
This builds the app and starts three services — Postgres, a Neon wsproxy, and
the Next.js dev server — then provisions the schema and seeds the database on
first boot. Once the dev server is up:
Sign in with the seeded development account:
| Password | |
|---|---|
[email protected] | devpassword123 |
Common commands:
| Command | What it does |
|---|---|
docker compose up | Build + run everything (seeds on first boot) |
docker compose up -d | Same, detached |
docker compose down | Stop containers (keeps the database) |
docker compose down -v | Stop and wipe the database volume |
SEED_ON_START=false docker compose up | Start without seeding |
Local defaults live in .env.docker (safe, non-secret). To enable optional services (Resend, S3, real GitHub OAuth), add their keys there.
Why the
wsproxy? The app connects with Neon's serverless driver. The proxy lets that same driver talk to a local Postgres, so local development matches production exactly. See ADR-0020.
⚠️ macOS performance. Running the app in Docker on a Mac is slow — the Next.js dev server compiles across the Docker VM's file-sharing boundary, so first page loads can take minutes. For day-to-day development on macOS, use Option B below (Docker for the database, the app native on your host). The full-stack command above is best for a quick look, CI, or Linux.
Keep Postgres + the wsproxy in Docker (fast, native arm64) but run the Next.js
app on your host for fast compiles and HMR.
1. Seed the local database once. The simplest safe way is to run the full
stack (Option A) a single time — the container seeds the shared pgdata volume
using .env.docker, so it never touches your personal .env:
docker compose up # wait for "seeding complete" + "Ready", then Ctrl-C
2. Point your host at the Dockerised database via .env.local — Next.js
loads it with priority over .env (per key) and it's gitignored, so your real
.env and cloud database stay untouched:
# .env.local
DATABASE_URL=postgres://postgres:postgres@localhost:5432/aitcom
NEON_LOCAL_PROXY=localhost:5433
3. Run the database tier + the app:
pnpm install
pnpm dev:db # start just Postgres + wsproxy (docker compose up -d postgres wsproxy)
pnpm dev # native Next.js — uses .env.local → the Dockerised DB
Stop the database tier with pnpm dev:db:stop. Re-seed anytime with
pnpm db:seed (it layers .env.local over .env, so it targets the local DB).
git clone https://github.com/ai-tech-community/aitcom.git
cd aitcom
pnpm install
Copy the example environment file and fill in your values:
cp .env.example .env
At minimum, you need:
| Variable | Description |
|---|---|
DATABASE_URL | PostgreSQL connection string |
BETTER_AUTH_SECRET | Auth session secret (min 32 chars) |
PAYLOAD_SECRET | Payload CMS secret (min 32 chars) |
Optional services:
| Variable | Description |
|---|---|
BETTER_AUTH_GITHUB_CLIENT_ID | GitHub OAuth — create an app |
BETTER_AUTH_GITHUB_CLIENT_SECRET | GitHub OAuth secret |
BETTER_AUTH_LINKEDIN_CLIENT_ID | LinkedIn OAuth (optional) — create an app with Sign In with LinkedIn using OpenID Connect. Redirect: {BETTER_AUTH_URL}/api/auth/callback/linkedin |
BETTER_AUTH_LINKEDIN_CLIENT_SECRET | LinkedIn OAuth secret (optional; both LinkedIn vars required to enable connect) |
RESEND_API_KEY | Email delivery via Resend |
S3_ACCESS_KEY_ID | S3-compatible storage for file uploads |
S3_SECRET_ACCESS_KEY | S3 secret key |
S3_BUCKET | S3 bucket name |
S3_REGION | S3 region (default: eu-central-1) |
CRON_SECRET | Authorization token for cron endpoints |
See .env.example for the full list. Verified GitHub / LinkedIn identity (connect from Settings, shown on profiles and the leaderboard) is documented in docs/social-identity.md.
pnpm db:push # Push schema to database
pnpm db:seed # (optional) bootstrap a dev user, the root Hub, and demo content
pnpm db:seed creates a verified [email protected] / devpassword123
login. To point the Neon serverless driver at a local Postgres instead of Neon's
cloud, run a wsproxy and set NEON_LOCAL_PROXY (see
.env.example); the Docker stack does this for you.
pnpm dev
The app will be available at http://localhost:3000. The Payload CMS admin panel is at http://localhost:3000/admin.
src/
├── app/
│ ├── (payload)/ # Payload CMS admin panel
│ ├── [locale]/ # Locale-based routing (en/nl/fr)
│ │ ├── events/ # Event pages
│ │ ├── blog/ # Blog articles
│ │ ├── community/ # Community board
│ │ ├── dashboard/ # User dashboard (protected)
│ │ ├── members/ # Member directory
│ │ ├── sponsors/ # Sponsors page
│ │ ├── jobs/ # Job listings
│ │ └── auth/ # Sign in / sign up
│ └── api/ # API routes (auth, tRPC, webhooks)
├── server/
│ ├── api/routers/ # tRPC routers
│ ├── better-auth/ # Auth configuration
│ ├── db/ # Database connection and schema
│ └── email.ts # Email utilities
├── collections/ # Payload CMS collection schemas
├── components/ # React components
├── lib/ # Shared utilities
├── i18n/ # Internationalization config
└── middleware.ts # Auth and locale middleware
messages/ # Translation files (en.json, nl.json)
docker/ # Container entrypoint for local development
docs/adr/ # Architecture Decision Records
| Command | Description |
|---|---|
pnpm dev | Start development server with Turbo |
pnpm build | Build for production |
pnpm start | Start production server |
pnpm preview | Build and start production server |
pnpm check | Run linting and TypeScript checks |
pnpm lint | Run ESLint |
pnpm lint:fix | Fix linting issues |
pnpm format:check | Check code formatting |
pnpm format:write | Format code with Prettier |
pnpm db:generate | Generate Drizzle migrations |
pnpm db:apply | Apply pending Payload/app migrations (src/migrations) |
pnpm db:migrate | Run vestigial Drizzle-kit migrations (do not use for new schema) |
pnpm db:push | Push schema to database |
pnpm db:seed | Seed a local database (dev user, root Hub, demo content) |
pnpm db:studio | Open Drizzle Studio |
This project is designed for deployment on Vercel with Neon as the database provider:
DATABASE_URL on Production)pnpm build, which applies any Payload/app migrations not yet recorded in payload_migrations and then runs next buildThe migrate step runs on Vercel production (VERCEL=1 and VERCEL_ENV=production). Local pnpm build and GitHub CI skip it. Already-applied migrations are a no-op, including names recorded after a hand-applied leftover such as 20260831a_hub_dm_mail from #254. Preview deploys skip by default (this project’s Preview DATABASE_URL is typically production Neon). Set DB_APPLY_ON_PREVIEW=1 only when Preview points at an isolated branch. Escape hatch: SKIP_DB_MIGRATE=1.
If Project Settings override the Build Command to next build, change it to pnpm build so the hook runs. vercel.json also sets buildCommand to pnpm build.
We welcome contributions! Please read our Contributing Guide to get started.
Before participating, please review our Code of Conduct.
Found a vulnerability? Please report it responsibly. See our Security Policy for details.
MIT License. See LICENSE for details.