the-monkeys/the_monkeys(opens in a new tab)
Language: TypeScript
Inspire, Inform, Innovate. Start your writing journey today - collaborate, create, and share without limits!
- stars
- 51
- watchers
- 3
- forks
- 72
- open issues
- 127
- Last updated
- 10/30/2026
Language: TypeScript
Inspire, Inform, Innovate. Start your writing journey today - collaborate, create, and share without limits!
Research-first publishing platform: journals, community events, groups, and a social creative studio.
Monkeys is a modern, research-first community platform designed for high-quality technical and scientific writing, community events, collaborative groups, and social graphic creation.
This repository is managed as a Turborepo monorepo powered by pnpm workspaces:
the_monkeys/
├── apps/
│ └── the_monkeys/ # Next.js 14 App Router web application
├── packages/
│ ├── ui/ # Shared UI component library (Radix UI + Tailwind CSS)
│ └── config/ # Shared workspace configurations
├── scripts/ # Cross-platform utility scripts (host configuration, etc.)
├── docker-compose.yml # Production Docker Compose definition
├── docker-compose.local.yml # Local Docker Compose setup (bridges to monkeys_engine network)
└── Dockerfile # Multi-stage Docker build with runtime environment support
next-runtime-env (build once, deploy anywhere)/feed, /blog/[slug]): Long-form publishing with rich markdown, code syntax highlighting, and LaTeX math formatting via KaTeX./events): Discover and organize community meetups, workshops, and scientific talks with integrated RSVP management and calendar integration./groups): Topic-based collaborative spaces for community research and discussions./snapshot/new, /cards):
/cards).The backend is built in Go and maintained in a dedicated repository:
next-runtime-env, eliminating the need to bake endpoints into the build bundle.18.17.0 or later (refer to .nvmrc)10.0.0 or later (configured in package.json)Tip
If pnpm is not installed globally, bootstrap it using npm run install-deps.
git clone https://github.com/the-monkeys/the_monkeys.git
cd the_monkeys
pnpm installCreate .env.local inside apps/the_monkeys:
cp apps/the_monkeys/.env.example apps/the_monkeys/.env.local
Key environment variables:
| Variable | Description |
|---|---|
NEXT_PUBLIC_API_URL |
Base HTTP endpoint for the backend API |
NEXT_PUBLIC_API_URL_V2 |
V2 backend HTTP endpoint |
NEXT_PUBLIC_WSS_URL |
WebSocket endpoint for real-time services |
NEXT_PUBLIC_LIVE_URL |
Production/Public application URL |
AUTH_SECRET |
Secret key used for session encryption |
NEXT_PUBLIC_GROWTHBOOK_CLIENT_KEY |
(Optional) Feature flag client key |
To allow authentication cookies to share context with a locally running backend:
make setup-hosts # or on Linux/macOS: sudo bash ./scripts/setup-hosts.sh # or on Windows (PowerShell as Admin): powershell -ExecutionPolicy Bypass -File "scripts/setup-hosts.ps1"
This maps 127.0.0.1 local.monkeys.com.co in your hosts file.
pnpm dev
The application will be accessible at http://localhost:3000 (or http://local.monkeys.com.co:3000 if host mapping is configured).
The application provides multi-stage Docker builds utilizing next-runtime-env for runtime environment injection.
# 1. Create root environment file cp .env.local.example .env.local # 2. Run container connecting to the local backend network docker compose -f docker-compose.local.yml up
For production deployment:
cp .env.local.example .env # fill in production values first
docker compose -f docker-compose.yml up -dAll commands can be run from the repository root via Turborepo:
| Command | Description |
|---|---|
pnpm dev |
Start development servers with hot-reload |
pnpm build |
Run lint checks and create production build |
pnpm test |
Run Vitest unit and component test suites |
pnpm lint |
Execute linter across all workspaces |
pnpm format |
Automatically format code using Prettier and Biome |