Welcome to the LuaInTheWeb developer documentation. This directory contains all the information you need to contribute to the project.
- Getting Started - Set up your development environment
- Architecture - System design and component overview
- Coding Standards - Component patterns, CSS modules, TypeScript
- Testing Guide - TDD practices and testing standards
- Contributing - How to contribute to the project
Before getting started, ensure you have:
- Node.js 18+ and npm 9+
- Git
- uv/uvx for Code-Index-MCP (required for Claude Code workflow)
See Getting Started for detailed setup instructions including MCP configuration.
LuaInTheWeb is a web-based Lua learning and practice platform that allows users to learn and execute Lua code directly in their browsers.
- Frontend: React 19 + TypeScript 5.9
- Build Tool: Vite 7
- Lua Runtime: wasmoon (WebAssembly-based Lua)
- Code Editor: CodeMirror
- Terminal: xterm.js
Branch Policy: Never commit directly to main. All changes go through branches and PRs.
- Check the roadmap for current plans
- Follow TDD practices (see Testing Guide)
- Run mutation tests to verify test quality
- Submit PR for review
lua-learning-website/
├── src/
│ ├── components/ # React components
│ ├── hooks/ # Custom React hooks
│ ├── utils/ # Utility functions
│ ├── types/ # TypeScript type definitions
│ └── __tests__/ # Test files
├── public/ # Static assets
└── package.json # Dependencies