A React-based fantasy adventure game creator and interaction system with AI-powered storytelling.
- Character Creation: Design detailed RPG characters with stats and backgrounds
- World Building: Create rich, immersive worlds with custom lore and settings
- Adventure Templates: Build reusable adventure scenarios
- Interactive Storytelling: AI-powered chat-based adventure gameplay
- Theme Support: Light, dark, and system theme options
- Local Storage: Persistent data storage for all your creations
This project follows an LLM-optimized architecture with clear separation of concerns:
src/
├── app/ # Application root and providers
├── features/ # Feature-based organization
│ ├── characters/ # Character management
│ ├── worlds/ # World building
│ ├── adventures/ # Adventure creation
│ ├── interaction/ # Interactive gameplay
│ └── landing/ # Landing page
├── shared/ # Shared utilities and types
├── ui/ # Reusable UI components
└── infrastructure/ # External services
- Node.js 18+
- npm or yarn
# Clone the repository
git clone <repository-url>
cd magic-worlds
# Install dependencies
npm install
# Start development server
npm run devnpm run build- React 19 - UI framework
- TypeScript - Type safety
- Vite - Build tool and dev server
- CSS Variables - Theming system
- React Icons - Icon library
- Features: Each major feature has its own folder with components, hooks, services, and types
- Shared: Common utilities, types, and hooks used across features
- UI: Reusable components and styling system
- Infrastructure: External services like storage and API clients
- Use TypeScript for all new code
- Follow React best practices and hooks patterns
- Keep components small and focused (< 200 lines)
- Use CSS variables for consistent theming
- Write self-documenting code with clear naming
- Create a new folder in
src/features/ - Add components, hooks, services, and types as needed
- Export from feature's
index.tsfile - Update routing in
AppRouter.tsx
- Fork the repository
- Create a feature branch
- Make your changes following the project structure
- Test your changes
- Submit a pull request
This project is licensed under the MIT License.