Thank you for considering contributing to Pudim Server! 🎉
- Check if the bug hasn't already been reported in issues
- If not found, create a new issue with:
- Clear and descriptive title
- Steps to reproduce the problem
- Expected behavior vs actual behavior
- Lua version and operating system
- Example code (if possible)
- Check the Roadmap to see if it's already planned
- Open an issue with the
feature requesttag - Describe:
- The problem the feature solves
- How you imagine the API/usage
- Code examples (if applicable)
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/PudimServerAPIs.git cd PudimServerAPIs - Create a branch for your feature/fix:
git checkout -b my-feature
- Make your changes
- Test your changes:
lua ./PS/mysandbox/test.lua
- Commit your changes:
git add . git commit -m "feat: feature description"
- Push to your fork:
git push origin my-feature
- Open a Pull Request to the
devbranch
- Indentation with 2 spaces
- Variable names in camelCase
- Class/module names in PascalCase
- Comments in Portuguese or English
We follow the Conventional Commits pattern:
| Type | Description |
|---|---|
feat |
New feature |
fix |
Bug fix |
docs |
Documentation changes |
refactor |
Code refactoring |
test |
Adding/modifying tests |
chore |
Other changes (build, configs, etc) |
Examples:
feat: add query string support
fix: fix header parsing with spaces
docs: update README with new examples
PudimServerAPIs/
├── PS/ # Main source code
│ ├── init.lua # Main module (PudimServer)
│ ├── http.lua # HTTP parser and responses
│ ├── utils.lua # Utilities and helpers
│ ├── ServerChecks.lua # Server validations
│ └── mysandbox/ # Tests and experiments
├── rockspecs/ # LuaRocks specs
├── README.md # Documentation in English
├── README_PT-BR.MD # Documentation in Portuguese
└── LICENSE # MIT License
- Lua >= 5.4
- LuaRocks
- LuaSocket
- lua-cjson
# Install dependencies
luarocks install luasocket --local
luarocks install lua-cjson --local
# Run tests
lua ./PS/mysandbox/test.luaFeel free to open an issue with the question tag or contact Davi.
Thank you for contributing! 🍮