Sobre o projeto

Luban é uma solução de configuração para jogos, projetada para atender às necessidades de fluxo de trabalho de configuração em projetos que vão de pequenos a grandes portes. O projeto é licenciado sob MIT e é voltado principalmente para designers de jogos e programadores, padronizando a definição, validação e geração de código/dados de configuração. Capacidades principais: - Formatos de origem: suporta a família Excel (csv, tsv, xls, xlsx, xlsm), json, xml, yaml, lua, entre outros. - Formatos de exportação: gera dados em binary, json, bson, xml, lua, yaml, etc. - Sistema de tipos: suporta estruturas comuns de listas de linhas e herança de tipos OOP, para expressar dados complexos de GamePlay, como árvores de comportamento, habilidades, narrativas e masmorras. - Geração de código: suporte integrado para C#, Java, Go, C++, Lua, Python, JavaScript, TypeScript, Rust, PHP, Erlang, Godot, entre outros; também é possível estender para outras linguagens via esquemas de mensagens como protobuf. - Esquemas de mensagens: suporta protobuf (schema + binary + json), flatbuffers (schema + json) e msgpack (binary). - Validação de dados: oferece verificação de referência (ref), verificação de caminho de recursos (path), verificação de faixa (range), etc. - Suporte a localização. - Motores e plataformas: suporta Unity, Unreal, Cocos2x, Godot, WeChat Mini Games, e roda em Windows, Linux e Mac. - Soluções de atualização hotfix: suporta hybridclr, ilruntime, {x,t,s}lua, puerts, etc. - O código gerado não chama interfaces de reflexão, sendo compatível com ferramentas de ofuscação e reforço como Obfuz, Obfuscator, Confuser e .Net Refactor. - O pipeline de geração é modular e plugável, facilitando desenvolvimento secundário e personalização. AI Native (desde 5.0.0): oferece Skills oficiais para Agentes de IA / IDEs, schema legível por máquina e relatórios de erro, CLI `Luban.Agent` (validação / consulta de tabelas / describe), servidor MCP `Luban.Mcp`, além de opções como `-c schema-json` e `--errorFormat json`. Os recursos de IA no repositório estão no diretório `ai/`. Desenvolvimento e testes: o repositório principal inclui testes de integração xUnit, sem depender de luban_examples externos; podem ser executados com `dotnet test src/Luban.Tests/Luban.Tests.csproj`. Os fixtures e saídas esperadas estão em `tests/fixtures/` e `tests/golden/`, podendo ser atualizados com `tests/scripts/update-goldens.ps1` ou `.sh`, ou definindo a variável de ambiente `LUBAN_UPDATE_GOLDEN=1` para atualização in-place. Documentação e exemplos: documentação oficial e guia de início rápido em datable.cn; projetos de exemplo no repositório luban_examples.