Official website of Tadukooverse
Firstly, thanks for taking the time to contribute!
The following is a set of guidelines for contributing to Tadukooverse and its projects, which are hosted in the Tadukooverse Organization on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
This project and everyone participating in it is governed by the Tadukooverse Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to tadukooverse@gmail.com.
Note: Please don’t file an issue to ask a question. You’ll get faster results by using the resources below.
We have an official website for Tadukooverse, which includes an FAQ page for frequently asked questions.
If chat is more your speed, you can join the Tadukooverse Discord server:
#general-questions
channel (in General Tadukooverse category) for general questions about TadukooverseOur vision is to create efficient free and open source software.
In terms of efficiency, we mean both via code efficiency (/speed) as well as memory efficiency, at least as best we can manage with a garbage collected language such as Java.
In terms of it being free and open source, we mean that anyone can do pretty much whatever they want with it (including producing proprietary software) and can make extensions or modifications based on their needs using the open source code.
Note: We have a Roadmap page that shows what we’re currently doing to work towards our vision.
Note: These projects are in early development, so the information here is subject to change without notice. Also note that these projects are not yet transferred to the Tadukooverse organization, but will be soon.
Tadukoo Util is meant as a collection of utility libraries for very common use. They can be used in conjunction with Tadukoo Engine/Launcher, or can be used separately in other programs if desired. This collection is not meant as a full smorgasbord of all libraries, but is just meant to include the most common libraries to be reused in most projects (e.g. common null-safe string/boolean checks, multimaps, view utilities, etc.)
Tadukoo Engine and Tadukoo Launcher go hand-in-hand. Tadukoo Engine is used as a base for programs made to run in the Tadukoo Launcher. By using the launcher/engine combo instead of having completely standalone programs, any libraries used by multiple programs only need to be stored once and loaded as needed. This saves memory on the host machine by not having a library duplicated within the actual program jars.
Tadukoo Launcher provides a list of programs that are installed or may be downloaded. Once a program is selected, the launcher will download it along with its required libraries. Then the libraries and program will be loaded into memory and launched.
Tadukoo Engine provides the proper interfaces that programs should use to allow the launcheer to connect to and load them. In addition, the engine and launcher come with standard libraries from Tadukoo Util by default so they don’t need to be downloaded separately later.
If you want to read about using the Tadukoo Engine/Launcher or developing programs for it, check out the Tadukoo Engine/Launcher Guide (Coming Soon).
This section guides you through submitting a bug report. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
Before creating bug reports, please check this list as you might find out that you don’t need to create one. When you are creating a bug report, please include as many details as possible. Fill out the required template, the information it asks for helps us resolve issues faster.
Note: If you find a Closed issue that seems like it is the same thing that you’re experiencing, open a new issue and include a link to the original issue in the body of your new one.
Bugs are tracked as GitHub issues. After you’ve determined which repository your bug is related to, create an issue on that repository and provide the following information by filling in [the template]((/.github/ISSUE_TEMPLATE/bug-report.md).
Explain the problem and include additional details to help maintainers reproduce the problem:
Provide more context by answering these questions:
This section guides you through submitting an enhancement suggestion, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion and find related suggestions.
Before creating enhancement suggestions, please check this list as you might find out that you don’t need to create one. When you are creating an enhancement suggestion, please include as many details as possible. Fill in the template, including the steps that you imagine you would take if the feature you’re requesting existed.
Enhancement suggestions are tracked as GitHub issues. After you’ve determined which repository your enhancement suggestion is related to, create an issue on that repository and provide the following information:
Unsure where to begin contributing to Tadukooverse? You can start by looking through the beginner and help-wanted issues:
When you start working on an issue, create a new branch off of the release it’s for, named <release branch name>-<issue name>
(e.g. v.0.2-Alpha-SNAPSHOT-Tadukoo-Look-&-Feel
).
For more information about how we use Git branches, check out the Git Branching Guide.
The process described here has several goals:
Please follow these steps to have your contribution considered by the maintainers:
If you use IntelliJ, you can import these Java Code Style settings
If you use Eclipse, you can import these Java Code Style settings.
try{
doSomething();
}catch(Exception e){ }
Classes, fields, and methods should all be Javadoc’d so that others can understand what’s going on.
For classes, we do something similar to the following:
/**
* Custom Cell Renderer used to just have a component draw itself (for use with custom components).
* This can be used as either a {@link ListCellRenderer} or as a {@link TableCellRenderer}.
*
* @author Logan Ferree (Tadukoo)
* @version 0.1-Alpha
* @since Pre-Alpha
*/
For fields, we use a single line for the Javadoc, like so:
/** The x position of the Image */
For a method, if you’re simply inheriting the documentation from the method you’re overriding, you can do this on a single line. Otherwise, it should be multiple lines, like the class Javadoc is (but no need for author, version, or since):
/** {@inheritDoc} */
The following lists the standard labels that typically exist in all repositories of Tadukooverse. If you notice some labels are missing in a particular repository, please open an issue on that repository.
The labels are grouped by purpose, but it’s not required that every issue use a label from every group, and an issue may also have multiple labels from the same group (e.g. Enhancement
and New Module
may be on the same issue).
Note: We’re currently setting up the contributing guidelines, so this list is likely to change.
Label name |
Tadukooverse ‑org
|
Description |
---|---|---|
Bug |
search | Confirmed bugs or reports that are very likely to be bugs |
Documentation |
search | Changes to be made to the documentation |
Enhancement |
search | Feature requests |
New Module |
search | Feature request which might be a good candidate for a new module, instead of extending existing modules |
Testing |
search | Changes to be made to test cases (e.g. to cover cases not currently covered) |
Label Name |
Tadukooverse -org
|
Description |
---|---|---|
Crash | search | Reports of the software completely crashing |
Performance | search | Related to performance |
Security | search | Related to security |
UI | search | Related to the visual design |
Label name |
Tadukooverse ‑org
|
Description |
---|---|---|
Epic |
search | A large multi-faceted issue - these would likely have a list of smaller issues contributing towards them |
Small Change |
search | Represents a minor change that can be completed quickly |
Label name |
Tadukooverse ‑org
|
Description |
---|---|---|
Beginner |
search | Less complex issues which would be good first issues to work on for users who want to contribute to Tadukooverse |
Blocked |
search | This item is blocked by another issue |
Duplicate |
search | Issues which are duplicates of other issues, i.e. they have been reported before |
Help Wanted |
search | The Tadukooverse team would appreciate help from the community in resolving these issues |
Invalid |
search | Issues which aren’t valid (e.g. user errors) |
More Info Needed |
search | More information needs collected for the bug/enhancement |
Needs Reproduction |
search | Bugs that haven’t been able to be reliably reproduced yet |
Wontfix |
search | The Tadukooverse team has decided not to fix these issues for now, either because they’re working as intended or for some other reason |
Wrong Repo |
search | Issues reported to the wrong repository |
Label Name |
Tadukooverse -org
|
Description |
---|---|---|
Android |
search | Related to running on Android |
iOS |
search | Related to running on iOS |
Linux |
search | Related to running on Linux |
Mac |
search | Related to running on Mac |
Windows |
search | Related to running on Windows |
Label Name |
Tadukooverse -org
|
Description |
---|---|---|
Needs Review |
search | Pull Requests that need to be reviewed |
Needs Testing |
search | Pull Requests that require manual testing |
Requires Changes |
search | Pull Requests that require changes based on review comments |
Under Review |
search | Pull Requests that are currently being reviewed |
WIP |
search | Pull Requests that are in progress |