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
| Tool | Version | Purpose | Install |
|---|---|---|---|
| Node.js | >= 22 | TypeScript apps and packages | nodejs.org or nvm install 22 |
| pnpm | 9.15.0 (exact) | Package manager for JS/TS workspace | corepack enable && corepack prepare pnpm@9.15.0 --activate |
| Go | 1.23 | Gateway, auth, billing, notifications services | go.dev/dl |
| Python | >= 3.12 | Content, AI, and ingest services | python.org or pyenv install 3.12 |
| uv | Latest | Python dependency management | curl -LsSf https://astral.sh/uv/install.sh | sh |
| Docker | >= 24 | Data stores (FalkorDB, PostgreSQL, Redis, Typesense) | docker.com |
| Git | >= 2.40 | Version control | Pre-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
Optional but Recommended
| Tool | Purpose |
|---|---|
| VS Code + Dev Containers extension | The DevContainer has everything pre-installed — skip all manual setup |
| golangci-lint | Go linter (CI uses it; install locally for faster feedback) |
| Commitizen | Bundled 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.