Skip to content

Commit e46fc0a

Browse files
authored
feat: 📝 add Conduct, Contributing, and filled out README (#131)
# Description This PR updates the README of the template and adds badges to the template. Closes #15 This PR needs an in-depth review. ## Checklist - [x] Added or updated tests - [x] Updated documentation - [x] Ran `just run-all`
1 parent 4a33f1e commit e46fc0a

File tree

9 files changed

+191
-7
lines changed

9 files changed

+191
-7
lines changed

template/CODE_OF_CONDUCT.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Contributor Code of Conduct
2+
3+
As contributors and maintainers of this project, we pledge to respect
4+
all people who contribute through reporting issues, posting suggestions,
5+
updating any material, submitting pull requests, and other activities.
6+
7+
We are committed to making participation in this project a
8+
harassment-free experience for everyone, regardless of level of
9+
experience, gender, gender identity and expression, sexual orientation,
10+
disability, personal appearance, body size, race, ethnicity, age, or
11+
religion.
12+
13+
Examples of unacceptable behavior by participants include the use of
14+
sexual language or imagery, derogatory comments or personal attacks,
15+
trolling, public or private harassment, insults, or other unprofessional
16+
conduct.
17+
18+
Project maintainers have the right and responsibility to remove, edit,
19+
or reject comments, commits, code, wiki edits, issues, and other
20+
contributions that are not aligned to this Code of Conduct. Project
21+
maintainers who do not follow the Code of Conduct may be removed from
22+
the project team.
23+
24+
Instances of abusive, harassing, or otherwise unacceptable behavior may
25+
be reported by opening an issue or contacting one or more of the project
26+
maintainers.
27+
28+
This Code of Conduct is adapted from the Contributor Covenant
29+
(https://contributor-covenant.org), version 1.0.0, available at
30+
https://contributor-covenant.org/version/1/0/0/

template/CONTRIBUTING.md.jinja

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Contributing
2+
3+
## Issues and bugs :bug:
4+
5+
The easiest way to contribute is to report issues or bugs that you might
6+
find while using `{{ github_repo }}`. You can do this by creating a
7+
[new](https://github.com/{{ github_repo_spec }}/issues/new/choose)
8+
issue on our GitHub repository.
9+
10+
## Adding or modifying content :pencil2:
11+
12+
{% if is_seedcase_project -%}
13+
If you would like to contribute content, please check out our
14+
[guidebook](https://guidebook.seedcase-project.org/) for more specific
15+
details on how we work and develop. It is a regularly evolving document,
16+
so is at various states of completion.
17+
{%- endif %}
18+
19+
To contribute to `{{ github_repo }}`, you first need to install
20+
[uv](https://docs.astral.sh/uv/) and
21+
[justfile](https://just.systems/man/en/packages.html). We use uv and
22+
justfile to manage our project, such as to run checks and test the
23+
template. Both the uv and justfile websites have a more detailed guide
24+
on using uv, but below are some simple instructions to get you started.
25+
26+
It's easiest to install uv and justfile using
27+
[pipx](https://pypa.github.io/pipx/), so install that first. Then,
28+
install uv and justfile by running:
29+
30+
``` bash
31+
pipx install uv rust-just
32+
```
33+
34+
We keep all our development workflows in the `justfile`, so you can
35+
explore it to see what commands are available. To see a list of commands
36+
available, run:
37+
38+
``` bash
39+
just
40+
```
41+
42+
As you contribute, make sure your changes will pass our tests by opening
43+
a terminal so that the working directory is the root of this project's
44+
repository and running:
45+
46+
``` bash
47+
just run-all
48+
```
49+
50+
When committing changes, please try to follow [Conventional
51+
Commits](https://decisions.seedcase-project.org/why-conventional-commits)
52+
as Git messages. Using this convention allows us to be able to
53+
automatically create a release based on the commit message by using
54+
[Commitizen](https://decisions.seedcase-project.org/why-semantic-release-with-commitizen).
55+
If you don't use Conventional Commits when making a commit, we will
56+
revise the pull request title to follow that format, as we use [squash
57+
merges](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/squashing-commits/about-squash-merges)
58+
when merging pull requests, so all other commits in the pull request
59+
will be squashed into one commit.

template/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
NOTE: Will be overwritten after running `just build-readme`.

template/README.md.jinja

Lines changed: 0 additions & 3 deletions
This file was deleted.

template/README.qmd

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
---
2+
format: gfm
3+
metadata-files:
4+
- _metadata.yml
5+
---
6+
7+
# {{< meta gh.repo >}}: TODO add more to title
8+
9+
{{< include /docs/includes/_badges.qmd >}}
10+
11+
<!-- TODO: Add description of project -->
12+
13+
::: callout-tip
14+
This Python package was generated from the
15+
[`template-python-package`](https://github.com/seedcase-project/template-python-package)
16+
Seedcase template :tada:
17+
:::
18+
19+
## Project files and folders
20+
21+
- `.github/`: Contains GitHub-specific files, such as issue and pull
22+
request templates, workflows,
23+
[dependabot](https://docs.github.com/en/code-security/getting-started/dependabot-quickstart-guide)
24+
configuration, pull request templates, and a
25+
[CODEOWNERS](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)
26+
file.
27+
- `tools/vulture-allowlist.py`: List of variables that shouldn't be flagged by [Vulture](https://github.com/jendrikseipp/vulture) as unused.
28+
- `tools/get-contributors.sh`: Script to get list of project contributors.
29+
- `tests/`: Test files for the package.
30+
- `src/`: Source code for the package.
31+
- `docs/`: Documentation about using and developing the Python package.
32+
- `_renderer.py`: Custom [`quartodoc`](https://machow.github.io/quartodoc/) renderer.
33+
- `pytest.ini`: Pytest configuration file.
34+
- `mypy.ini`: [`mypy`](https://mypy.readthedocs.io/en/stable/) configuration file for type checking Python code.
35+
- `.copier-answers.yml`: Contains the answers you gave when copying
36+
the project from the template. **You should not modify this file
37+
directly.**
38+
- `.cz.toml`:
39+
[Commitizen](https://commitizen-tools.github.io/commitizen/)
40+
configuration file for managing versions and changelogs.
41+
- `.pre-commit-config.yaml`: [Pre-commit](https://pre-commit.com/)
42+
configuration file for managing and running checks before each
43+
commit.
44+
- `.typos.toml`: [typos](https://github.com/crate-ci/typos) spell
45+
checker configuration file.
46+
- `justfile`: [`just`](https://just.systems/man/en/) configuration
47+
file for scripting project tasks.
48+
- `.editorconfig`: Editor configuration file for
49+
[EditorConfig](https://editorconfig.org/) to maintain consistent
50+
coding styles across different editors and IDEs.
51+
- `CHANGELOG.md`: Changelog file for tracking changes in the project.
52+
- `CITATION.cff`: Structured citation metadata for your project.
53+
- `CONTRIBUTING.md`: Guidelines for contributing to the project.
54+
- `_metadata.yml`: Quarto metadata file for the website, including
55+
information about the project, such as the titles and GitHub names.
56+
- `pyproject.toml`: Main Python project configuration file defining
57+
metadata and dependencies.
58+
- `_quarto.yml`: Quarto configuration file for the website, including
59+
settings for the website, such as the theme, navigation, and other
60+
options.
61+
- `ruff.toml`: [Ruff](https://docs.astral.sh/ruff/) configuration file
62+
for linting and formatting Python code.
63+
- `uv.lock`: Lockfile used by [`uv`](https://docs.astral.sh/uv/) to
64+
record exact versions of installed dependencies.
65+
66+
## Contributing
67+
68+
Check out our [contributing document](CONTRIBUTING.md) for information
69+
on how to contribute to the project, including how to set up your
70+
development environment.
71+
72+
Please note that this project is released with a [Contributor Code of
73+
Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree
74+
to abide by its terms.
75+
76+
## Licensing
77+
78+
This project is licensed under the [MIT License](LICENSE.md).
79+
80+
## Changelog
81+
82+
For a list of changes, see our [changelog](CHANGELOG.md) page.

template/README.qmd.jinja

Lines changed: 0 additions & 3 deletions
This file was deleted.

template/_metadata.yml.jinja

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
gh:
2+
repo: {{ github_repo }}
3+
org: {{ github_user }}

template/_quarto.yml.jinja

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ website:
3434
- icon: github
3535
href: "https://github.com/{{ package_github_repo }}"
3636
aria-label: "GitHub icon: Source code"
37-
{% if is_seedcase_project -%}
37+
{%- if is_seedcase_project %}
3838
- icon: house
3939
href: "https://seedcase-project.org"
4040
aria-label: "House icon: Main website for the Seedcase Project"

template/docs/includes/_badges.qmd

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<!-- TODO: Include DOI after uploading -->
2+
<!-- [![PyPI Version](https://img.shields.io/pypi/v/{{< meta gh.repo >}})](https://pypi.org/project/{{< meta gh.repo >}}/) -->
3+
[![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-teal.json?raw=true)](https://github.com/copier-org/copier)
4+
[![Supported Python Version from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https://raw.githubusercontent.com/{{< meta gh.org >}}/{{< meta gh.repo >}}/refs/heads/main/pyproject.toml)](https://github.com/{{< meta gh.org >}}/{{< meta gh.repo >}}/blob/main/pyproject.toml)
5+
[![GitHub License](https://img.shields.io/github/license/{{< meta gh.org >}}/{{< meta gh.repo >}}.svg)](https://github.com/{{< meta gh.org >}}/{{< meta gh.repo >}}/blob/main/LICENSE.md)
6+
[![GitHub Release](https://img.shields.io/github/v/release/{{< meta gh.org >}}/{{< meta gh.repo >}}.svg)](https://github.com/{{< meta gh.org >}}/{{< meta gh.repo >}}/releases/latest)
7+
[![Build documentation](https://github.com/{{< meta gh.org >}}/{{< meta gh.repo >}}/actions/workflows/build-website.yml/badge.svg)](https://github.com/{{< meta gh.org >}}/{{< meta gh.repo >}}/actions/workflows/build-website.yml)
8+
[![Build package](https://github.com/{{< meta gh.org >}}/{{< meta gh.repo >}}/actions/workflows/build-package.yml/badge.svg)](https://github.com/{{< meta gh.org >}}/{{< meta gh.repo >}}/actions/workflows/build-package.yml)
9+
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/{{< meta gh.org >}}/{{< meta gh.repo >}}/badge?raw=true)](https://scorecard.dev/viewer/?uri=github.com/{{< meta gh.org >}}/{{< meta gh.repo >}})
10+
[![CodeQL](https://github.com/{{< meta gh.org >}}/{{< meta gh.repo >}}/actions/workflows/github-code-scanning/codeql/badge.svg?branch=main)](https://github.com/{{< meta gh.org >}}/{{< meta gh.repo >}}/actions/workflows/github-code-scanning/codeql)
11+
[![code coverage](https://raw.githubusercontent.com/{{< meta gh.org >}}/{{< meta gh.repo >}}/coverage/coverage.svg?raw=true)](https://htmlpreview.github.io/?https://raw.githubusercontent.com/{{< meta gh.org >}}/{{< meta gh.repo >}}/coverage/index.html)
12+
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/{{< meta gh.org >}}/{{< meta gh.repo >}}/main.svg)](https://results.pre-commit.ci/latest/github/{{< meta gh.org >}}/{{< meta gh.repo >}}/main)
13+
[![lifecycle](https://lifecycle.r-lib.org/articles/figures/lifecycle-experimental.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)
14+
[![Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public.](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip)
15+
<!-- [![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) -->

0 commit comments

Comments
 (0)