MiForge is a portal/AAC inspired by tibia.com, focused on multi-world, performance, and Developer Experience (DX) for Crystal and Canary based servers.
π Preview: https://miforge.mitg.dev
| Module | Status | Progress |
|---|---|---|
| AAC (API) | π’ Active | |
| AAC (Web) | π’ Active | |
| Client (OTC) | π Planned |
- Overview
- Features
- Architecture
- Screenshots
- How to run in development
- Contributing
- License
- Legal notice
MiForge's goal is to be a complete and modern AAC for Tibia servers:
- Panel inspired by the original tibia.com experience.
- Support for multi-world and multi-server.
- Focused on full-stack TypeScript, performance, and DirectX.
- Designed to be open and extensible for the OT community.
- π§βπ» Account Management (login, account creation, lost account).
- π Infrastructure for secure authentication (with 2FA/TOTP support on the roadmap).
- π¨ Themed frontend with Tibia-style layout.
- π§± Monorepo with clear separation between API, Web, and shared packages.
- π Rankings (XP, skills, frags, etc.).
- π° News/Announcements module.
- π₯ Guild/Community system.
- π Advanced integration with Crystal/Canary (player status, worlds, etc.).
- π Dedicated Launcher & Client within the same MiForge ecosystem.
(The list above may change β see the Roadmap and issues for the most recent status.)
MiForge is a TypeScript-first monorepo organized into:
apps/apiβ MiForge API- Bun + Hono
- ORPC for typed contracts between front and back end
- Prisma as ORM
tsyringefor dependency injection (services, repositories, clients, etc.)
apps/webβ Portal frontend- React + Vite
- Tailwind CSS
- TanStack Router / TanStack Query
- Custom UI in the style of tibia.com
packages/*β Shared packages- Zod schemas, shared types, SDK/API client, reusable components, etc.
docker/β Supporting files for deploying the database/other services under developmentdocs/β Documentation materials and assets (including screenshots)
Supporting tools:
- PNPM for managing dependencies.
- Turborepo for orchestrating builds, lint, tests, etc.
- Husky + lint-staged + Biome for code standardization and commit hooks.
- Integration with Sonar for static analysis.
Example of the login/Account Management screen:
- Node.js / Bun installed
- PNPM installed (
corepack enable) - Docker + Docker Compose installed
# 1. Clone the repository
git clone https://github.com/mitgdev/mitg.forge.git
cd mitg.forge
# 2. Copy the environment file and adjust the variables
cp .env.example .env
# edit .env with your settings (DB, Redis, etc.)
# 3. Start the dependencies (database, etc.)
docker compose up -d
# or
# docker-compose up -d
# 4. Install the monorepo dependencies
pnpm installContributions are very welcome! π
- Fork the repository.
- Create a branch for your feature/fix:
git checkout -b my-feature
- Lint, build, and test your code locally:
- Open a Pull Request describing your changes.
Before contributing, please read:
- The contribution guide at CONTRIBUTING.md.
- The code of conduct at CODE_OF_CONDUCT.md.
- Security at SECURITY.md.
This project is distributed under the license described in LICENSE.
Tibia is a registered trademark and property of CipSoft GmbH. MiForge is a community project and is not affiliated with, endorsed by, or supported by CipSoft.

