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