Thanks for taking the time to contribute to terminusdb-server!
Before submitting a change, please run make ; ./terminusdb test to make sure
that all tests pass. Failure should result in a big fail message, and
success with a final true. API tests will require that the admin
password is root or that the enviroment variable
TERMINUS_ADMIN_PASSWD is set prior to invocation of terminusdb.
Please send a GitHub Pull Request to the main branch.
Please write clear log messages with your commits. Small changes can be a one line message, but big changes should have a descriptive paragraph with a newline after the title in the message.
It should look something like this:
$ git commit -m "My change title
>
> This is a paragraph describing my change."
One of the easier ways to set up a development environment is by forking the git repository, cloning it and checking out the dev branch.
Docker is a prerequisite for setting it up this way, an alternative is following the instructions in BUILD.md.
- Make a fork on GitHub
- Clone the repository with
git clone git@github.com:[your_username]/terminusdb-server.git - Go to the directory
cd terminusdb-server. - Run
docker run -it --mount type=bind,source="$(pwd)",target=/app/terminusdb -p 6363:6363 --rm terminusdb/terminusdb-server:devinside the terminusdb-server directory. It will mount the current sources to the Docker container. - Run
make.inside the swipl console after you changed the code.
We have a house style for prolog, especially for conditionals. We will be releasing a prolog mode for Emacs soon that helps with the indentation. Until then, try to copy what you see.
No tabs please! 4 spaces for indentation. This is non-negotiable.