Contributing to IITC‐CE - IITC-CE/ingress-intel-total-conversion GitHub Wiki
Third-party patches are absolutely essential in IITC "Community Edition". However, they're not the only way to get involved with IITC development. You can help the project tremendously by discovering and reporting bugs; helping others on Reddit, Telegram IITC Group chat, and GitHub issues; and spreading the word about IITC-CE among your teammates and friends.
If you're not yet familiar with the way GitHub works (forking, pull requests, etc.), be sure to check out the awesome article about forking on the GitHub Help website — it will get you started quickly.
-
Create a personal fork of the project on GitHub.
-
Clone the fork on your local machine. Your remote repo on GitHub is called
origin
. -
Add the original repository as a remote called
upstream
. -
If you created your fork a while ago be sure to pull upstream changes into your local repository.
-
Create a new branch to work on! Branch from
master
.You should always write each batch of changes (feature, bugfix, etc.) in its own topic branch.
Please do not commit to the
master
branch, or your unrelated changes will go into the same pull request. -
Implement/fix your feature, comment your code.
-
Follow the code style of the project, including indentation.
-
Add or change the documentation as needed.
-
Squash some commits into a single commit if necessary.
-
Push your branch to your fork on GitHub, the remote
origin
. -
From your fork open a pull request in the correct branch. Target the project's
master
branch! -
If the maintainer requests further changes just push them to your branch. The PR will be updated automatically.
-
Once the pull request is approved and merged you can pull the changes from
upstream
to your local repo and delete your extra branch(es).
And last but not least: follow our commit messages style:
- Start message with some keyword describing it's scope ("IITC-Mobile: …", "draw-tools: …")
- Follow good practices, e.g. these seven rules.
- If it seems difficult to summarize what your commit does,
it may be because it includes several logical changes or bug fixes,
and are better split up into several commits using
git add -p
.
When contributing new plugins to IITC-CE, developers must provide an icon for their plugin:
- Icons should be in SVG format
- Icons are hosted in the website repository at
IITC-CE/website@master/static/extras/plugin-icons/
- You can either provide the icon design in your pull request description, or add it directly to the website repository
- Icons follow the naming pattern of your plugin and are referenced as:
https://iitc.app/extras/plugin-icons/{plugin-name}.svg
The system relies on this configuration line in the build settings:
'url_icon_base': 'https://iitc.app/extras/plugin-icons/{}.svg',
Please ensure your plugin includes the appropriate icon reference to maintain consistency across the project.
Everyone is invited to participate in the IITC-CE community and related projects: we want to create a welcoming and friendly environment. Harassment of participants or other unethical and unprofessional behavior will not be tolerated in our spaces. The Contributor Covenant applies to all projects under the IITC-CE organization.
IITC uses GitHub Actions to build and deploy. By default, you already have the ability to get IITC and IITC Mobile builds in your PRs (if you create a PR with a target as your fork or original repository) and publishing artifacts in your GitHub releases.
You can also set up publishing beta and release builds if you wish. To do this, first replace the encrypted keystore at mobile/keystore/android.jks with your own. Then open your repository fork » Settings » Secrets » Actions and specify the following values:
-
KEYSTORE_PASS
- secure password for your keystore. -
ALIAS_NAME
- identifying name for your key. -
ALIAS_PASS
- secure password for your key. -
WEBSITE_REPO
- full name of repository with your website (as your_name/repository_name) -
API_TOKEN_GITHUB
- used if you specified the website repository name. You can retrieve theAPI_TOKEN_GITHUB
here (set therepo
permissions). -
TG_BOT_TOKEN
- specify a Telegram bot token to send IITC Mobile (release and beta) builds to Telegram -
TG_CHAT_ID
- used if you specified TG_BOT_TOKEN. Unique identifier for target chat. How to get unique identifier from telegram api:curl https://api.telegram.org/bot<token>/getUpdates
Not only does your contribution to IITC and its community earn our gratitude, but it also makes you AWESOME.
Join this approved list of awesome people and help us push the limits of what's possible with community efforts!