Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions template/404.qmd.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ illustration of the number 404 surrounded by trees and mountains"}
## Illustration by [Storyset](https://storyset.com/online) {.appendix}

{%- else -%}
This page does not exist, go back to the [homepage](/index.qmd) or check
the URL for typos.
This page does not exist, go back to the [homepage](/index.qmd) or check the URL
for typos.
{%- endif %}
129 changes: 61 additions & 68 deletions template/CONTRIBUTING.md.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -2,113 +2,106 @@

## :bug: Issues and bugs

The easiest way to contribute is to report issues or bugs that you might
find while using `{{ github_repo }}`. You can do this by creating a
[new](https://github.com/{{ github_repo_spec }}/issues/new/choose)
The easiest way to contribute is to report issues or bugs that you might find
while using `{{ github_repo }}`. You can do this by creating a
[new](<https://github.com/{{> github_repo_spec }}/issues/new/choose)
issue on our GitHub repository.

## :pencil2: Adding or modifying content

{% if for_seedcase -%}
If you would like to contribute content, please check out our
[guidebook](https://guidebook.seedcase-project.org/) for more specific
details on how we work and develop. It is a regularly evolving document,
so is at various states of completion.
[guidebook](https://guidebook.seedcase-project.org/) for more specific details
on how we work and develop. It is a regularly evolving document, so is at
various states of completion.
{%- endif %}

To contribute to `{{ github_repo }}`, you first need to install
[uv](https://docs.astral.sh/uv/) and
[justfile](https://just.systems/man/en/packages.html). We use uv and
justfile to manage our package, 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.
[justfile](https://just.systems/man/en/packages.html). We use uv and justfile to
manage our package, 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 install uv and justfile using
[pipx](https://pipx.pypa.io/stable/), so install that first. Then,
install uv and justfile by running:
[pipx](https://pipx.pypa.io/stable/), so install that first. Then, install uv
and justfile by running:

``` bash
pipx install uv rust-just pyrefly
```

We 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:
We 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:

``` bash
just
```

As you contribute, make sure your changes will pass our tests by opening
a terminal so that the working directory is the root of this package's
repository and running:
As you contribute, make sure your changes will pass our tests by opening a
terminal so that the working directory is the root of this package's repository
and running:

``` bash
just run-all
```

When committing changes, please try to follow [Conventional
Commits](https://decisions.seedcase-project.org/why-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
When committing changes, please try to follow
[Conventional Commits](https://decisions.seedcase-project.org/why-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
[Cocogitto](https://decisions.seedcase-project.org/why-semantic-release-with-cocogitto/).
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.
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.

## :file_folder: Explanation of files and folders


- `.github/`: Contains GitHub-specific files, such as issue and pull
request templates, workflows,
- `.github/`: Contains GitHub-specific files, such as issue and pull request
templates, workflows,
[dependabot](https://docs.github.com/en/code-security/tutorials/secure-your-dependencies/dependabot-quickstart-guide)
configuration, pull request templates, and a
[CODEOWNERS](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)
file.
- `tools/vulture-allowlist.py`: List of variables that shouldn't be
flagged by [Vulture](https://github.com/jendrikseipp/vulture) as
unused.
- `tools/get-contributors.sh`: Script to get list of package
contributors.
- `tools/vulture-allowlist.py`: List of variables that shouldn't be flagged by
[Vulture](https://github.com/jendrikseipp/vulture) as unused.
- `tools/get-contributors.sh`: Script to get list of package contributors.
- `tests/`: Test files for the package.
- `src/`: Source code for the package.
- `docs/`: Documentation about using and developing the Python package.
- `.config/`: Contains configuration files for various tools used in the package,
such as:
- `quartodoc.py`: Custom
[`quartodoc`](https://machow.github.io/quartodoc/) renderer.
- `ruff.toml`: [Ruff](https://docs.astral.sh/ruff/) configuration file
for linting and formatting Python code.
- `rumdl.toml` and `panache.toml`: [rumdl](https://rumdl.dev) and
[Panache](https://panache.bz) configuration file for formatting Markdown
files in the project.
- `cog.toml`: [Cocogitto](https://docs.cocogitto.io) configuration file
for managing versions.
- `cliff.toml`: [git-cliff](https://git-cliff.org) configuration file for
creating the changelog.
- `.copier-answers.yml`: Contains the answers you gave when copying the
package from the template.
**You should not modify this file directly.**
- `.pre-commit-config.yaml`: [Pre-commit](https://pre-commit.com/)
configuration file for managing and running checks before each commit.
- `.typos.toml`: [typos](https://github.com/crate-ci/typos) spell
checker configuration file.
- `justfile`: [`just`](https://just.systems/man/en/) configuration file
for scripting package tasks.
- `.config/`: Contains configuration files for various tools used in the
package, such as:
- `quartodoc.py`: Custom [`quartodoc`](https://machow.github.io/quartodoc/)
renderer.
- `ruff.toml`: [Ruff](https://docs.astral.sh/ruff/) configuration file for
linting and formatting Python code.
- `rumdl.toml` and `panache.toml`: [rumdl](https://rumdl.dev) and
[Panache](https://panache.bz) configuration file for formatting Markdown
files in the project.
- `cog.toml`: [Cocogitto](https://docs.cocogitto.io) configuration file for
managing versions.
- `cliff.toml`: [git-cliff](https://git-cliff.org) configuration file for
creating the changelog.
- `.copier-answers.yml`: Contains the answers you gave when copying the package
from the template. **You should not modify this file directly.**
- `.pre-commit-config.yaml`: [Pre-commit](https://pre-commit.com/) configuration
file for managing and running checks before each commit.
- `.typos.toml`: [typos](https://github.com/crate-ci/typos) spell checker
configuration file.
- `justfile`: [`just`](https://just.systems/man/en/) configuration file for
scripting package tasks.
- `.editorconfig`: Editor configuration file for
[EditorConfig](https://editorconfig.org/) to maintain consistent
coding styles across different editors and IDEs.
[EditorConfig](https://editorconfig.org/) to maintain consistent coding styles
across different editors and IDEs.
- `CHANGELOG.md`: Changelog file for tracking changes in the package.
- `CITATION.cff`: Structured citation metadata for your package.
- `CONTRIBUTING.md`: Guidelines for contributing to the package.
- `_metadata.yml`: Quarto metadata file for the website, including
information about the package, 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.
- `pyproject.toml`: Main Python package configuration file defining
metadata and dependencies.
- `uv.lock`: Lockfile used by [`uv`](https://docs.astral.sh/uv/) to
record exact versions of installed dependencies.
- `_metadata.yml`: Quarto metadata file for the website, including information
about the package, 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.
- `pyproject.toml`: Main Python package configuration file defining metadata and
dependencies.
- `uv.lock`: Lockfile used by [`uv`](https://docs.astral.sh/uv/) to record exact
versions of installed dependencies.
30 changes: 14 additions & 16 deletions template/LICENSE.md.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,19 @@

Copyright (c) {{ copyright_year }} {{ github_repo }} authors

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Loading