Repositories
Open source code for Dyma lives under the Dyma-IO organization.
Application repos
| Repository | Deploy target | Stack |
|---|---|---|
dyma-landing | dyma.io | Next.js 15 |
dyma-client | app.dyma.io | Next.js 15 |
dyma-studio | studio.dyma.io | Next.js 15 |
dyma-admin | admin.dyma.io | Next.js 15 |
dyma-api | api.dyma.io | NestJS 11, Prisma 6 |
dyma-shared | package @dyma-io/shared (sibling file: dependency) | TypeScript |
Infrastructure repos
| Repository | Purpose | Stack |
|---|---|---|
dyma-contracts | campaign reward escrow (factory + per-campaign escrow); a reputation contract placeholder | Rust / CosmWasm 2.2 |
dyma-indexer | scaffold only, not used: the API verifies on-chain quests itself | Rust |
dyma-docs | this documentation site | Docusaurus 3 |
token-registry | Safrochain chain, token, NFT and IBC registry (@safrochain/token-registry) | JSON + TypeScript lint |
Local development
The apps consume dyma-shared as a sibling directory and read its compiled dist/, so clone the
repositories side by side and build the shared package first:
mkdir dyma && cd dyma
git clone https://github.com/Dyma-IO/dyma-shared.git
git clone https://github.com/Dyma-IO/dyma-api.git
git clone https://github.com/Dyma-IO/dyma-client.git # and dyma-studio, dyma-admin, dyma-landing
cd dyma-shared && npm install && npm run build && cd ..
| App | Dev port | Env file |
|---|---|---|
| dyma-api | 4000 | .env (cp .env.example .env, then set JWT_SECRET and CREDENTIALS_MASTER_KEY) |
| dyma-landing | 3000 | .env (its scripts source it) |
| dyma-client | 3001 | .env.local |
| dyma-admin | 3002 | .env.local |
| dyma-studio | 3003 | .env.local |
Each repository's README has the details. API Swagger: http://localhost:4000/docs. After changing
dyma-shared, rebuild it (or run npm run dev there). If a Next.js dev server misses changes in
this multi-repo layout, start it with WATCHPACK_POLLING=true.
CI and deployment
Every repository has a GitHub Actions workflow on pull requests and main (Node 22) and a
deploy/ folder with a release-based deploy script and an nginx vhost. See
Deployment.
Documentation site
This site is built with Docusaurus and published to GitHub Pages:
https://dyma-io.github.io/dyma-docs/
To run locally:
git clone https://github.com/Dyma-IO/dyma-docs.git
cd dyma-docs
npm install
npm start