Skip to content

Changes Submission Guide

Using GitKraken?

Each git step below can also be done in GitKraken. See their guides on pulling from upstream and opening pull requests.

  1. Before starting, open an issue to discuss your proposed change with our team. For general ideas and questions, use Discussions.

  2. Update your local main with the latest changes from jacksund/simmate:

    git checkout main
    git pull upstream main
    

  3. Create a branch for your changes:

    git checkout -b my-new-feature
    

  4. Open the repo in your IDE (e.g. Spyder or VS Code) and point it at the .venv interpreter.

  5. Make your changes.

  6. Lint and format your code. This runs ruff on python code (ruff check --fix and ruff format) and djlint on html templates (djlint --reformat):

    simmate dev lint
    

  7. Make sure the tests pass:

    simmate dev test
    

    Tip

    Some apps (inventory, project, and compute management) include fake data for testing and exploring the website. Load it into a fresh dev database with simmate database load-test-data (add an app name like inventory_management to load just one), or use the fake_data fixture in tests (e.g. fake_data("inventory_management")). Each app's data is stored as zipped CSVs at <app>/test/fake_data.zip and regenerated by <app>/test/make_fake_data.py. All apps share the same fake users (simmate.database.utils.FAKE_USERNAMES).

  8. Review your changes, then commit them and push your branch to your fork:

    git add -A
    git commit -m "describe your change"
    git push -u origin my-new-feature
    

  9. Open a pull request from your branch into jacksund/simmate on GitHub (or with gh pr create), and we'll review it! For fun, add an emoji to your pull request title to show you've read the guide.