This document contains information for those wanting to contribute to Citadel. Read on to find out how you can help!
There aren't many rules for creating issues at the moment. Feel free to create them as appropriate, and a team member will help you out.
This section outlines some helpful information for working with Citadel's codebase. This section is a work-in-progress (feel free to contribute!), though it should still be beneficial to get you going.
Citadel uses Poetry for dependency management, which will likewise be crucial to your work on the codebase. You don't need to know the ins and outs of Poetry, and most relevant information is discussed below.
See Poetry's documentation for installation instructions. After you're done with that, you can set up Citadel's development environment:
poetry install
After installing the project, you can run Citadel via the following command:
poetry run citadel
Citadel uses Ruff to format and check for issues in the codebase. This tool is automatically installed when you set up Poetry. To run the linters, run the following:
# Check the code for issues
poetry run ruff check
# Format the code according to Citadel's styling guidelines
poetry run ruff format
The pre-commit
tool is used to ensure quality commits are made in the codebase and is also automatically installed when you set up Poetry. It runs the above code linters and ensures commit messages follow the Conventional Commits specification. To set it up, run the following:
poetry run pre-commit install
poetry run pre-commit install --hook-type commit-msg
The pre-commit
tool will now check all changes automatically before committing them.