An interactive Linux terminal game built with Next.js and React. This project aims to create an educational and fun experience to learn Linux commands through a simulated terminal.
Linux Game is a project under active development that simulates a complete Linux terminal environment. Users can practice common Linux commands such as ls, cd, cat, grep, among others, in a safe and interactive environment.
The project is not yet complete, but you can already test the terminal and try out the available commands. Your help is very welcome!
Try the game online: https://linux-game.onrender.com
Note: Project links are centralized in
upstream.json. Update that file to change links across the project.
- Node.js 18+
- npm or yarn
- Clone the repository:
git clone <repository-url>
cd linux-game- Install dependencies:
npm install- Run the development server:
npm run dev- Configure prisma
cp .env.example .env # And configure dev database file
npx prisma generate # To generate client
npm run prisma:deploy # To apply prisma migrations- Open http://localhost:3000 in your browser
The project has full support for multiple languages. Currently available in:
- 🇺🇸 English
- 🇧🇷 Portuguese (Brazil)
Contributions with new translations are very welcome! To add a new language:
- Create a
{language-code}.jsonfile inapp/locales/(e.g.,es.jsonfor Spanish) - Copy the structure from an existing file and translate all values (
en.jsonare the default language to copy) - Add the new language in
app/locales/index.ts
The system will automatically detect the new language and it will appear in the language selector!
See AUTHORS.md for a list of contributors to this project.
Contributions are very welcome! This project is under active development and your help is valuable.
- Test the Terminal: Try out the available commands and report bugs or suggestions
- Send Feedback: Open an issue describing problems found or improvement ideas
- Translations: Help translate the project to other languages
- Code: Contribute with code following the project's best practices
- Create Challenges: Create new levels and challenges to help others learn Linux commands
- 🐛 Report bugs and issues
- 💡 Suggest new commands and features
- 🌍 Translations for new languages
- 📝 Documentation improvements
- 🎨 User interface improvements
- 🎮 Create new levels and challenges
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
Copyright (C) 2024 Linux Game Contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
- Next.js 16 - React framework
- React 19 - JavaScript library
- TypeScript - Static typing
- Tailwind CSS - Styling
- JSON - Simulated file system
Found a bug? Have a suggestion? Want to contribute?
- Open an Issue on GitHub
- Send a Pull Request with your improvements
Note: This project is under development. Features may change and bugs may occur. Your patience and contributions are greatly appreciated! 🙏
