===================== NFRs for Code Quality ===================== In order to have good code quality the following NFRs are required in all new code and are asked to be implemented in old code. Required -------- The following is required to be used in all code bases: - Lombok - A project to have cleaner Code - Intellij Code Analysis - All Intellij Code analysis' should be fixed - .gitignore - A git ignore should be present in all projects Projects with API ----------------- Any project that has an API should be made available to other plugins using our module system in KnockturnCore. Projects Using Json ------------------- The only json to file reader that should be used in Knockturn is Gson. Please do not use Jackson MultiLingual Support -------------------- All plugins should support having any words in more than one language. A language API is provided for this. Preferred (Not Required) ------------------------ For large plugins, we request that you use Dagger2 for dependency injection, but this is just preferred and not required.