diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index f64dfce4..d8b8b752 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -21,7 +21,7 @@ There is no related issue. -- [ ] I am following the [contributing guidelines](https://github.com/abelsiqueira/COPIERTemplate.jl/blob/main/docs/src/contributing.md) +- [ ] I am following the [contributing guidelines](https://github.com/abelsiqueira/COPIERTemplate.jl/blob/main/docs/src/90-contributing.md) - [ ] Tests are passing - [ ] Lint workflow is passing - [ ] Docs were updated and workflow is passing diff --git a/CHANGELOG.md b/CHANGELOG.md index f983f708..440e9521 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,8 @@ and this project adheres to [Semantic Versioning]. ### Changed - Update Cirrus CI image_family (#31) -- Prefix some doc files with a number and generate the pages programatically (#32) +- Prefix some doc files with a number and generate the pages programmatically (#32) +- Reestructure and improve the documentation (#77) ### Fixed @@ -162,11 +163,13 @@ and this project adheres to [Semantic Versioning]. - Initial release + [keep a changelog]: https://keepachangelog.com/en/1.0.0/ [semantic versioning]: https://semver.org/spec/v2.0.0.html + [unreleased]: https://github.com/abelsiqueira/COPIERTemplate.jl/compare/v0.2.5...HEAD [0.2.5]: https://github.com/abelsiqueira/COPIERTemplate.jl/compare/v0.2.5...HEAD [0.2.4]: https://github.com/abelsiqueira/COPIERTemplate.jl/releases/tag/v0.2.4 diff --git a/README.md b/README.md index 35115772..eb865534 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@

- + COPIERTemplate.jl

-# COPIERTemplate.jl - Copier OPInionated Evolving Reusable Template +# Copier OPInionated Evolving Reusable Template + +
- [![Stable Documentation](https://img.shields.io/badge/docs-stable-blue.svg)](https://abelsiqueira.github.io/COPIERTemplate.jl/stable) [![In development documentation](https://img.shields.io/badge/docs-dev-blue.svg)](https://abelsiqueira.github.io/COPIERTemplate.jl/dev) - [![Lint workflow Status](https://github.com/abelsiqueira/COPIERTemplate.jl/actions/workflows/Lint.yml/badge.svg?branch=main)](https://github.com/abelsiqueira/COPIERTemplate.jl/actions/workflows/Lint.yml?query=branch%3Amain) [![Build Status](https://github.com/abelsiqueira/COPIERTemplate.jl/workflows/Test/badge.svg)](https://github.com/abelsiqueira/COPIERTemplate.jl/actions) [![Test workflow status](https://github.com/abelsiqueira/COPIERTemplate.jl/actions/workflows/Test.yml/badge.svg?branch=main)](https://github.com/abelsiqueira/COPIERTemplate.jl/actions/workflows/Test.yml?query=branch%3Amain) @@ -17,10 +17,12 @@ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.8350577.svg)](https://doi.org/10.5281/zenodo.8350577) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md) +
+ This is - a [copier](https://copier.readthedocs.io) template/skeleton for Julia packages (see folder [template](template)); and -- a package created with the template that wraps `copier` in Julia using `PythonCall`. +- a package that wraps `copier` in Julia using `PythonCall`. The template @@ -28,141 +30,31 @@ The template - can be applied to existing packages (thanks to copier); - is automatically reapplied through Pull Requests made by the Copier.yml workflow. -[![asciicast](https://asciinema.org/a/611189.svg)](https://asciinema.org/a/611189) - -Additional wishlist - -- Use as template for other templates (Maybe just use forks?) - -**But why?** - -Because I have around 50 packages that follow similar configuration (but not equal), and I don't want to go through all of them manually every time I have a small change. - -**What about mass updates using the GitHub API?** - -I have done that in the past, but now I want even less manual intervention. -This will still require manual installation for the first time, and will still allow verifying the pull requests. - -## How to install - -> **Warning** -> -> It is unknown if the package works on Windows due to an issue with unsupported paths. -> See [Issue #21](https://github.com/abelsiqueira/COPIERTemplate.jl/pull/21). -> If it doesn't work, let us know, and use the alternative installation. - -1. Install this package, use the module and run `COPIERTemplate.generate(path)`. - - Alternatively, this can also be installed directly via [copier](https://copier.readthedocs.io), with the command - - ```bash - copier copy https://github.com/abelsiqueira/COPIERTemplate.jl YourPackage.jl - ``` - - Follow the instructions. In particular you will need a UUID. Your Linux might have `uuidgen` installed, but you can also use Julia: - - ```bash - using UUIDs - uuid4() - ``` - -1. The resulting folder will not be a `git` package yet (to avoid trust issues), so you need to handle that yourself. First, install [`pre-commit`](https://pre-commit.com), and then issue: - - ```bash - cd YourPackage.jl - git init - git add . - pre-commit run -a # Fix possible pre-commit issues - git add . - git commit -m "First commit" - pre-commit install # Future commits can't be directly to main unless you use -n - ``` - - It is common to have some pre-commit issues due to your package's name length triggering JuliaFormatter. - -1. Create a repo on GitHub and push it - - ```bash - git remote add origin https://github.com/UserName/PackageName.jl - ``` - -1. Create a `DOCUMENTER_KEY`, which will be used by for documentation purposes. - - ```bash - pkg> activate --temp - pkg> add DocumenterTools - julia> using DocumenterTools - julia> DocumenterTools.genkeys(user="UserName", repo="PackageName.jl") - ``` - - Follow the instruction in the terminal. - -1. Create a Personal Access Token to be used by the Copier workflow. - - 1. Go to . - 1. Create a token with "Content", "Pull-request", and "Workflows" permissions. - 1. Copy the Token. - 1. Go to your YOUR_PACKAGE_URL/settings/secrets/actions. - 1. Create a "New repository secret" named `COPIER_PAT`. - -1. Before releasing, enable Zenodo integration at . - -## What are all these files? - -Since there are so many files, an explanation is in order. - -### Basic package structure - -This structure should be self-informative, as it is part of what most people use, with a few exceptions mentioned below. - -- PackageName.jl/ - - docs/ - - src/ - - 90-contributing.md - - 90-developer.md - - index.md - - 90-reference.md - - make.jl - - Project.toml - - src/ - - PackageName.jl - - test/ - - Project.toml - - runtests.jl - - LICENSE.md - - Project.toml - - README.md - -The exceptions are: + +[![asciicast](docs/src/assets/demo.gif)](https://asciinema.org/a/611189) -- `test/Project.toml`: This is supported for a while, and it looks better. Time will tell if it was a bad idea. -- `docs/src/90-contributing.md`: Also known as CONTRIBUTING.md, it explains how contributors can get involved in the project. -- `docs/src/90-developer.md`: Also known as README.dev.md, it explains how to setup your local environment. +## Quickstart -### Linting and Formatting +Install this package, then: -The most important file related to linting and formatting is `.pre-commit-config.yaml`, which is the configuration for [pre-commit](https://pre-commit.com). -It defines a list of linters and formatters for Julia, Markdown, YAML, and JSON. +```julia-repl +julia> using COPIERTemplate +julia> COPIERTemplate.generate("YourPackage.jl") +``` -It requires installing `pre-commit` (I recommend installing it globally with `pipx`). -Installing pre-commit (`pre-commit install`) will make sure that it runs right the relevant hooks before commiting. -Additionally, if you run `pre-commit run -a`, it runs all hooks, which can be used for Linting. +Or, you can use [copier](https://copier.readthedocs.io) directly: -Some hooks in the `.pre-commit-config.yaml` file have configuration files of their own: -`.JuliaFormatter.toml`, `.markdownlint.json`, `.markdown-link-config.json`, and `.yamllint.yml`. +```bash +copier copy https://github.com/abelsiqueira/COPIERTemplate.jl YourPackage.jl +``` -Also slightly related, is the `.editorconfig` file, which tells your editor, if you install the coorect plugin, how to format some things. +If you like what you see, check the [full usage guide](@ref full_guide). -### GitHub Workflows +## Contributing -The select a few workflows, with a strong possibility of expanding in the future: +If you would like to get involved in the COPIERTemplate growth, please check our [contributing guide](docs/src/90-contributing.md). We welcome contributions of many types, including coding, reviewing, creating issues, creating tutorials, interacting with users, etc. Make sure to follow our [code of conduct](CODE_OF_CONDUCT.md). -- CompatHelper.yml: Should be well known by now. It checks that your Project.toml compat entries are up-to-date. -- Copier.yml: This will periodically check the template for updates. If there are updates, this action creates a pull request updating your repo. -- Docs.yml: Build the docs. Only runs when relevant files change. -- Lint.yml: Run the linter and formatter through the command `pre-commit run -a`. -- TagBot.yml: Create GitHub releases automatically after your new release is merged on the Registry. -- Test.yml: Run the tests. +If your interest is in developing the package, check the [development guide](docs/src/90-developer.md) as well. ## Users and Examples @@ -171,4 +63,3 @@ Feel free to create a pull request to add your repo. - This package itself uses the template. - [COPIERTemplateExample.jl](https://github.com/abelsiqueira/COPIERTemplateExample.jl) -- [JSOTemplate.jl](https://github.com/JuliaSmoothOptimizers/JSOTemplate.jl) diff --git a/docs/make.jl b/docs/make.jl index 68d93989..00045403 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -3,7 +3,7 @@ using Documenter DocMeta.setdocmeta!(COPIERTemplate, :DocTestSetup, :(using COPIERTemplate); recursive = true) -const page_rename = Dict("developer.md" => "Dev setup") +const page_rename = Dict("developer.md" => "Developer docs") function nice_name(file) file = replace(file, r"^[0-9]*-" => "") diff --git a/docs/src/10-full-guide.md b/docs/src/10-full-guide.md new file mode 100644 index 00000000..65a445bc --- /dev/null +++ b/docs/src/10-full-guide.md @@ -0,0 +1,102 @@ +# [Full guide](@id full_guide) + +Welcome to **full usage guide** of COPIERTemplate. + +## Before installing + +1. We highly recommend that you install [`pre-commit`](https://pre-commit.com). Our whole linting is based on that tool, so you might want to adopt it locally. +1. Decide if you are going to install `copier` or use our Julia interface. +1. If you use `copier` directly, find a UUID version 4 generator. + - On Linux and MacOS, you can run `uuidgen` + - On Julia, you can run `using UUIDs; uuid4()` + - Online, you can try [uuidgenerator.net](https://www.uuidgenerator.net/version4) + +## Installation + +To install with COPIERTemplate.jl, install the package, use it, and run `COPIERTemplate.generate(path)`. + +Alternatively, this can also be installed directly via [copier](https://copier.readthedocs.io), with the command + +```bash +copier copy https://github.com/abelsiqueira/COPIERTemplate.jl YourPackage.jl +``` + +Many questions will be asked. The explanation on them should be sufficient (if they aren't, please let us know). + +## Post-installation + +### Add to GitHub + +The resulting folder will not be a `git` package yet (to avoid trust issues), so you need to handle that yourself. +Here is a short example: + +```bash +cd YourPackage.jl +git init +git add . +pre-commit run -a # Try to fix possible pre-commit issues +git add . +git commit -m "First commit" +pre-commit install # Future commits can't be directly to main unless you use -n +``` + +It is common to have some pre-commit issues due to your package's name length triggering JuliaFormatter. + +Create a repo on GitHub and push your code to it. + +```bash +git remote add origin https://github.com/UserName/PackageName.jl +git push -u origin main +``` + +### Documentation + +Go to your package setting on GitHub and find the "Pages" link. +You should see an option to set the **Source** to "Deploy from a branch", and select the branch to be "gh-pages" and to deploy from the "/ (root)". + +After circa 1 minute, you can check that the documentation was built properly. +You will still need to set a `DOCUMENTER_KEY` to build the documentation from the tags automatically when using TagBot (which we do by default). +Do the following: + +```bash +pkg> activate --temp +pkg> add DocumenterTools +julia> using DocumenterTools +julia> DocumenterTools.genkeys(user="UserName", repo="PackageName.jl") +``` + +Follow the instruction in the terminal. + +### Add key for Copier.yml workflow (or delete it) + +You can reapply the template in the future. This is normally a manual job, specially because normally there are conflicts. +That being said, we are experimenting with having a workflow that automatically checks whether there are updates to the template and reapplies it. +A Pull Request is created with the result. + +!!! warning + This is optional, and in development, so you might want to delete the workflow instead. + +If you decide to use, here are the steps to set it up: + +1. Create a Personal Access Token to be used by the Copier workflow. +1. Go to . +1. Create a token with "Content", "Pull-request", and "Workflows" permissions. +1. Copy the Token. +1. Go to your `YOUR_PACKAGE_URL/settings/secrets/actions`. +1. Create a "New repository secret" named `COPIER_PAT`. + +### CITATION.cff and Zenodo deposition + +Update your `CITATION.cff` file with correct information. +You can use [cffinit](https://citation-file-format.github.io/cff-initializer-javascript/#/) to generate it easily. + +Before releasing, enable Zenodo integration at to automatically generate a deposition of your package, i.e., archive a version on Zenodo and generate a DOI. + +### Update README.md + +1. Update the badges +1. Add a description + +### Enable discussions + +Enable GitHub discussions. diff --git a/docs/src/20-explanation.md b/docs/src/20-explanation.md new file mode 100644 index 00000000..823fac78 --- /dev/null +++ b/docs/src/20-explanation.md @@ -0,0 +1,134 @@ +# [Explanation](@id explanation) + +In this section, we hope to explain the motivation for the package, and what is inside the template. +Some things might have been obvious when creating the package and not at the moment, so feel free to create issues to ask, or suggest, clarifications. + +## The engine, the project generator, and the template + +Let me start by marking some names clearer. + +- The **template** is the collection of files and folders written with some placeholders. For instance, the link to a GitHub project will be something like `https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl`. +- The **engine** is the tool that converts the template into the end result, by changing the placeholders into the actual values that we want. +- The **project generator** is the tool that interacts with the user to get the placeholder values and give to the engine. + +## Comparison with existing solutions + +Julia has a very good package generator called [PkgTemplates.jl](https://github.com/JuliaCI/PkgTemplates.jl), so why did we create another one? + +The short answer is that we want a more streamlined development experience, a template more focused on _best practices_, and the ability to keep reusing the template whenever new tools and ideas are implemented. + +In more details, first, see the differences in the parts of the project in the table below: + +| | COPIERTemplate.jl | PkgTemplates.jl | +| ----------------- | -------------------------------------------------------------------------- | --------------------------------------- | +| Template | Part of the package | Part of the package | +| Engine | [Jinja](https://palletsprojects.com/p/jinja) | [Mustache](https://mustache.github.io/) | +| Project generator | [copier](https://copier.readthedocs.io), with some wrappers in the package | Part of the package | + +Now, we can split this into three comparisons. + +### Template differences + +The template differences are mostly due to opinion and contributions and it should be easy to translate files from one template to the other. +We are heavily inspired by PkgTemplates.jl, as we used it for many years, but we made some changes in the hopes of improving _software sustainability_, _package maintainability_ and _code quality_ (which we just overtly simplify as best practices). +As such, our current differences (as of the time of writing) are: + +- We have more _best practices_ tools, such as pre-commit, configuration for linters and formatters for Julia, Markdown, TOML, YAML and JSON, CITATION.cff, Lint GitHub workflow, `.editorconfig` file, issues and pull requests templates, etc. +- We focus on the main use cases (GitHub and GitHub actions), so we have much less options. + +### Engine differences + +We can't say much about these, since we don't know or care in details. + +### Project generator differences + +PkgTemplates.jl is a project generator. This means that if you want to programmatically create templates inside Julia, this is the best solution. +The questions (user interface) are implemented by the package, which then translates that into the answers for the engine. +Disclaimer: We haven't worked on the package, this information is based on the docs. + +We use [copier](https://copier.readthedocs.io) as project generator. +It is an external Python tool, so we also include some wrappers in the package to use it from Julia without the need to explicitly install it. +Copier has many features, so we recommend that you check [their comparisons pages](https://copier.readthedocs.io/en/stable/comparisons/) for more information. + +Most notably, the feature that made us choose copier in the first place has the ability to **applied and reapplied to existing projects**. +This means that existing packages can benefit from all best practices that we provide. +Furthermore, they can keep reaping benefits when we create new versions of the template. + +## Template details + +Let's dive into the details of the template now. + +### Basic package structure + +This is the basic structure of a package: + +- PackageName.jl/ + - src/ + - PackageName.jl + - test/ + - Project.toml + - runtests.jl + - LICENSE.md + - Project.toml + - README.md + +With the exception of `test/Project.toml`, all other files are requirements to register a package. + +### Documentation + +On top of the basic structure, we add some Documenter.jl structure. + +- docs/ + - src/ + - 90-contributing.md + - 90-developer.md + - 90-reference.md + - index.md + - make.jl + - Project.toml + +Brief explanation of the details: + +- The `Project.toml`, `make.jl` and `src/index.md` are the basic structure. +- `docs/src/90-contributing.md`: Sometimes added as CONTRIBUTING.md, it explains how contributors can get involved in the project. +- `docs/src/90-developer.md`: Sometimes added as README.dev.md or DEVELOPER.md, it explains how to setup your local environment and other information relevant for developers only. +- `docs/src/90-reference.md` is the API reference page, which include an `@autodocs`. + +One noteworthy aspect of our `make.jl`, is that we include some code to automatically generate the list of pages. +Create a file in the form `##-name.md`, where `##` is a two-digit number, and it will be automatically added to the pages list. + +### Linting and Formatting + +The most important file related to linting and formatting is `.pre-commit-config.yaml`, which is the configuration for [pre-commit](https://pre-commit.com). +It defines a list of linters and formatters for Julia, Markdown, TOML, YAML, and JSON. + +It requires installing `pre-commit` (I recommend installing it globally with `pipx`). +Installing pre-commit (`pre-commit install`) will make sure that it runs the relevant hooks before committing. +Furthermore, if you run `pre-commit run -a`, it runs all hooks. + +Some hooks in the `.pre-commit-config.yaml` file have configuration files of their own: +`.JuliaFormatter.toml`, `.markdownlint.json`, `.markdown-link-config.json`, and `.yamllint.yml`. + +Also slightly related, is the `.editorconfig` file, which tells your editor, if you install the correct plugin, how to format some things. + +### GitHub Workflows + +We have a few workflows, with plans to expand in the future: + +- CompatHelper.yml: Should be well known by now. It checks that your Project.toml compat entries are up-to-date. +- Copier.yml: This will periodically check the template for updates. If there are updates, this action creates a pull request updating your repo. +- Docs.yml: Build the docs. Only runs when relevant files change. +- Lint.yml: Run the linter and formatter through the command `pre-commit run -a`. +- TagBot.yml: Create GitHub releases automatically after your new release is merged on the Registry. +- Test.yml: Run the tests. + +### Issues and PR templates + +We include issues and PR templates for GitHub (see `.github/`). +These provide a starting point to your project management. + +### Other files + +- .cirrus.yml: For [Cirrus CI](https://cirrus-ci.org), which we use solely for FreeBSD testing. +- CITATION.cff: Instead of the more classic `.bib`, we use `.cff`, which serves a better purpose of providing the metadata of the package. CFF files have been adopted by GitHub, so you can generate a BibTeX entry by clicking on "Cite this repository" on the repository's main page. CFF files have also been adopted by [Zenodo](https://zenodo.org) to provide the metadata of your deposition. +- CODE\_OF\_CONDUCT.md: A code of conduct file from [Contributor Covenant](https://www.contributor-covenant.org). diff --git a/docs/src/90-contributing.md b/docs/src/90-contributing.md index 34906a91..56d035d0 100644 --- a/docs/src/90-contributing.md +++ b/docs/src/90-contributing.md @@ -1,10 +1,10 @@ -# Contributing guidelines +# [Contributing guidelines](@id contributing) First of all, thanks for the interest! We welcome all kinds of contribution, including, but not limited to code, documentation, examples, configuration, issue creating, etc. -Be polite and respectful. +Be polite and respectful and follow the code of conduct. ## Bug reports and discussions diff --git a/docs/src/90-developer.md b/docs/src/90-developer.md index a0f743ba..27896f60 100644 --- a/docs/src/90-developer.md +++ b/docs/src/90-developer.md @@ -1,4 +1,4 @@ -# Developer documentation +# [Developer documentation](@id dev_docs) If you haven't, please read the [Contributing guidelines](90-contributing.md) first. diff --git a/docs/src/90-reference.md b/docs/src/90-reference.md index c8d59cb4..83ddcc97 100644 --- a/docs/src/90-reference.md +++ b/docs/src/90-reference.md @@ -1,4 +1,4 @@ -# Reference +# [Reference](@id reference) ## Contents diff --git a/docs/src/assets/demo.gif b/docs/src/assets/demo.gif new file mode 100644 index 00000000..fea3dcc3 Binary files /dev/null and b/docs/src/assets/demo.gif differ diff --git a/docs/src/assets/logo-wide.png b/docs/src/assets/logo-wide.png new file mode 100644 index 00000000..a99fcaf6 Binary files /dev/null and b/docs/src/assets/logo-wide.png differ diff --git a/docs/src/index.md b/docs/src/index.md index e8a005d2..79518ae8 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -2,6 +2,43 @@ CurrentModule = COPIERTemplate ``` -# COPIERTemplate +# COPIERTemplate - Copier OPInionated Evolving Reusable Template -Documentation for [COPIERTemplate](https://github.com/abelsiqueira/COPIERTemplate.jl). +![COPIERTemplate.jl](assets/logo-wide.png) + +Welcome to the documentation of COPIERTemplate.jl. This package provides a template in the [copier](https://copier.readthedocs.io) engine for a Julia package. Furthermore, it provides a wrapper around convenience calls to that package. + +The main features of this package/template are: + +- It provides a curated (opinionated) list of tools and best practices for Julia package development; +- It can be applied and reapplied to existing packages, allowing the updates in the template to be imported into the package; + +## Using + +To fully benefit from the template, there are some steps to be done **before** and **after** you generate your package. +Check the [full guide](@ref full_guide) for more details. + +However, if you kinda know what you need to do, this is the TL;DR: + +```julia-repl +julia> using COPIERTemplate +julia> COPIERTemplate.generate("YourPackage.jl") +``` + +Or, alternatively, using [copier](https://copier.readthedocs.io), run + +```bash +copier copy https://github.com/abelsiqueira/COPIERTemplate.jl YourPackage.jl +``` + +I really recommend checking the [full guide](@ref full_guide), though. + +To understand more about our motivation and what the template provides, check the [explanation page](@ref explanation). + +## Getting and providing help + +I hope you find this package useful. If you have any questions, requests, or comments, check the [issues](https://github.com/abelsiqueira/COPIERTemplate.jl/issues) and [discussion](https://github.com/abelsiqueira/COPIERTemplate.jl/discussions) pages. + +If you would like to get involved in the COPIERTemplate growth, please check our [contributing guide](90-contributing.md). We welcome contributions of many types, including coding, reviewing, creating issues, creating tutorials, interacting with users, etc. Make sure to follow our [code of conduct](https://github.com/abelsiqueira/COPIERTemplate.jl/blob/main/CODE_OF_CONDUCT.md). + +If your interest is in developing the package, check the [development guide](90-developer.md) as well. diff --git a/template/.github/ISSUE_TEMPLATE/10-bug-report.yml.jinja b/template/.github/ISSUE_TEMPLATE/10-bug-report.yml.jinja index 59622891..213f2001 100644 --- a/template/.github/ISSUE_TEMPLATE/10-bug-report.yml.jinja +++ b/template/.github/ISSUE_TEMPLATE/10-bug-report.yml.jinja @@ -59,7 +59,7 @@ body: options: - label: There is not an [existing issue](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/issues) with the same question required: true - - label: I have read the [contributing guide](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/blob/main/docs/src/contributing.md/) + - label: I have read the [contributing guide](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/blob/main/docs/src/90-contributing.md/) required: true - label: I agree with the [code of conduct](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/blob/main/CODE_OF_CONDUCT.md) required: true diff --git a/template/.github/ISSUE_TEMPLATE/20-feature-request.yml.jinja b/template/.github/ISSUE_TEMPLATE/20-feature-request.yml.jinja index 6c75e6e8..8a65dcd1 100644 --- a/template/.github/ISSUE_TEMPLATE/20-feature-request.yml.jinja +++ b/template/.github/ISSUE_TEMPLATE/20-feature-request.yml.jinja @@ -31,7 +31,7 @@ body: options: - label: There is not an [existing issue](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/issues) with the same question required: true - - label: I have read the [contributing guide](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/blob/main/docs/src/contributing.md/) + - label: I have read the [contributing guide](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/blob/main/docs/src/90-contributing.md/) required: true - label: I agree with the [code of conduct](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/blob/main/CODE_OF_CONDUCT.md) required: true diff --git a/template/.github/ISSUE_TEMPLATE/30-usage.yml.jinja b/template/.github/ISSUE_TEMPLATE/30-usage.yml.jinja index 2d5e5d4e..e7ec2108 100644 --- a/template/.github/ISSUE_TEMPLATE/30-usage.yml.jinja +++ b/template/.github/ISSUE_TEMPLATE/30-usage.yml.jinja @@ -19,7 +19,7 @@ body: required: true - label: There is not an [existing issue](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/issues) with the same question required: true - - label: I have read the [contributing guide](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/blob/main/docs/src/contributing.md/) + - label: I have read the [contributing guide](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/blob/main/docs/src/90-contributing.md/) required: true - label: I agree with the [code of conduct](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/blob/main/CODE_OF_CONDUCT.md) required: true diff --git a/template/.github/ISSUE_TEMPLATE/99-general.yml.jinja b/template/.github/ISSUE_TEMPLATE/99-general.yml.jinja index e116a20d..92765633 100644 --- a/template/.github/ISSUE_TEMPLATE/99-general.yml.jinja +++ b/template/.github/ISSUE_TEMPLATE/99-general.yml.jinja @@ -16,7 +16,7 @@ body: options: - label: There is not an [existing issue](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/issues) with the same question required: true - - label: I have read the [contributing guide](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/blob/main/docs/src/contributing.md/) + - label: I have read the [contributing guide](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/blob/main/docs/src/90-contributing.md/) required: true - label: I agree with the [code of conduct](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/blob/main/CODE_OF_CONDUCT.md) required: true diff --git a/template/.github/PULL_REQUEST_TEMPLATE.md.jinja b/template/.github/PULL_REQUEST_TEMPLATE.md.jinja index d9de7838..375efc5d 100644 --- a/template/.github/PULL_REQUEST_TEMPLATE.md.jinja +++ b/template/.github/PULL_REQUEST_TEMPLATE.md.jinja @@ -21,7 +21,7 @@ There is no related issue. -- [ ] I am following the [contributing guidelines](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/blob/main/docs/src/contributing.md) +- [ ] I am following the [contributing guidelines](https://github.com/{{ PackageOwner }}/{{ PackageName }}.jl/blob/main/docs/src/90-contributing.md) - [ ] Tests are passing - [ ] Lint workflow is passing - [ ] Docs were updated and workflow is passing