Release Readiness
Guidelines for indicating that a resource is stable and ready for release.
Code Quality
- No lint errors are present.
- All
print
statements are replaced withlib.print
. - ox_lib is used to replace natives where possible.
- Code uses best practices and follows the contribution guidelines.
- Code is readable and well organized.
- No deprecated functions are being invoked.
Database Practices
- Does not read directly from tables it does not own, and uses exports and functions from the owning resources to get the data instead.
- Has direct database calls to tables it does own in a designated storage layer of the resource (see
server/storage.lua
in qbx_core).
Config Practices
- Config is located inside of a config folder and is split between
client.lua
,shared.lua
,server.lua
, and optionally more. Each of these are a module (i.e. returns a table).
Core Practices
- Client PlayerData is accessed using playerdata module, instead of a qbx_core export.
- Lib module is used to replace duplicate code like DrawText.
Resource Quality
- Resource features provide a good experience for players/devs/owners/admins.
- Resource is scoped appropriately (i.e. it shouldn't be split, or combined with another resource).
- README is not outdated.
- No known bugs.
Stability
- No breaking changes are planned in the near future.
- Resource has been tested or unchanged for long enough to give confidence that major bugs are not present.
Dependencies
- Dependencies are declared and enforced using lib.checkDependency (opens in a new tab). fxmanifest dependencies should be used intentionally; understanding the behavior of restarting a resource.
- Dependencies are stable.
Release Automation & Documentation
- The first line of code executed by the server is lib.versionCheck (opens in a new tab).
- The resource has a
.github
folder with bug/suggestion templates, automated version updater & release script. - The resource has a README which contains marketing material about the resource and it's features. Note that this is not technical documentation.
- The resource's public API (events & exports) are documented on the technical docs (here).