An opinionated text game framework written in TypeScript.
Build immersive, interactive fiction with ease.
- 🔧 Scene-based structure for organized storytelling
- ⚡ Built with TypeScript for type safety and developer experience
- 🧱 Opinionated architecture to reduce boilerplate
- 🛠️ CLI to scaffold new games quickly
- 🧪 Built-in test support with Vitest
npx airaga new my-text-game
cd my-text-game
npm installEdit scenes inside the src/scene/ folder. Your entry point is src\start.arg.
npm run startComing soon: a CLI runner for launching games directly!
my-text-game/
├── public/ # Static assets
├── src/
│ ├── items/ # Game items and objects
│ ├── scene/ # Game scenes
│ └── start.arg # Entry scene
├── .gitignore
├── airaga.config.ts
├── package.json
└── README.mdCreated with ❤️ by Rafi Abiyyu Airlangga.
Inspired by classic text-based games and modern tooling. Thanks to all open-source contributors!