Basic development workflow
Standard install
In order to run Hermine in development mode, follow manual installation instructions in the installation guide.
Then, use the following commands to run the development server:
# inside poetry environment
python hermine/manage.py runserver
To run the tests, use the following command:
# inside poetry environment
cd hermine
python manage.py test
Working with DevContainer
You can also run Hermine inside a DevContainer.
It allows development inside a container, in a described and clean environment. You need to find how to integrate it to your IDE.
The PostCreate command will do the database migrations, you need to create your superuser and run the server. You also need to create your config file from default one.
cp hermine/hermine/config.default.py hermine/hermine/config.py
poetry run python hermine/manage.py createsuperuser
poetry run python hermine/manage.py runserver
Updating the changelog
The project keeps a CHANGELOG.md following the Keep a Changelog convention.
Every user-facing change should add a bullet under the ## [Unreleased] section at the top of CHANGELOG.md. Place the bullet under one of the six standard groups, creating it if it does not exist yet:
Added for new features.
Changed for changes in existing functionality.
Deprecated for soon-to-be removed features.
Removed for now removed features.
Fixed for any bug fixes.
Security in case of vulnerabilities.
On release, the ## [Unreleased] heading is renamed to ## [x.y.z] - YYYY-MM-DD, a fresh empty ## [Unreleased] section is added back on top, and the comparison links at the bottom of the file are updated so the new version resolves.