First of all, thank you so much for taking your time to contribute! We always welcome your ideas and feedback. Please feel free to make any pull requests.
- File an issue in the issue tracker to report bugs and propose new features and improvements.
- Ask a question using the issue tracker.
- Contribute your work by sending a pull request.
The Promgen repository has a Makefile with various commands to make development easier.
You can see some of the commands by running make help
If you are using an external database, you will want to create a promgen
and test_promgen
database before running bootstrap or make migrate
and make test
will fail.
# If you need to install Python first, try using your system's package manager
# Examples
# yum install python3 python3-pip
# homebrew install python3
# If using OSX with Homebrew, you may need to export some flags
# to get mysql client to install
# export LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib"
make bootstrap
# If you want to enable DEBUG (and development mode)
echo 1 > ~/.config/promgen/DEBUG
# Amend bootstrapped configuration by hand: ~/.config/promgen/promgen.yml
# Setup or update database schemas, create initial user and shard
make migrate
# Run tests
make test
# Run development server
make run
For development and testing, it may be useful to make a symlink for running Promgen
# Example symlink
ln -s $PWD/.venv/bin/promgen ~/bin/promgen
By default promgen listens on port 8000
. Login with the user admin
and password admin
.
Remember to change the password!
Note: Promgen strives to be a standard Django application. Make sure to apply standard Django development patterns.
By default promgen
uses ~/.config/promgen
as its configuration directory.
This can be changed by setting the environment variable PROMGEN_CONFIG_DIR
to an alternative location whenever calling promgen ...
commands.
When you are sending a pull request and it's a non-trivial change beyond fixing typos, please sign the ICLA (individual contributor license agreement). Please contact us if you need the CCLA (corporate contributor license agreement).
We expect contributors to follow our code of conduct.