@@ -19,7 +19,7 @@ so is at various states of completion.
1919To contribute to `{{ github_repo }}`, you first need to install
2020[uv](https://docs.astral.sh/uv/) and
2121[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
22+ justfile to manage our package , such as to run checks and test the
2323template. Both the uv and justfile websites have a more detailed guide
2424on using uv, but below are some simple instructions to get you started.
2525
4040```
4141
4242As 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
43+ a terminal so that the working directory is the root of this package 's
4444repository and running:
4545
4646``` bash
@@ -53,7 +53,65 @@ as Git messages. Using this convention allows us to be able to
5353automatically create a release based on the commit message by using
5454[Cocogitto](https://decisions.seedcase-project.org/why-semantic-release-with-cocogitto/).
5555If 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://git-scm.com/docs/git-merge) when merging pull requests,
56+ revise the pull request title to follow that format, as we use squash
57+ merges when merging pull requests,
5858so all other commits in the pull request will be squashed into one
5959commit.
60+
61+ ## :file_folder: Explanation of files and folders
62+
63+
64+ - `.github/`: Contains GitHub-specific files, such as issue and pull
65+ request templates, workflows,
66+ [dependabot](https://docs.github.com/en/code-security/tutorials/secure-your-dependencies/dependabot-quickstart-guide)
67+ configuration, pull request templates, and a
68+ [CODEOWNERS](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)
69+ file.
70+ - `tools/vulture-allowlist.py`: List of variables that shouldn't be
71+ flagged by [Vulture](https://github.com/jendrikseipp/vulture) as
72+ unused.
73+ - `tools/get-contributors.sh`: Script to get list of package
74+ contributors.
75+ - `tests/`: Test files for the package.
76+ - `src/`: Source code for the package.
77+ - `docs/`: Documentation about using and developing the Python package.
78+ - `.config/`: Contains configuration files for various tools used in the package,
79+ such as:
80+ - `quartodoc.py`: Custom
81+ [`quartodoc`](https://machow.github.io/quartodoc/) renderer.
82+ - `mypy.ini`: [`mypy`](https://mypy.readthedocs.io/en/stable/)
83+ configuration file for type checking Python code.
84+ - `ruff.toml`: [Ruff](https://docs.astral.sh/ruff/) configuration file
85+ for linting and formatting Python code.
86+ - `rumdl.toml`: [rumdl](https://rumdl.dev/) configuration file for
87+ formatting Markdown files so that they are standardized and consistent
88+ {% - if for_seedcase %}
89+ - `cog.toml`: [Cocogitto](https://docs.cocogitto.io) configuration file
90+ for managing versions.
91+ - `cliff.toml`: [git-cliff](https://git-cliff.org) configuration file for
92+ creating the changelog.
93+ {% - endif %}
94+ - `.copier-answers.yml`: Contains the answers you gave when copying the
95+ package from the template.
96+ **You should not modify this file directly.**
97+ - `.pre-commit-config.yaml`: [Pre-commit](https://pre-commit.com/)
98+ configuration file for managing and running checks before each commit.
99+ - `.typos.toml`: [typos](https://github.com/crate-ci/typos) spell
100+ checker configuration file.
101+ - `justfile`: [`just`](https://just.systems/man/en/) configuration file
102+ for scripting package tasks.
103+ - `.editorconfig`: Editor configuration file for
104+ [EditorConfig](https://editorconfig.org/) to maintain consistent
105+ coding styles across different editors and IDEs.
106+ - `CHANGELOG.md`: Changelog file for tracking changes in the package.
107+ - `CITATION.cff`: Structured citation metadata for your package.
108+ - `CONTRIBUTING.md`: Guidelines for contributing to the package.
109+ - `_metadata.yml`: Quarto metadata file for the website, including
110+ information about the package, such as the titles and GitHub names.
111+ - `_quarto.yml`: Quarto configuration file for the website, including
112+ settings for the website, such as the theme, navigation, and other
113+ options.
114+ - `pyproject.toml`: Main Python package configuration file defining
115+ metadata and dependencies.
116+ - `uv.lock`: Lockfile used by [`uv`](https://docs.astral.sh/uv/) to
117+ record exact versions of installed dependencies.
0 commit comments