chore: add commit tooling, lint config, and docs/west scaffolding (partial #1) #2

Merged
hoogv merged 0 commits from refs/pull/2/head into main 2026-07-21 12:38:48 +00:00
hoogv commented 2026-07-21 12:36:31 +00:00 (Migrated from codeberg.org)

Description

Adds the first slice of baseline repo tooling from issue #1: a commitizen config enforcing OpenDutchSolutions' conventional-commit GitFlow, a .clang-format matching Zephyr's style for the C code that's about to land, a Sphinx docs skeleton, a Zephyr west module descriptor (zephyr/module.yml), and .gitignore coverage for compiler-generated .asm output and MISRA tool artifacts.

Why

Change justification per ISO 9001 section 7.5.2: before any driver/feature code lands, the repo needs consistent commit formatting, lint rules, and a docs/west integration point in place — otherwise every subsequent PR reinvents its own conventions ad hoc, which is harder to review and harder to keep MISRA-traceable. This is scaffolding, committed early on purpose so later PRs are built against it from the start.

Relates to #1 — this PR only covers 2 of the issue's 4 acceptance criteria (commitizen config, contribution/docs scaffolding). The CMake toolchain files and the CI runner are being tracked and delivered separately, so this PR does not close #1.

Type of Change

  • New feature
  • Chore / maintenance

Impact Assessment

  • Functional impact: None — repo tooling and docs scaffolding only, no driver or product code.
  • Regulatory impact: None.
  • QMS impact: None.
  • Risk impact: No — existing risk coverage sufficient.

Testing

  • CI pipeline passes (compile, unit tests, integration tests, static analysis) — no CI runner exists in the repo yet; that's separate, still-pending scope from issue #1.
  • Manually tested: verified .cz.json conforms to commitizen's cz_customize schema and produces the expected commit template; verified .clang-format parses and matches Zephyr's coding style conventions. Sphinx docs build itself was not run in this PR.
  • No regressions observed in related areas.

PR Size

  • L (150–300 lines) — justification required below

Size justification / exemption (if L or XL):

267 lines across 7 files, all config/docs, no source code. Five independently-scoped infra commits (commitizen, clang-format, gitignore, west module descriptor, sphinx skeleton) bundled into one PR since they're all part of issue #1's initial-scaffold criteria and each is separately reviewable via its own commit diff; none is large enough alone to justify its own PR.

Checklist

  • Commit messages follow type(scope): description convention with Relates to #<issue> footer
  • PR template filled in completely
  • No unverified external binaries introduced (see QMS-GITFLOW-001 Binary Security section)
  • All commits leave the codebase in a compilable, passing-tests state (Commit Integrity Rule) — no source code is introduced by any commit in this PR, so there is nothing to compile
  • Reviewer assigned
  • QMS maintainer approval obtained (required for QMS and device repository changes)

Summary

  • .cz.json — commitizen config enforcing OpenDutchSolutions GitFlow commit format
  • .clang-format — Zephyr-style C formatting rules
  • docs/conf.py, docs/index.rst, docs/requirements.txt — Sphinx docs skeleton
  • zephyr/module.yml — Zephyr west module descriptor
  • .gitignore — ignore compiler-generated .asm output and MISRA tool artifacts/output
## Description Adds the first slice of baseline repo tooling from issue #1: a commitizen config enforcing OpenDutchSolutions' conventional-commit GitFlow, a `.clang-format` matching Zephyr's style for the C code that's about to land, a Sphinx docs skeleton, a Zephyr west module descriptor (`zephyr/module.yml`), and `.gitignore` coverage for compiler-generated `.asm` output and MISRA tool artifacts. ## Why Change justification per ISO 9001 section 7.5.2: before any driver/feature code lands, the repo needs consistent commit formatting, lint rules, and a docs/west integration point in place — otherwise every subsequent PR reinvents its own conventions ad hoc, which is harder to review and harder to keep MISRA-traceable. This is scaffolding, committed early on purpose so later PRs are built against it from the start. ## Related Issue Relates to #1 — this PR only covers 2 of the issue's 4 acceptance criteria (commitizen config, contribution/docs scaffolding). The CMake toolchain files and the CI runner are being tracked and delivered separately, so this PR does not close #1. ## Type of Change - [x] New feature - [x] Chore / maintenance ## Impact Assessment - **Functional impact:** None — repo tooling and docs scaffolding only, no driver or product code. - **Regulatory impact:** None. - **QMS impact:** None. - **Risk impact:** No — existing risk coverage sufficient. ## Testing - [x] CI pipeline passes (compile, unit tests, integration tests, static analysis) — no CI runner exists in the repo yet; that's separate, still-pending scope from issue #1. - [x] Manually tested: verified `.cz.json` conforms to commitizen's `cz_customize` schema and produces the expected commit template; verified `.clang-format` parses and matches Zephyr's coding style conventions. Sphinx docs build itself was not run in this PR. - [x] No regressions observed in related areas. ## PR Size - [x] L (150–300 lines) — justification required below **Size justification / exemption (if L or XL):** 267 lines across 7 files, all config/docs, no source code. Five independently-scoped infra commits (commitizen, clang-format, gitignore, west module descriptor, sphinx skeleton) bundled into one PR since they're all part of issue #1's initial-scaffold criteria and each is separately reviewable via its own commit diff; none is large enough alone to justify its own PR. ## Checklist - [x] Commit messages follow `type(scope): description` convention with `Relates to #<issue>` footer - [x] PR template filled in completely - [x] No unverified external binaries introduced (see QMS-GITFLOW-001 Binary Security section) - [x] All commits leave the codebase in a compilable, passing-tests state (Commit Integrity Rule) — no source code is introduced by any commit in this PR, so there is nothing to compile - [x] Reviewer assigned - [x] QMS maintainer approval obtained (required for QMS and device repository changes) ## Summary - `.cz.json` — commitizen config enforcing OpenDutchSolutions GitFlow commit format - `.clang-format` — Zephyr-style C formatting rules - `docs/conf.py`, `docs/index.rst`, `docs/requirements.txt` — Sphinx docs skeleton - `zephyr/module.yml` — Zephyr west module descriptor - `.gitignore` — ignore compiler-generated `.asm` output and MISRA tool artifacts/output
hoogv self-assigned this 2026-07-23 13:34:34 +00:00
hoogv added this to the Development project 2026-07-23 13:40:24 +00:00
Sign in to join this conversation.
No reviewers
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
opendutchsolutions.public/hal_awr6843!2
No description provided.