A modern React-based web console for creating, editing, and managing game entities within the Fey Game Development Ecosystem.
Fey Console is a TypeScript/React application that provides intuitive interfaces for creating and editing game entity definitions. It supports 16 different entity types with specialized editors for Skills (advanced node-based interface) and generic form-based editors for all other entities.
- Multi-Entity Support: Handles 16 game entity types (weapons, characters, skills, equipment, audio, animations, etc.)
- Specialized Skill Editor: Advanced node-based editor with execution trees for complex skill definitions
- Generic Entity Editor: Clean form-based interface for all other entity types
- File Management: Local file system integration with File System Access API
- JSON Preview: Read-only JSON viewing with copy-to-clipboard functionality
- Type Safety: Full TypeScript implementation with strict type checking
- Comprehensive Testing: 1200+ tests with full coverage reporting
cd fey-console
npm install# Start development server
npm run dev
# Run tests
npm test
# Generate coverage report
npm run test:coverage# Build for production
npm run build
# Preview production build
npm run previewLanding Page → File Manager → Entity Selection → Appropriate Editor
- Entity-Specific Editors: Skills get advanced node-based editor, others get clean form interfaces
- File Manager: Handles local file operations and entity file management
- State Management: Zustand stores for predictable state updates
- Component Organization: Clear separation between specialized and generic editors
- React 18 with TypeScript for type safety
- Vite for fast build and development
- Ant Design for UI components
- ReactFlow for node-based skill editing
- Zustand for state management
- Monaco Editor for JSON editing
- Vitest with V8 coverage for testing
The console supports 16 game entity types:
- Combat: Weapons, Characters, Skills, Equipment
- Assets: Audio, Animation, Model, Image
- Systems: Status effects, Quality definitions, Stats, Requirements
- Utility: Drop tables, Cursor definitions, Affixes
All entity files must follow the pattern: <name>.<type>.json
- Examples:
sword.weapon.json,hero.character.json,fireball.skill.json
- Zero failing tests policy: All tests must pass before commits
- Comprehensive TypeScript checking with strict configuration
- ESLint + Prettier for code quality and formatting
- V8 coverage provider for accurate test coverage reporting
- Unit tests for all components and utilities
- Integration tests for multi-entity workflows
- Property-based testing for entity operations
- Snapshot testing for UI components
- Interactive test UI available via
npm run test:ui
# Code quality
npm run lint # Check code style
npm run lint:fix # Fix code style issues
npm run format # Format code with Prettier
# Testing
npm test # Run all tests
npm run test:coverage # Generate coverage report
npm run coverage:open # Open coverage report in browserFey Console is part of the larger Fey Game Development Ecosystem:
- Create/Edit: Use Fey Console to create and edit entity definitions
- Process: fey-data pipeline validates and generates C# code from JSON files
- Integrate: Generated files update fey-game-mock Unity project assets
- Follow the existing code conventions and component organization
- Maintain comprehensive test coverage for new features
- Use entity-specific editors appropriately (Skills → Advanced Editor, Others → Generic Editor)
- Run
npm testbefore committing to ensure all tests pass - Follow the established naming conventions for entity files
See LICENSE file for details.