diff --git a/.github/ISSUE_TEMPLATE/01-bug-report.yml b/.github/ISSUE_TEMPLATE/01-bug-report.yml new file mode 100644 index 0000000..5edbfdf --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01-bug-report.yml @@ -0,0 +1,70 @@ +# 01-bug_report.yml for github-docs-cookiecutter +# +# Copyright (c) 2026, Jared Cook +# SPDX-License-Identifier: GPL-3.0-or-later +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +--- +name: 🐞 Bug Report +description: File a bug report for this template. +title: "[Bug]: " +labels: ["bug"] +assignees: + - jcook3701 +body: + - type: markdown + attributes: + value: | + Thanks for reporting a bug! Please provide as much detail as possible to help us fix it. + - type: textarea + id: what-happened + attributes: + label: What happened? + description: What did you expect to happen vs what actually happened? + placeholder: Describe the error here... + validations: + required: true + - type: dropdown + id: os + attributes: + label: Operating System + description: What OS are you running cookiecutter on? + options: + - Windows + - macOS + - Linux + validations: + required: true + - type: input + id: cc-version + attributes: + label: Cookiecutter Version + description: Run 'cookiecutter --version' and paste the output. + placeholder: e.g. 2.6.0 + validations: + required: false + - type: textarea + id: logs + attributes: + label: Relevant log output or Error Message + description: Please copy and paste the traceback or error message here. + render: shell + - type: checkboxes + id: terms + attributes: + label: Acknowledgement + options: + - label: I have checked the existing issues for similar reports. + required: true diff --git a/.github/ISSUE_TEMPLATE/02-feature-request.yml b/.github/ISSUE_TEMPLATE/02-feature-request.yml new file mode 100644 index 0000000..f588cfd --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02-feature-request.yml @@ -0,0 +1,62 @@ +# 02-feature-request.yml for github-docs-cookiecutter +# +# Copyright (c) 2026, Jared Cook +# SPDX-License-Identifier: GPL-3.0-or-later +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +--- +name: 💡 Feature Request +description: Suggest an idea for this cookiecutter template. +title: "[Feature]: " +labels: ["enhancement"] +assignees: + - jcook3701 +body: + - type: markdown + attributes: + value: | + Got a great idea for this template? We'd love to hear it! + - type: textarea + id: problem + attributes: + label: Is your feature request related to a problem? + description: A clear and concise description of what the problem is. + placeholder: "Ex. I'm always frustrated when [...]" + validations: + required: true + - type: textarea + id: solution + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + placeholder: "Ex. It would be great if the template automatically [...]" + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + - type: textarea + id: context + attributes: + label: Additional context + description: Add any other context or screenshots about the feature request here. + - type: checkboxes + id: contribution + attributes: + label: Contribution + options: + - label: I would be willing to submit a pull request to implement this feature myself! diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..3db8135 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,27 @@ +# ISSUE_TEMPLATE/config.yml.yml for github-docs-cookiecutter +# +# Copyright (c) 2026, Jared Cook +# SPDX-License-Identifier: GPL-3.0-or-later +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +--- +blank_issues_enabled: false +contact_links: + - name: GitHub Community Support + url: https://github.com/orgs/community/discussions + about: Please ask and answer questions here. + - name: GitHub Security Bug Bounty + url: https://bounty.github.com/ + about: Please report security vulnerabilities here. diff --git a/.github/ISSUE_TEMPLATE/z-developer-issue.yml b/.github/ISSUE_TEMPLATE/z-developer-issue.yml new file mode 100644 index 0000000..124b612 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/z-developer-issue.yml @@ -0,0 +1,34 @@ +# z-developer-issue.yml for github-docs-cookiecutter +# +# Copyright (c) 2026, Jared Cook +# SPDX-License-Identifier: GPL-3.0-or-later +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +--- +name: "🛠️ Developer / General Issue" +description: "Blank template for contributors and maintainers (no form)." +title: "[Dev]: " +labels: ["internal"] +assignees: + - jcook3701 +body: + - type: textarea + id: content + attributes: + label: Issue Content + description: "Free-form text area for developer tasks, refactoring, or general notes." + placeholder: "Describe the task or internal update..." + validations: + required: true diff --git a/.github/workflows/dependency-check.yml b/.github/workflows/dependency-check.yml index 5736e6d..ed0d2a4 100644 --- a/.github/workflows/dependency-check.yml +++ b/.github/workflows/dependency-check.yml @@ -1,6 +1,6 @@ # dependency-check.yml for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify diff --git a/.github/workflows/format-check.yml b/.github/workflows/format-check.yml index cbb746b..e947f81 100644 --- a/.github/workflows/format-check.yml +++ b/.github/workflows/format-check.yml @@ -1,6 +1,6 @@ # black-format.yml for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml index 7f91fb7..f31af72 100644 --- a/.github/workflows/jekyll-gh-pages.yml +++ b/.github/workflows/jekyll-gh-pages.yml @@ -1,6 +1,6 @@ # jekyll-gh-pages.yml for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify diff --git a/.github/workflows/lint-check.yml b/.github/workflows/lint-check.yml index 065bfc7..fd1b865 100644 --- a/.github/workflows/lint-check.yml +++ b/.github/workflows/lint-check.yml @@ -1,6 +1,6 @@ # lint-check.yml for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify diff --git a/.github/workflows/security-audit.yml b/.github/workflows/security-audit.yml index 957b6c2..6254820 100644 --- a/.github/workflows/security-audit.yml +++ b/.github/workflows/security-audit.yml @@ -1,6 +1,6 @@ # security-audit.yml for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify diff --git a/.github/workflows/spellcheck.yml b/.github/workflows/spellcheck.yml index 5345f16..cb5e6da 100644 --- a/.github/workflows/spellcheck.yml +++ b/.github/workflows/spellcheck.yml @@ -1,6 +1,6 @@ # spellcheck.yml for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 631b93a..9a03753 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,6 +1,6 @@ # tests.yml for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify diff --git a/.github/workflows/typecheck.yml b/.github/workflows/typecheck.yml index f0f8865..e9b7e8a 100644 --- a/.github/workflows/typecheck.yml +++ b/.github/workflows/typecheck.yml @@ -1,6 +1,6 @@ # typecheck.yml for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify diff --git a/.gitignore b/.gitignore index e8ed492..74552a5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ # .gitignore for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify diff --git a/.markdownlint.yaml b/.markdownlint.yaml new file mode 100644 index 0000000..9490b93 --- /dev/null +++ b/.markdownlint.yaml @@ -0,0 +1,56 @@ +# .markdownlint.yaml for github-docs-cookiecutter +# +# Copyright (c) 2026, Jared Cook +# SPDX-License-Identifier: GPL-3.0-or-later +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +--- +# Enable all built-in rules by default +default: true + +# MD007/ul-indent: Set unordered list indentation to 2 spaces +MD007: + indent: 2 + +# MD013/line-length: Disable or adjust long line warnings +# Many developers disable this to allow long URLs or technical prose +MD013: false + +# MD022/blanks-around-headings: Headings should be surrounded by blank lines +# Disabling this allows headings to be immediately preceded or followed by text +MD022: false + +# MD024/no-duplicate-heading: Allow duplicate headings if they are not siblings +MD024: + siblings_only: true + +# MD029/ol-prefix: Use 1. 2. 3. for ordered lists (default is "one" i.e., 1. 1. 1.) +MD029: + style: "ordered" + +# MD032/blanks-around-lists: Lists should be surrounded by blank lines +# Setting this to false ignores the rule entirely +MD032: false + +# MD033/no-inline-html: Allow specific HTML tags if needed +MD033: + allowed_elements: ["br", "details", "summary"] + +# MD041/first-line-h1: Ensure the file starts with a top-level heading +MD041: true + +# MD046/code-block-style: Enforce fenced code blocks (```) +MD046: + style: "fenced" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 80b5ed7..655c5b3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ # pre-commit-config.yaml for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify diff --git a/.yamllint b/.yamllint index 60b4936..af1f4d3 100644 --- a/.yamllint +++ b/.yamllint @@ -1,6 +1,6 @@ # .yamllint for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify diff --git a/Makefile b/Makefile index 119fa48..d6e6f74 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # Makefile for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify @@ -21,7 +21,6 @@ # -------------------------------------------------- SHELL := /bin/bash .SHELLFLAGS := -O globstar -c - # If V is set to '1' or 'y' on the command line, # AT will be empty (verbose). Otherwise, AT will # contain '@' (quiet by default). The '?' is a @@ -33,7 +32,6 @@ ifeq ($(V),0) else AT = endif - # Detect if we are running inside GitHub Actions CI. # GitHub sets the environment variable GITHUB_ACTIONS=true in workflows. # We set CI=1 if running in GitHub Actions, otherwise CI=0 for local runs. @@ -42,7 +40,6 @@ CI := 1 else CI := 0 endif - # Detect if we are running inside Cookiecutter (pre/post) hooks. # Cookiecutter hooks are used to set the environment variable COOKIECUTTER_HOOKS=true. # We set CC=1 if running in Cookiecutter hooks, otherwise CC=0 for standard runs. @@ -110,7 +107,7 @@ CHANGELOG_RELEASE_FILE := $(CHANGELOG_RELEASE_DIR)/$(RELEASE).md # -------------------------------------------------- # 🍪 Template Directories (cookiecutter) # -------------------------------------------------- -COOKIE_DIR := $(PROJECT_ROOT)/{{ cookiecutter.project_slug }} +COOKIE_DIR := {{ cookiecutter.project_slug }} COOKIE_MACRO_DIR := $(COOKIE_DIR)/.cookiecutter_includes RENDERED_COOKIE_DIR := /tmp/rendered RENDERED_VENV_DIR := $(RENDERED_COOKIE_DIR)/**/.venv @@ -219,6 +216,7 @@ define get_files_by_extension ! -path "$(RENDERED_VENV_DIR)/*" \ ! -path "*{{*" \ ! -path "*}}*" \ + ! -name "__init__.j2" \ -print0 endef @@ -293,7 +291,10 @@ pre-commit-init: # -------------------------------------------------- project-upgrade: $(AT)echo "🍪 Upgrading project from initial cookiecutter template..." - $(AT)$(PROJECT_UPGRADE) --context-file ./docs/cookiecutter_input.json --upgrade-branch main -e cookiecutter.json + $(AT)$(PROJECT_UPGRADE) --context-file ./docs/cookiecutter_input.json \ + --upgrade-branch main \ + -e "cookiecutter.json" \ + -e "$(COOKIE_DIR)" $(AT)echo "✅ Finished project upgrade!" # -------------------------------------------------- # 🛡️ Security (pip-audit) @@ -352,6 +353,7 @@ ruff-lint-check: $(AT)$(MAKE) list-folders $(AT)$(RUFF) check --config pyproject.toml $(SRC_DIR) $(TESTS_DIR) \ --force-exclude '$(COOKIE_DIR)/pyproject.toml' + $(AT)echo "✅ Finished linting check of Python code with Ruff!" ruff-lint-fix: $(AT)echo "🎨 Running ruff lint fixes..." diff --git a/changelogs/CHANGELOG.md b/changelogs/CHANGELOG.md index cb04458..2f74639 100644 --- a/changelogs/CHANGELOG.md +++ b/changelogs/CHANGELOG.md @@ -31,6 +31,20 @@ - Merge pull request #19 from jcook3701/develop Feat 004 (#18) +- Merge pull request #20 from jcook3701/feat-005 + +Feat (005) +- Merge pull request #21 from jcook3701/develop + +Develop + +### 🐛 Fixed + +- *(template)* Updates to template cookiecutter.json file. + +### 🚀 Added + +- *(docs)* Preparing project for Contributor License Agreements and getting major project documentation ready. ## [0.1.0] - 2025-12-05 ### ⚙️ Miscellaneous diff --git a/changelogs/releases/v0.1.1.md b/changelogs/releases/v0.1.1.md index f39514c..f66a394 100644 --- a/changelogs/releases/v0.1.1.md +++ b/changelogs/releases/v0.1.1.md @@ -2,7 +2,7 @@ # Changelog: # -------------------------------------------------- -## [0.1.1] - 2026-01-06 +## [0.1.1] - 2026-01-15 ### ⚙️ Miscellaneous @@ -31,3 +31,17 @@ - Merge pull request #19 from jcook3701/develop Feat 004 (#18) +- Merge pull request #20 from jcook3701/feat-005 + +Feat (005) +- Merge pull request #21 from jcook3701/develop + +Develop + +### 🐛 Fixed + +- *(template)* Updates to template cookiecutter.json file. + +### 🚀 Added + +- *(docs)* Preparing project for Contributor License Agreements and getting major project documentation ready. diff --git a/cliff.toml b/cliff.toml index f842077..5f942e9 100644 --- a/cliff.toml +++ b/cliff.toml @@ -1,6 +1,6 @@ # cliff.toml for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify diff --git a/cookiecutter.json b/cookiecutter.json index 738e0a9..19390ad 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -14,6 +14,14 @@ "linkedin_usercode": "jared-cook-b3585a114", "twitter_username": "", "buymeacoffee_username": "jcook3701", + "template_type": [ + "ansible", + "c/c++", + "cookiecutter", + "python", + "ros2", + "typescript" + ], "_is_sub_template": true, "_copy_without_render": [ "README.md", diff --git a/docs/jekyll/Makefile b/docs/jekyll/Makefile index b85a075..a0a9954 100644 --- a/docs/jekyll/Makefile +++ b/docs/jekyll/Makefile @@ -36,7 +36,7 @@ endef # -------------------------------------------------- PACKAGE_NAME = "github-docs-cookiecutter" AUTHOR = "Jared Cook" -VERSION = "0.1.0" +VERSION = "0.1.1" PUBLISHDIR ?= # -------------------------------------------------- # 📘 Documentation (Sphinx + Jekyll) diff --git a/docs/jekyll/docs/cookiecutter_input.json b/docs/jekyll/docs/cookiecutter_input.json index 369aa54..46fe3e1 100644 --- a/docs/jekyll/docs/cookiecutter_input.json +++ b/docs/jekyll/docs/cookiecutter_input.json @@ -4,6 +4,11 @@ "README.md", "_includes/*" ], + "_extensions": [ + "jinja2.ext.do", + "jinja2.ext.loopcontrols" + ], + "_is_sub_template": true, "_jinja2_env_vars": { "lstrip_blocks": true, "trim_blocks": true @@ -22,5 +27,5 @@ "project_slug": "github-docs-cookiecutter", "theme": "pmarsceill/just-the-docs", "twitter_username": "", - "version": "0.1.0" + "version": "0.1.1" } diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index e92b1ab..2931845 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -1,6 +1,6 @@ # post_gen_project.py for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify @@ -17,7 +17,6 @@ # along with this program. If not, see . # - import json import os @@ -34,6 +33,8 @@ def main() -> None: if os.getenv("CI"): print("⚙️ Detected CI environment — skipping GitHub Docs generation.") return + os.environ["COOKIECUTTER_HOOKS"] = "true" + # Access cookiecutter context safely context = json.loads("""{{ cookiecutter | jsonify }}""") generate_docs_templates(context) diff --git a/hooks/pre_gen_project.py b/hooks/pre_gen_project.py index c9aa02c..e745566 100644 --- a/hooks/pre_gen_project.py +++ b/hooks/pre_gen_project.py @@ -1,6 +1,6 @@ # pre_gen_project.py for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify diff --git a/pyproject.toml b/pyproject.toml index 0ee55cb..3a72f18 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ # pyproject.toml for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify @@ -123,6 +123,8 @@ commit = false filename = "Makefile" [[tool.bumpversion.files]] filename = "README.md" +[[tool.bumpversion.files]] +filename = "docs/cookiecutter_input.json" # ==================================== # Codespell Configuration: # ==================================== diff --git a/tests/test_bake_project.py b/tests/test_bake_project.py index bd5d96f..7f70fb8 100644 --- a/tests/test_bake_project.py +++ b/tests/test_bake_project.py @@ -1,6 +1,6 @@ # test_bake_project.py for github-docs-cookiecutter # -# Copyright (c) 2025, Jared Cook +# Copyright (c) 2026, Jared Cook # SPDX-License-Identifier: GPL-3.0-or-later # # This program is free software: you can redistribute it and/or modify diff --git a/{{ cookiecutter.project_slug }}/CONTRIBUTING.md b/{{ cookiecutter.project_slug }}/CONTRIBUTING.md new file mode 100644 index 0000000..a72c10b --- /dev/null +++ b/{{ cookiecutter.project_slug }}/CONTRIBUTING.md @@ -0,0 +1,116 @@ +# Contributing to {{ cookiecutter.project_name }} + +You want to contribute to {{ cookiecutter.project_name }}? Welcome! Please read this document to understand what you can do: + +* [Help Others](#help-others) +* [Analyze Issues](#analyze-issues) +* [Report an Issue](#report-an-issue) +* [Contribute Code](#contribute-code) + +## Help Others + +You can help {{ cookiecutter.project_name }} by helping others who use it and need support. + +## Analyze Issues + +Analyzing issue reports can be a lot of effort. Any help is welcome! +Go to [the GitHub issue tracker](https://github.com/{{ cookiecutter.github_username }}/{{ cookiecutter.project_slug }}/issues?state=open) and find an open issue which needs additional work or a bugfix (e.g. issues labeled with "help wanted" or "bug"). + +Additional work could include any further information, or a gist, or it might be a hint that helps understanding the issue. Maybe you can even find and [contribute](#contribute-code) a bugfix? + +## Report an Issue + +If you find a bug - behavior of {{ cookiecutter.project_name }} code contradicting your expectation - you are welcome to report it. +We can only handle well-reported, actual bugs, so please follow the guidelines below. + +Once you have familiarized with the guidelines, you can go to the [GitHub issue tracker for {{ cookiecutter.project_name }}](https://github.com/{{ cookiecutter.github_username }}/{{ cookiecutter.project_slug }}/issues/new) to report the issue. + +### Quick Checklist for Bug Reports + +Issue report checklist: +* Real, current bug +* No duplicate +* Reproducible +* Good summary +* Well-documented +* Minimal example + + +### Issue handling process + +When an issue is reported, a committer will look at it and either confirm it as a real issue, close it if it is not an issue, or ask for more details. + +An issue that is about a real bug is closed as soon as the fix is committed. + +### Reporting Security Issues + +If you find a security issue, please act responsibly and report it not in the public issue tracker, but directly to us, so we can fix it before it can be exploited. +Please send the related information to . + +### Usage of Labels + +GitHub offers labels to categorize issues. We defined the following labels so far: + +Labels for issue categories: +* bug: this issue is a bug in the code +* feature: this issue is a request for a new functionality or an enhancement request +* design: this issue relates to the UI or UX design of the tool + +Status of open issues: +* help wanted: the feature request is approved and you are invited to contribute + +Status/resolution of closed issues: +* wontfix: while acknowledged to be an issue, a fix cannot or will not be provided + +The labels can only be set and modified by committers. + +### Issue Reporting Disclaimer + +We want to improve the quality of {{ cookiecutter.project_name }} and good bug reports are welcome! But our capacity is limited, thus we reserve the right to close or to not process insufficient bug reports in favor of those which are very cleanly documented and easy to reproduce. Even though we would like to solve each well-documented issue, there is always the chance that it will not happen - remember: {{ cookiecutter.project_name }} is Open Source and comes without warranty. + +Bug report analysis support is very welcome! (e.g. pre-analysis or proposing solutions) + +## Contribute Code + +You are welcome to contribute code to {{ cookiecutter.project_name }} in order to fix bugs or to implement new features. + +There are three important things to know: +1. You must be aware that you need to submit [Developer Certificate of Origin](https://developercertificate.org/) in order for your contribution to be accepted. This is common practice in all major Open Source projects. +2. There are **several requirements regarding code style, quality, and product standards** which need to be met (we also have to follow them). The respective section below gives more details on the coding guidelines. +3. **Not all proposed contributions can be accepted**. Some features may e.g. just fit a third-party add-on better. The code must fit the overall direction of {{ cookiecutter.project_name }} and really improve it. The more effort you invest, the better you should clarify in advance whether the contribution fits: the best way would be to just open an issue to discuss the feature you plan to implement (make it clear you intend to contribute). + +## Developer Certificate of Origin (DCO) + +Due to legal reasons, contributors will be asked to accept a DCO before they submit the first pull request to this projects, this happens in an automated fashion during the submission process. We use [the standard DCO text of the Linux Foundation](https://developercertificate.org/). + +### Contribution Content Guidelines + +These are some of the rules we try to follow: +* Apply a clean coding style adapted to the surrounding code, even though we are aware the existing code is not fully clean +* Use (4)spaces for indentation (except if the modified file consistently uses tabs) +* Use variable naming conventions like in the other files you are seeing (underscore) +* No console.log() - use logging service +* Run all ci/cd code checks and make sure they succeed +* Comment your code where it gets non-trivial +* Keep an eye on performance and memory consumption, properly destroy objects when not used anymore +* Write a unit test +* Do not do any incompatible changes, especially do not modify the name or behavior of public API methods or properties + +### How to contribute - the Process + +1. Make sure the change would be welcome (e.g. a bugfix or a useful feature); best do so by proposing it in a GitHub issue +2. Create a branch forking the {{ cookiecutter.project_slug }} repository and do your change +3. Commit and push your changes on that branch +4. In the commit message + * Describe the problem you fix with this change. + * Describe the effect that this change has from a user's point of view. App crashes and lockups are pretty convincing for example, but not all bugs are that obvious and should be mentioned in the text. + * Describe the technical details of what you changed. It is important to describe the change in a most understandable way so the reviewer is able to verify that the code is behaving as you intend it to. +5. If your change fixes an issue reported at GitHub, add the following line to the commit message: + * ```Fixes #(issueNumber)``` + * Do NOT add a colon after "Fixes" - this prevents automatic closing. +6. Create a Pull Request +7. Follow the link posted by the {{ cookiecutter.project_name }} to your pull request and accept it, as described in detail above. +8. Wait for our code review and approval, possibly enhancing your change on request + * Note that the {{ cookiecutter.project_name }} developers also have their regular duties, so depending on the required effort for reviewing, testing and clarification this may take a while +9. Once the change has been approved we will inform you in a comment +10. We will close the pull request, feel free to delete the now obsolete branch diff --git a/{{ cookiecutter.project_slug }}/SECURITY.md b/{{ cookiecutter.project_slug }}/SECURITY.md new file mode 100644 index 0000000..ea5c637 --- /dev/null +++ b/{{ cookiecutter.project_slug }}/SECURITY.md @@ -0,0 +1,13 @@ +# Security Vulnerabilities + +The {{ cookiecutter.project_name }} is built with security and data privacy in mind to ensure your data is safe. + +## Reporting +We are grateful for security researchers and users reporting a vulnerability to us, first. To ensure that your request is handled in a timely manner and non-disclosure of vulnerabilities can be assured, please follow the below guideline. + +__Please do not report security vulnerabilities directly on GitHub. GitHub Issues can be publicly seen and therefore would result in a direct disclosure.__ + +For reporting a vulnerability, please send an email directly to . Please address questions about data privacy, security concepts, and other media requests for Security Researchers on our team. + +## Disclosure Handling +We are committed to timely review and respond to your request. The resolution of code defects will be handled by a dedicated group of security experts and prepared in a private GitHub repository. The project will inform the public about resolved security vulnerabilities via GitHub Security Advisories. diff --git a/{{ cookiecutter.project_slug }}/_config.yml b/{{ cookiecutter.project_slug }}/_config.yml index 9622d66..03eda8f 100755 --- a/{{ cookiecutter.project_slug }}/_config.yml +++ b/{{ cookiecutter.project_slug }}/_config.yml @@ -9,10 +9,12 @@ remote_theme: "{{ cookiecutter.theme }}" ga_tracking: "{{ cookiecutter.ga_tracking }}" repo_name: "{{ cookiecutter.project_slug }}" -baseurl: "/{{ cookiecutter.project_slug }}" repo_url: > https://github.com/{{ cookiecutter.github_username }}/{{ cookiecutter.project_slug }} +# Specifies the site's subpath for correct URL generation +baseurl: "/{{ cookiecutter.project_slug }}" + # Author Remote User Accounts # twitter_username: "{{ cookiecutter.twitter_username }}" github_username: "{{ cookiecutter.github_username }}" @@ -118,6 +120,13 @@ callouts: title: Warning color: red +collections: + manual: + output: true + permalink: /:manual/:path/ + +collections_dir: . + plugins: - jekyll-seo-tag - jekyll-github-metadata diff --git a/{{ cookiecutter.project_slug }}/_manual/developer-resources/cla.md b/{{ cookiecutter.project_slug }}/_manual/developer-resources/cla.md new file mode 100644 index 0000000..4a47f82 --- /dev/null +++ b/{{ cookiecutter.project_slug }}/_manual/developer-resources/cla.md @@ -0,0 +1,7 @@ +--- +layout: default +title: CLA +nav_order: 1 +parent: Developer Resources +--- +# {{ cookiecutter.project_name }} Software Grant and Contributor License Agreement ("Agreement") diff --git a/{{ cookiecutter.project_slug }}/_manual/developer-resources/contribute.md b/{{ cookiecutter.project_slug }}/_manual/developer-resources/contribute.md new file mode 100644 index 0000000..a6f0049 --- /dev/null +++ b/{{ cookiecutter.project_slug }}/_manual/developer-resources/contribute.md @@ -0,0 +1,7 @@ +--- +layout: default +title: Contribute +nav_order: 1 +parent: Developer Resources +--- +# Contribute to {{ cookiecutter.project_name }} diff --git a/{{ cookiecutter.project_slug }}/_manual/developer-resources/index.md b/{{ cookiecutter.project_slug }}/_manual/developer-resources/index.md new file mode 100644 index 0000000..cf70b63 --- /dev/null +++ b/{{ cookiecutter.project_slug }}/_manual/developer-resources/index.md @@ -0,0 +1,14 @@ + +--- +layout: default +title: "Developer Resources" +nav_order: 1 +parent: {{ cookiecutter.project_name }} +--- +# Developer resources + +This section of the documentation contains additional resources for developers and contributors. + +# Contribute to {{ cookiecutter.project_name }} + +Refer to the [Contribute to {{ cookiecutter.project_name }}]() guide to learn the various ways you can contribute to {{ cookiecutter.project_name }}. Read the [{{ cookiecutter.project_name }} Software Grant and Contributor License Agreement]() before making any contribution. diff --git a/{{ cookiecutter.project_slug }}/_manual/introduction/index.md b/{{ cookiecutter.project_slug }}/_manual/introduction/index.md new file mode 100644 index 0000000..0f82c43 --- /dev/null +++ b/{{ cookiecutter.project_slug }}/_manual/introduction/index.md @@ -0,0 +1,6 @@ +--- +layout: default +title: Introduction +nav_order: 1 +parent: {{ cookiecutter.project_name }} +--- diff --git a/{{ cookiecutter.project_slug }}/_manual/troubleshooting/index.md b/{{ cookiecutter.project_slug }}/_manual/troubleshooting/index.md new file mode 100644 index 0000000..e6061e6 --- /dev/null +++ b/{{ cookiecutter.project_slug }}/_manual/troubleshooting/index.md @@ -0,0 +1,6 @@ +--- +layout: default +title: Troubleshooting +nav_order: 1 +parent: {{ cookiecutter.project_name }} +--- diff --git a/{{ cookiecutter.project_slug }}/_manual/tutorials/index.md b/{{ cookiecutter.project_slug }}/_manual/tutorials/index.md new file mode 100644 index 0000000..f89b73d --- /dev/null +++ b/{{ cookiecutter.project_slug }}/_manual/tutorials/index.md @@ -0,0 +1,6 @@ +--- +layout: default +title: Tutorials +nav_order: 1 +parent: {{ cookiecutter.project_name }} +--- diff --git a/{{ cookiecutter.project_slug }}/_manual/whatsnew/index.md b/{{ cookiecutter.project_slug }}/_manual/whatsnew/index.md new file mode 100644 index 0000000..8fea8b4 --- /dev/null +++ b/{{ cookiecutter.project_slug }}/_manual/whatsnew/index.md @@ -0,0 +1,7 @@ +--- +layout: default +title: "What's New" +nav_order: 1 +parent: {{ cookiecutter.project_name }} +--- +# What's new in {{ cookiecutter.project_name }} diff --git a/{{ cookiecutter.project_slug }}/index.md b/{{ cookiecutter.project_slug }}/index.md index 444a453..988a39f 100644 --- a/{{ cookiecutter.project_slug }}/index.md +++ b/{{ cookiecutter.project_slug }}/index.md @@ -1,6 +1,6 @@ --- layout: default -title: {{ cookiecutter.project_name }} +title: {{ cookiecutter.project_slug }} nav_order: 1 description: {{ cookiecutter.description }} ---