Contributing
🐛 Issues and bugs
The easiest way to contribute is to report issues or bugs that you might find while using t-squared. You can do this by creating a new issue on our GitHub repository.
✏️ Adding or modifying content
If you would like to contribute content, please check out our guidebook for more specific details on how we work and develop. It is a regularly evolving document, so is at various states of completion.
To contribute to t-squared, you first need to install uv and justfile. We use uv and justfile to manage our project, such as to run checks and test the template. Both the uv and justfile websites have a more detailed guide on using uv, but below are some simple instructions to get you started.
It’s easiest to first install uv and then install justfile with uv. Once you’ve installed uv, install justfile by running:
uv tool install rust-justWe keep all our development workflows in the justfile, so you can explore it to see what commands are available. To see a list of commands available, run:
justAs you contribute, make sure your changes will pass our tests by opening a terminal so that the working directory is the root of this project (t-squared/) and running:
just run-allWhen testing the template, Copier can only use content kept in the Git history. Meaning that if you make changes to the template and try to test it, it won’t be able to test those changes. You have to commit the changes first in order for Copier to use them.
When committing changes, please try to follow Conventional Commits as Git messages. Using this convention allows us to be able to automatically create a release based on the commit message by using Commitizen. If you don’t use Conventional Commits when making a commit, we will revise the pull request title to follow that format, as we use squash merges when merging pull requests, so all other commits in the pull request will be squashed into one commit.
📁 Explanation of files and folders
This list describes the default files that are included in the template as well as explains a bit more about them and what they are used for.
.copier-answers.yml: Contains the answers you gave when copying the project from the template. You should not modify this file directly..github/: Contains GitHub-specific files, such as the workflow to build the website from the Markdown files._quarto.yml: Quarto configuration file for the website, including settings for the website, such as the theme, navigation, and other options..gitignore: This ignore file tells Git which files to not track. Unless you know what you are doing, it’s best to not touch this file..pre-commit-config.yaml: Pre-commit configuration file for managing and running checks before each commit..typos.toml: typos spell checker configuration file..zenodo.json: Structured citation metadata for your project when archived on Zenodo. This is used to add the metadata to Zenodo when a GitHub release has been uploaded to Zenodo.justfile:justconfiguration file for scripting project tasks..editorconfig: Editor configuration file for EditorConfig to maintain consistent coding styles across different editors and IDEs.CHANGELOG.md: Changelog file for tracking changes in the project.CONTRIBUTING.md: Guidelines for contributing to the project..github/: Contains GitHub-specific files, such as issue and pull request templates, workflows, dependabot configuration, pull request templates, and a CODEOWNERS file._metadata.yml: Quarto metadata file for the website, including information about the project, such as the titles and GitHub names._quarto.yml: Quarto configuration file for the website, including settings for the website, such as the theme, navigation, and other options..rumdl.toml: rumdl configuration file for formatting Markdown files in the project..cz.toml: Commitizen configuration file for managing versions and changelogs.