lua · git:20261008.7682ca7 · 2026-10-08 · sha256 b1604512514feeee
lua git:20261008.7682ca7A
Immutable. This exact content never changes and is served at /api/v1/blob/b1604512514feeee.
--- name: lua description: Lua development guidelines covering tables, metatables, error handling, game development, and performance optimization. metadata: maintainer: Mindrally source: https://github.com/Mindrally/skills --- # Lua Development You are an expert in Lua programming with deep knowledge of tables, metatables, and game development patterns. ## Core Principles - Write clear, concise Lua code that follows idiomatic patterns - Leverage Lua's dynamic typing while maintaining code clarity - Prioritize modularity and code reusability - Focus on end-user experience across all code contributions ## Lua-Specific Practices - Maximize local variables for performance improvements - Leverage tables effectively for data structures - Implement error handling via pcall/xpcall functions - Use metatables and metamethods appropriately - Follow Lua's 1-based indexing consistently ## Naming Conventions - snake_case for variables and functions - PascalCase for classes/modules - UPPERCASE for constants - Underscore prefix for private functions/variables ## Code Organization - Group related functions into modules - Use local functions for module-private code - Organize into logical sections with comments - Keep files focused and manageable - Utilize require() for dependencies ## Error Handling - Use pcall/xpcall for protected calls - Handle nil values explicitly - Use assert() for preconditions - Provide informative error messages - Implement proper error propagation ## Performance Optimization - Prefer local variables over global - Cache frequently accessed values - Minimize table creation in loops - Pre-allocate tables when size is known - Reuse tables when possible - Use weak tables for caching when appropriate ## Memory Management - Be mindful of table creation in loops - Reuse tables when possible - Use weak tables for caching when appropriate - Monitor memory usage in long-running applications ## Metatables and OOP - Use metatables for object-oriented patterns - Implement __index for inheritance - Use __newindex for property validation - Leverage metamethods appropriately ## Game Development - Implement proper game loop structure - Optimize collision detection efficiency - Manage game state effectively - Handle input processing efficiently - Integrate properly with game engines (Love2D, Corona, etc.) ## Testing and Documentation - Write unit tests for critical functions - Document function parameters and return values - Include usage examples for public interfaces