PRs are warmly welcome—see CONTRIBUTING.md to get started.
Come and chat with us on Discord: https://discord.gg/BFMAKZSUG7
- Modern stack: React, TypeScript, Vite, SCSS Modules;
- Map rendering with Leaflet and custom hooks/components (verb.1, we consider to migrate current structure to Canvaskit in next version);
- The project is well organized in our JIRA Kanban, consider joining us and take some todos!
- Clean UI with Figma workflow;
- Full internationalization (UI/Game), clear fallback rules;
- CDN/OSS friendly build and publish scripts;
Please read CONTRIBUTING.md for:
- environment setup
- coding standards & linting
- branch/commit/PR conventions
- translation workflow
Top-level folders you’ll most likely interact with:
talos/– the web appsrc/– application sourcecomponent/– UI components (modal, sidebar, language selector, groups modal, etc.)component/map/– map integration (Leaflet + hooks)
locale/– i18n system, UI text resourcesstore/– global UI state (Zustand)styles/– shared SCSS (palette, fonts, globals)utils/– helpers (device, font loader/cache, logging, resources)
public/– public static assetsconfig/– build-time config (ignored by Git), see “Build & Deploy”scripts/– helper scripts (e.g. publish to OSS/CDN)vite.config.js– Vite configuration
Requirements:
- Node.js 20+
- pnpm 10+
Install & run (from the talos directory):
# 1) Install deps
pnpm install
# 2) Start dev server
pnpm dev
# 3) Type check (optional)
pnpm run type-check
# 4) Build for production
pnpm build- UI language resources now live under
talos/src/locale/data/ui/. - The app distinguishes between “full support” (UI + in‑game terms) and “UI‑only” languages. When game content is not available, English will be used as a fallback for those parts.
- To add or improve translations, see the guidance in CONTRIBUTING.md.
- Main latin letters are displayed in Novencento Sans Wide family provided by Synthview Type Design.
- Variable font HMSans (weights 100–900) is used alongside region‑specific fonts.
- Fonts are loaded dynamically using the utilities in
src/utils/fontLoader.tsandsrc/utils/fontCache.ts.
This project is licensed under the GNU Affero General Public License v3.0. See LICENSE for the full text.