Skip to main content

Prerequisites

Install these tools before setting up the project. GospeLib is a polyglot monorepo — you'll need toolchains for TypeScript, Go, and Python.

Required Tools

ToolVersionPurposeInstall
Node.js>= 22TypeScript apps and packagesnodejs.org or nvm install 22
pnpm9.15.0 (exact)Package manager for JS/TS workspacecorepack enable && corepack prepare pnpm@9.15.0 --activate
Go1.23Gateway, auth, billing, notifications servicesgo.dev/dl
Python>= 3.12Content, AI, and ingest servicespython.org or pyenv install 3.12
uvLatestPython dependency managementcurl -LsSf https://astral.sh/uv/install.sh | sh
Docker>= 24Data stores (FalkorDB, PostgreSQL, Redis, Typesense)docker.com
Git>= 2.40Version controlPre-installed on most systems
pnpm version matters

The project enforces pnpm 9.15.0 via the packageManager field in package.json. Using a different version may cause lockfile conflicts. Use Corepack to pin the exact version.

Verify Your Installation

Run each command and confirm the output matches the expected version:

node --version # v22.x.x
pnpm --version # 9.15.0
go version # go1.23.x
python3 --version # Python 3.12.x
uv --version # uv 0.x.x
docker --version # Docker 24.x.x or newer
ToolPurpose
VS Code + Dev Containers extensionThe DevContainer has everything pre-installed — skip all manual setup
golangci-lintGo linter (CI uses it; install locally for faster feedback)
CommitizenBundled via pnpm commit, but helpful to understand
Skip manual setup entirely

If you use VS Code with Dev Containers, the DevContainer image includes every tool at the exact required version. See Local Dev Setup for details.

Next Step

With all tools installed, head to Local Dev Setup to clone the repo and start services.