Issues can be opened for bugs, feature requests, missing documentation, etc. To create an issue, click here.
Before making code changes, make a fork of the ConsoleMe repository.
# Clone your fork, substituting your_username for your GitHub username then go into the repo root
git clone [email protected]:your_username/consoleme.git
cd consoleme
# Create a new branch for your changes
git checkout -b my-branch
Now you can make your changes and save them. Once you've made changes, added/updated tests, and are ready to upload:
# Replace file1 with a list of the files you'd like to commit
git add file1
git commit -m "A short description of your change"
git push -u origin my-branch
You can now create a Pull Request.
Once your PR is merged, it is recommended to do some cleanup:
git checkout master
git pull
git branch -d my-branch # This would delete the branch locally
git push origin --delete my-branch # This would delete the remote branch
Since your fork is a copy of the repository, you have to keep it in sync with our copy. You can do that by adding our copy as a remote, then pulling the changes from the master branch:
# From the consoleme repository root, check out your master branch
git checkout master
# Add a remote called upstream
git remote add upstream [email protected]:Netflix/consoleme.git
# Pull changes from upstream
git pull upstream master
# Push changes to your fork
git push origin master
Some of the key files/folders for you as a new developer on consoleme
:
consoleme/
- houses all our (Python/Tornado) API coderoutes.py
- all our API routes, and what code they're mapped tomodels.py
- Python classes for domain modeling__main__.py
- runs our tornado web servercelery_tasks/celery_tasks.py
- contains code for our scheduled, asynchronous taskshandlers/
- HTTP handlers that our routes are mapped toexceptions/exceptions.py
- various domain specific exception classes we've createdlib
- actual business logic goes here. is the bulk of our backend code.
ui/
- houses all our (React) UI codetests/
- tests for our python codeterraform/
- Terraform config if you choose to deploy consoleme using Terraformpacker/
- Packer config if you choose to deploy consoleme using a EC2 instancedocs/gitbook/
- our documentation site, written in markdown, built using gitbookconsoleme/default_plugins/
- examples of plugins used to extend and customize ConsoleMe.github/workflows
- our CI config (using GitHub Actions).run/
- configurations to run consoleme in JetBrains IDEs (i.e. PyCharm)