From faca9cce9de321a7a4e22b7bf75f5a4dfbb81a99 Mon Sep 17 00:00:00 2001 From: Pascal Zarrad Date: Sun, 29 Mar 2026 19:40:28 +0200 Subject: [PATCH 01/10] fix(devops): replace unmaintained branch action with shell check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace deepakputhraya/action-branch-name (unmaintained since 2023, pinned to @master) with a native shell regex check. Update actions/checkout to v4 and commitlint-github-action to v6. Fix branch name regex typo (0-0 → 0-9), add least-privilege permissions, remove stale develop branch reference. --- .github/workflows/git.yml | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/.github/workflows/git.yml b/.github/workflows/git.yml index f3a8af5..4f0be7a 100644 --- a/.github/workflows/git.yml +++ b/.github/workflows/git.yml @@ -1,29 +1,41 @@ -# Checks for Git branches and commit messages to keep consistency name: Git -on: ["pull_request"] +on: + pull_request: + +permissions: + contents: read + pull-requests: read jobs: - # Verify that the branch name matches the format verify_branch_name: + name: Verify Branch Name runs-on: ubuntu-latest steps: - name: Check branch name - uses: deepakputhraya/action-branch-name@master - with: - regex: '([a-zA-Z0-0-])+\/([a-zA-Z0-0-])+' - allowed_prefixes: "feature,fix,hotfix,release,renovate" - ignore: main,develop + env: + BRANCH: ${{ github.head_ref }} + run: | + PATTERN='^(feature|fix|hotfix|release|renovate)/[a-zA-Z0-9-]+' + if [[ "$BRANCH" =~ $PATTERN ]]; then + echo "Branch name '$BRANCH' is valid." + else + echo "::error::Branch name '$BRANCH' does not match the required pattern: prefix/description" + echo "Allowed prefixes: feature, fix, hotfix, release, renovate" + exit 1 + fi - # Verify that the commits matches the format verify_commit_messages: - if: (github.actor!= 'renovate[bot]') && (contains(github.head_ref, 'renovate/github_actions/') == false) + name: Verify Commit Messages + if: github.actor != 'renovate[bot]' && !startsWith(github.head_ref, 'renovate/') runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - name: Checkout + uses: actions/checkout@v4 with: fetch-depth: 0 + - name: Run commitlint - uses: wagoid/commitlint-github-action@v4 + uses: wagoid/commitlint-github-action@v6 with: - configFile: commitlint.config.cjs + configFile: commitlint.config.mjs From 3b4e5a010ac18700ad6fd722eea0ecd6ed6db3c6 Mon Sep 17 00:00:00 2001 From: Pascal Zarrad Date: Sun, 29 Mar 2026 19:40:33 +0200 Subject: [PATCH 02/10] chore: migrate commitlint config to ES modules Convert from CommonJS to ESM, add sec type for security-related commits, and explicitly define all allowed commit types. --- commitlint.config.cjs | 17 ----------------- commitlint.config.mjs | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 17 deletions(-) delete mode 100644 commitlint.config.cjs create mode 100644 commitlint.config.mjs diff --git a/commitlint.config.cjs b/commitlint.config.cjs deleted file mode 100644 index 51d319c..0000000 --- a/commitlint.config.cjs +++ /dev/null @@ -1,17 +0,0 @@ -// Configuration of commitlint to check commit message guidelines -module.exports = { - extends: ["@commitlint/config-conventional"], - parserPreset: "conventional-changelog-conventionalcommits", - rules: { - "subject-max-length": [2, "always", 50], - "scope-enum": [ - 2, - "always", - [ - "deps", - "devops" - //TODO: extend me - ] - ] - } -}; diff --git a/commitlint.config.mjs b/commitlint.config.mjs new file mode 100644 index 0000000..32367aa --- /dev/null +++ b/commitlint.config.mjs @@ -0,0 +1,26 @@ +export default { + extends: ["@commitlint/config-conventional"], + rules: { + "type-enum": [ + 2, + "always", + [ + "feat", + "fix", + "build", + "chore", + "ci", + "docs", + "perf", + "refactor", + "revert", + "style", + "test", + "sec", + ], + ], + // TODO: extend with project-specific scopes + "scope-enum": [2, "always", ["deps", "devops"]], + "subject-max-length": [2, "always", 50], + }, +}; From 6b9d1e687cec7320d2732c8659b225cdedd88fad Mon Sep 17 00:00:00 2001 From: Pascal Zarrad Date: Sun, 29 Mar 2026 19:40:39 +0200 Subject: [PATCH 03/10] chore: update editorconfig for modern file types Add indent rules for JS/TS/CSS/Astro/JSON, align shell scripts with 2-space indent to match org standard, and simplify structure. --- .editorconfig | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/.editorconfig b/.editorconfig index 5a1cb4a..682f265 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,32 +1,33 @@ -# editorconfig.org root = true [*] +charset = utf-8 +end_of_line = lf indent_style = space indent_size = 4 -max_line_length = 120 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true insert_final_newline = true +trim_trailing_whitespace = true [*.md] -max_line_length=off trim_trailing_whitespace = false -[*.{yaml,yml}] -max_line_length=off +[*.{yml,yaml}] indent_size = 2 -trim_trailing_whitespace = false -[.gitmodules] +[*.{json,json5}] +indent_size = 2 + +[*.{js,mjs,cjs,ts,mts,cts,jsx,tsx,css,astro}] +indent_size = 2 + +[{Makefile,*.mk}] indent_style = tab [Dockerfile] indent_style = tab -[{Makefile,*.mk}] +[.gitmodules] indent_style = tab [*.sh] -indent_style = tab +indent_size = 2 From e65c490fd7fe4b2e543199dbdb62151a0c88b382 Mon Sep 17 00:00:00 2001 From: Pascal Zarrad Date: Sun, 29 Mar 2026 19:40:43 +0200 Subject: [PATCH 04/10] chore: add OS file patterns to gitignore --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 7b14c75..74f4bfc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ +# OS files +.DS_Store +Thumbs.db + # Editor directories and files .idea .vscode From c96e77e737bccf9da1cdd6dfa3c6135dd1d4974a Mon Sep 17 00:00:00 2001 From: Pascal Zarrad Date: Sun, 29 Mar 2026 19:40:47 +0200 Subject: [PATCH 05/10] chore: update license copyright year --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 3053c31..e46c869 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2022 Lazy Bytez +Copyright (c) 2022-present Lazy Bytez Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 1865d90171d7291a6d1f252cf8d50e511811e221 Mon Sep 17 00:00:00 2001 From: Pascal Zarrad Date: Sun, 29 Mar 2026 19:40:52 +0200 Subject: [PATCH 06/10] docs: add security policy and CODEOWNERS Add SECURITY.md with vulnerability reporting process and response timeline. Add CODEOWNERS assigning oss-maintainers as default reviewers. --- .github/CODEOWNERS | 1 + SECURITY.md | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 .github/CODEOWNERS create mode 100644 SECURITY.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..365b66a --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @lazybytez/oss-maintainers diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..24e952c --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,29 @@ +# Security Policy + +## Reporting a Vulnerability + +**Please do not open public issues for security vulnerabilities.** + +Instead, report vulnerabilities via email to **security@lazybytez.de**. + +Include as much of the following as possible: + +- Description of the vulnerability +- Steps to reproduce +- Potential impact +- Suggested fix (if any) + +## Response Timeline + +- **Acknowledgement:** within 48 hours +- **Initial assessment:** within 5 business days +- **Fix or mitigation:** depends on severity, but we prioritize security issues above all else + +## Supported Versions + +Only the latest release is supported with security updates. + +## Scope + +Third-party dependencies are monitored but not directly maintained by us. +If you find a vulnerability in a dependency, please report it upstream and notify us as well. From a3246eb9fbaa7c40730a695d5f4187c514bedba3 Mon Sep 17 00:00:00 2001 From: Pascal Zarrad Date: Sun, 29 Mar 2026 19:40:57 +0200 Subject: [PATCH 07/10] chore(deps): update renovate to config:recommended config:base is a deprecated alias for config:recommended. --- .github/renovate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/renovate.json b/.github/renovate.json index 14332df..1a4e4c3 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -1,7 +1,7 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ - "config:base" + "config:recommended" ], "labels": ["C5 - dependencies"], "dependencyDashboardApproval": true From 8954640bb2a0542a00a953188d48ddabfb4cda26 Mon Sep 17 00:00:00 2001 From: Pascal Zarrad Date: Sun, 29 Mar 2026 19:41:02 +0200 Subject: [PATCH 08/10] docs: modernize README structure and content Add centered badges with license badge, replace tbd placeholder with template usage instructions, clean up link references, and update copyright year. --- README.md | 58 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index b5dcbfd..1dd916c 100644 --- a/README.md +++ b/README.md @@ -1,57 +1,65 @@ # General Template -[![gh-commit-badge][gh-commit-badge]][gh-commit] -[![gh-contributors-badge][gh-contributors-badge]][gh-contributors] -[![gh-stars-badge][gh-stars-badge]][gh-stars] +
+ +[![License][gh-license-badge]][gh-license] +[![Last Commit][gh-commit-badge]][gh-commit] +[![Contributors][gh-contributors-badge]][gh-contributors] +[![Stars][gh-stars-badge]][gh-stars] + +
## Description -This is a general repository template for all projects done by the organization lazybytez. -You can use it if you want. Just be sure to modify the names and emails. +General repository template for all projects by [Lazy Bytez][gh-team]. + +This template provides a standardized starting point with: -## Getting started +- Conventional commit enforcement via [commitlint](https://commitlint.js.org/) +- Branch naming validation via GitHub Actions +- Dependency updates via [Renovate](https://docs.renovatebot.com/) +- EditorConfig for consistent formatting +- Security policy and code ownership -tbd +## Getting Started + +1. Click **Use this template** on GitHub to create a new repository. +2. Update `commitlint.config.mjs` to add project-specific scopes. +3. Update this `README.md` with your project's details. +4. If your project is not MIT-licensed, replace the `LICENSE` file. ## Contributing If you want to take part in contribution, like fixing issues and contributing directly to the code base, please visit the [How to Contribute][gh-contribute] document. -## Useful links +## Useful Links [License][gh-license] - [Contributing][gh-contribute] - -[Code of conduct][gh-codeofconduct] - +[Code of Conduct][gh-codeofconduct] - [Issues][gh-issues] - -[Pull requests][gh-pulls] +[Pull Requests][gh-pulls] -
+
###### Copyright (c) [Lazy Bytez][gh-team]. All rights reserved | Licensed under the MIT license. - + +[gh-license-badge]: https://img.shields.io/github/license/lazybytez/general-template?style=for-the-badge&colorA=302D41&colorB=a6e3a1 [gh-commit-badge]: https://img.shields.io/github/last-commit/lazybytez/general-template?style=for-the-badge&colorA=302D41&colorB=cba6f7 - -[gh-commit]: https://github.com/lazybytez/general-template/commits/main - [gh-contributors-badge]: https://img.shields.io/github/contributors/lazybytez/general-template?style=for-the-badge&colorA=302D41&colorB=89dceb +[gh-stars-badge]: https://img.shields.io/github/stars/lazybytez/general-template?style=for-the-badge&colorA=302D41&colorB=f9e2af -[gh-contributors]: https://github.com/lazybytez/general-template/graphs/contributors - -[gh-stars-badge]: https://img.shields.io/github/stars/lazybytez?style=for-the-badge&colorA=302D41&colorB=f9e2af + +[gh-license]: https://github.com/lazybytez/general-template/blob/main/LICENSE +[gh-commit]: https://github.com/lazybytez/general-template/commits/main +[gh-contributors]: https://github.com/lazybytez/general-template/graphs/contributors [gh-stars]: https://github.com/lazybytez/general-template/stargazers - [gh-contribute]: https://github.com/lazybytez/.github/blob/main/docs/CONTRIBUTING.md - -[gh-license]: https://github.com/lazybytez/general-template/blob/main/LICENSE - [gh-codeofconduct]: https://github.com/lazybytez/.github/blob/main/docs/CODE_OF_CONDUCT.md - [gh-issues]: https://github.com/lazybytez/general-template/issues - [gh-pulls]: https://github.com/lazybytez/general-template/pulls - [gh-team]: https://github.com/lazybytez From e9d3dbea4f3e3b7f88adb27663fd215df438f190 Mon Sep 17 00:00:00 2001 From: Pascal Zarrad Date: Sun, 29 Mar 2026 19:50:20 +0200 Subject: [PATCH 09/10] fix: correct copyright year, checkout version, and response timeline Update LICENSE copyright to 2026, bump actions/checkout to v6, and simplify SECURITY.md response timeline to 5 days. --- .github/workflows/git.yml | 2 +- LICENSE | 2 +- SECURITY.md | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/git.yml b/.github/workflows/git.yml index 4f0be7a..0a6b6a1 100644 --- a/.github/workflows/git.yml +++ b/.github/workflows/git.yml @@ -31,7 +31,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 diff --git a/LICENSE b/LICENSE index e46c869..2750008 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2022-present Lazy Bytez +Copyright (c) 2026 Lazy Bytez Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/SECURITY.md b/SECURITY.md index 24e952c..e27252f 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -15,9 +15,8 @@ Include as much of the following as possible: ## Response Timeline -- **Acknowledgement:** within 48 hours -- **Initial assessment:** within 5 business days -- **Fix or mitigation:** depends on severity, but we prioritize security issues above all else +- **Acknowledgement:** within 5 days +- **Fix or mitigation:** depends on severity ## Supported Versions From 7ad2915203a985da7ee4911d0aeb0ae6cc34e19d Mon Sep 17 00:00:00 2001 From: Pascal Zarrad Date: Sun, 29 Mar 2026 19:52:51 +0200 Subject: [PATCH 10/10] fix: restore 48h acknowledgement in security policy --- SECURITY.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SECURITY.md b/SECURITY.md index e27252f..e8f57a2 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -15,7 +15,8 @@ Include as much of the following as possible: ## Response Timeline -- **Acknowledgement:** within 5 days +- **Acknowledgement:** within 48 hours +- **Initial assessment:** within 5 days - **Fix or mitigation:** depends on severity ## Supported Versions