Skip to content

feat(commit): setup Husky, Commitlint,Commitzen - #72

Merged
drtechie merged 4 commits into
PSMRI:developfrom
Zapper9982:feat/issue-89
Apr 19, 2025
Merged

feat(commit): setup Husky, Commitlint,Commitzen#72
drtechie merged 4 commits into
PSMRI:developfrom
Zapper9982:feat/issue-89

Conversation

@Zapper9982

@Zapper9982 Zapper9982 commented Apr 17, 2025

Copy link
Copy Markdown
Contributor

Implemented it for FHIR-API

📋 Description

JIRA ID: N/A

GitHub Issue: Fixes PSMRI/AMRIT#89

This PR introduces commit message standardization for the ⁠ FHIR-API project by setting up *Commitlint, **Husky, and *Commitizen. The goal is to enforce a consistent commit message format across the repository to improve collaboration, readability, and enable automation (like changelogs and versioning) in the future.

These tools are now fully integrated:
•⁠ ⁠Commitlint enforces conventional commit message structure.
•⁠ ⁠Husky prevents non-compliant commits by using Git hooks.
•⁠ ⁠Commitizen provides an easy, interactive CLI for making properly formatted commits.
•⁠ ⁠GitHub Actions validate commit messages for all pull requests.

PS : @drtechie @Sneha6003 Implemented with the same standardization as for the UI repositories to ensure , clean code and well maintained code .


✅ Type of Change

  • 🐞 Bug fix (non-breaking change which resolves an issue)
  • New feature (non-breaking change which adds functionality)
  • 🔥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 🛠 Refactor (change that is neither a fix nor a new feature)
  • ⚙️ Config change (configuration file or build script updates)
  • 📚 Documentation (updates to docs or readme)
  • 🧪 Tests (adding new or updating existing tests)
  • 🎨 UI/UX (changes that affect the user interface)
  • 🚀 Performance (improves performance)
  • 🧹 Chore (miscellaneous changes that don't modify src or test files)

ℹ️ Additional Information

•⁠ ⁠Added ⁠ commitlint.config.js ⁠ with conventional commit rules.
•⁠ ⁠Configured Husky to run Commitlint on every commit via ⁠ .husky/commit-msg ⁠.
•⁠ ⁠Set up ⁠ Commitizen ⁠ with configuration in ⁠ package.json ⁠ for interactive commit prompts.
•⁠ ⁠Added GitHub Actions workflow ⁠ .github/workflows/commit-lint.yml ⁠ to check commit messages on PRs.
•⁠ ⁠Updated ⁠ package.json ⁠ and ⁠ package-lock.json ⁠ with required dev dependencies:

  • ⁠ @commitlint/cli ⁠
  • ⁠ @commitlint/config-conventional ⁠
  • ⁠ commitizen ⁠
  • ⁠ cz-conventional-changelog 

Testing & Validation

•⁠ ⁠Invalid commit messages are blocked locally with clear lint errors.
•⁠ ⁠Interactive commit flow works via ⁠ npm run commit ⁠ or ⁠ npx cz ⁠.
•⁠ ⁠GitHub Actions workflow correctly fails PRs with non-compliant commit messages.
•⁠ ⁠No disruption to existing build or CI pipelines.

Screenshots

  • Husky/ Commitlint checking commit format .
Screenshot 2025-04-17 at 6 38 07 PM
  • Commitzen to create clean and concise commit.
Screenshot 2025-04-17 at 6 39 06 PM

Summary by CodeRabbit

Summary by CodeRabbit

  • New Features
    • Introduced automated commit message linting on pull requests and during local commits to enforce consistent commit message standards.
    • Added pre-commit checks to automatically lint and format staged files for improved code quality.
  • Chores
    • Added project configuration files for commit message linting, code formatting, and development dependencies management.
    • Enhanced documentation with setup instructions for commit hooks and commit message conventions.

@coderabbitai

coderabbitai Bot commented Apr 17, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

This change introduces a comprehensive commit message linting and automation system for the repository. It adds configuration and tooling for Commitlint, Husky, Commitizen, and lint-staged, as well as a GitHub Actions workflow to enforce commit message standards on pull requests. The setup ensures that commit messages follow the Conventional Commits specification, both locally (via Git hooks) and in CI. Contributors are guided to use structured commit messages, and automated checks prevent non-compliant commits from being merged.

Changes

Files/Paths Change Summary
.github/workflows/commit-lint.yml Added a GitHub Actions workflow to run Commitlint on PR commits for commit message compliance.
.husky/commit-msg, .husky/pre-commit Added Husky Git hooks: commit-msg runs Commitlint on commit messages; pre-commit runs lint-staged on staged files.
commitlint.config.js Added Commitlint configuration enforcing Conventional Commits rules and custom restrictions.
package.json Added project metadata, scripts, Commitizen, lint-staged, Husky, Commitlint configs, and devDependencies.
README.md Added a new section "Setting Up Commit Hooks" describing commit message conventions and setup instructions.

Sequence Diagram(s)

sequenceDiagram
    participant Contributor
    participant Husky (Local)
    participant Commitlint (Local)
    participant Commitizen
    participant GitHub
    participant GitHub Actions (CI)
    participant Commitlint (CI)

    Contributor->>Commitizen: Run "npm run commit" (guided commit)
    Commitizen->>Contributor: Prompt for commit details
    Contributor->>Husky (Local): git commit
    Husky (Local)->>Commitlint (Local): Validate commit message
    Commitlint (Local)-->>Husky (Local): Pass/Fail
    Husky (Local)-->>Contributor: Allow/Block commit

    Contributor->>GitHub: Push branch/PR
    GitHub->>GitHub Actions (CI): Trigger PR workflow
    GitHub Actions (CI)->>Commitlint (CI): Lint all PR commit messages
    Commitlint (CI)-->>GitHub Actions (CI): Pass/Fail
    GitHub Actions (CI)-->>GitHub: Report status on PR
Loading

Assessment against linked issues

Objective Addressed Explanation
Integrate Commitlint to enforce commit message standards (#89)
Set up Husky to trigger commit-msg hooks (#89)
Add Commitizen to provide structured commit prompts to contributors (#89)
Configure GitHub Actions to verify commit format in Pull Requests (#89)
Ensure no conflicts/interference with existing CI/CD workflows (#89)

Possibly related issues

Poem

In the warren of code, with a twitch of my nose,
I’ve sprinkled some rules where the commit message grows.
Husky stands guard, Commitlint keeps watch,
Commitizen’s prompts make the process top-notch!
Now every “git commit” is neat as can be—
Hopping toward history, all tidy and free!
🐇✨

Tip

⚡💬 Agentic Chat (Pro Plan, General Availability)
  • We're introducing multi-step agentic chat in review comments and issue comments, within and outside of PR's. This feature enhances review and issue discussions with the CodeRabbit agentic chat by enabling advanced interactions, including the ability to create pull requests directly from comments and add commits to existing pull requests.

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (2)
.github/workflows/commit-lint.yml (2)

30-30: Add newline at end of file
YAML requires a trailing newline to satisfy linters and avoid subtle parsing issues.

Apply this diff:

@@ run: |
   npx commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose
+ 
🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 30-30: no new line character at the end of file

(new-line-at-end-of-file)


1-29: Consider caching dependencies to speed up CI runs
Right now, each job installs Node modules from scratch. You can add an actions/cache step before npm ci to reuse the lockfile and node_modules, reducing CI time.

Example addition:

      - name: Cache NPM modules
        uses: actions/cache@v3
        with:
          path: ~/.npm
          key: ${{ runner.os }}-npm-${{ hashFiles('package-lock.json') }}
          restore-keys: |
            ${{ runner.os }}-npm-
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2ecec43 and 0a3e332.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (5)
  • .github/workflows/commit-lint.yml (1 hunks)
  • .husky/commit-msg (1 hunks)
  • .husky/pre-commit (1 hunks)
  • commitlint.config.js (1 hunks)
  • package.json (1 hunks)
🧰 Additional context used
🪛 YAMLlint (1.35.1)
.github/workflows/commit-lint.yml

[error] 30-30: no new line character at the end of file

(new-line-at-end-of-file)

🔇 Additional comments (2)
commitlint.config.js (1)

1-36: Configuration aligns with Conventional Commits standards
The rules and presets are correctly set up to enforce Conventional Commits. No issues found.

package.json (1)

9-9: Commitizen script looks good
The "commit": "cz" script correctly invokes Commitizen for structured commit messages.

Comment thread .husky/pre-commit
@@ -0,0 +1 @@
npx lint-staged No newline at end of file

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Missing Husky initialization in pre-commit hook
The hook should include the shebang and source the Husky environment script; otherwise the hook may not execute correctly across environments.

Apply this diff to bootstrap Husky properly:

- npx lint-staged
+ #!/usr/bin/env sh
+ . "$(dirname "$0")/_/husky.sh"
+
+ npx lint-staged
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
npx lint-staged
#!/usr/bin/env sh
. "$(dirname "$0")/_/husky.sh"
npx lint-staged

Comment thread .husky/commit-msg
Comment thread package.json Outdated
Comment thread package.json
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"prepare": "husky",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix prepare script for Husky installation
The "prepare": "husky" script won’t initialize hooks in Husky v7+. It should be "prepare": "husky install" to set up the Git hooks.

Apply this diff:

-    "prepare": "husky",
+    "prepare": "husky install",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"prepare": "husky",
"prepare": "husky install",

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (3)
README.md (3)

30-33: Unify Markdown list style
The prerequisites list uses dashes (-), which conflicts with the project’s Markdown convention (asterisks *) and markdownlint rules. Consider switching to a consistent list style for better readability and lint compliance.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

31-31: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


32-32: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


39-43: Add language identifier to code fence
The fenced block for verifying Node.js/npm versions lacks a language specifier. Labeling it (e.g., bash) improves syntax highlighting and clarity.

Example diff:

-    ```
+    ```bash
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

39-39: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


46-49: Add language identifier to code fence
Likewise, the dependency installation snippet should specify a language tag for consistency and better formatting.

Example diff:

-      ```
+      ```bash
🧰 Tools
🪛 LanguageTool

[uncategorized] ~49-~49: Possible missing comma found.
Context: ...``` - This will install all required dependencies including Husky and commitlint 3. **Ve...

(AI_HYDRA_LEO_MISSING_COMMA)

🪛 markdownlint-cli2 (0.17.2)

46-46: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


49-49: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f17dfbf and ff1b75d.

📒 Files selected for processing (2)
  • README.md (1 hunks)
  • package.json (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • package.json
🧰 Additional context used
🪛 LanguageTool
README.md

[uncategorized] ~37-~37: The official spelling of this programming framework is “Node.js”.
Context: ...d npm** - Download and install from nodejs.org - Verify i...

(NODE_JS)


[uncategorized] ~49-~49: Possible missing comma found.
Context: ...``` - This will install all required dependencies including Husky and commitlint 3. **Ve...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~63-~63: “Bug” is a singular noun. It appears that the verb form is incorrect.
Context: ... - feat: A new feature - fix: A bug fix - docs: Documentation changes - `styl...

(PCT_SINGULAR_NOUN_PLURAL_VERB_AGREEMENT)


[uncategorized] ~66-~66: Loose punctuation mark.
Context: ... changes (formatting, etc.) - refactor: Code changes that neither fix bugs nor ...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 markdownlint-cli2 (0.17.2)
README.md

31-31: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


32-32: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


37-37: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


38-38: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


39-39: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


45-45: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


46-46: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


49-49: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


52-52: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


53-53: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


58-58: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


59-59: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


62-62: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


63-63: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


64-64: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


65-65: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


66-66: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


67-67: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


68-68: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


69-69: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


70-70: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)

🔇 Additional comments (1)
README.md (1)

26-34: Clarify Husky installation step
The setup steps rely on Husky’s hooks, but you haven’t mentioned running npx husky install or having a "prepare": "husky install" script in package.json. Without this, Husky won’t activate its Git hooks in some environments.

Please verify that your package.json includes a "prepare": "husky install" script or explicitly instruct users to run:

npx husky install
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

31-31: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


32-32: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)

Comment thread README.md
@sonarqubecloud

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (4)
README.md (4)

25-29: Clarify Node.js usage in hook setup
The note “Even though this is a Java project, the hooks are powered by Node.js” could be more explicit about which tools require Node.js (e.g., Husky, Commitlint, lint‑staged). Consider rephrasing for clarity, for example:
“Since Husky and Commitlint are Node.js‑based, ensure Node.js is installed to power the Git hooks.”


39-42: Add language identifiers to code fences
To improve readability and syntax highlighting, specify the shell language for the fenced code blocks. For example:

-    ```
+    ```bash

Apply this change to both the node --version/npm --version block (lines 39–42) and the npm ci block (lines 46–48).

Also applies to: 46-48

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

39-39: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


44-50: Comma and capitalization for readability
At line 49:

“- This will install all required dependencies including Husky and commitlint”
For clarity and consistency, insert a comma and capitalize the package name:

- This will install all required dependencies including Husky and commitlint
+ This will install all required dependencies, including Husky and Commitlint.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~49-~49: Possible missing comma found.
Context: ...``` - This will install all required dependencies including Husky and commitlint 3. **Ve...

(AI_HYDRA_LEO_MISSING_COMMA)

🪛 markdownlint-cli2 (0.17.2)

45-45: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


46-46: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


49-49: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


61-71: Align unordered list style with markdownlint
The commit types list currently uses dashes (-). According to the project’s markdown style (MD004), consider switching to asterisks (*) for unordered items. Example:

- - `feat`: A new feature
- - `fix`: A bug fix
+ * `feat`: A new feature
+ * `fix`: A bug fix
...
🧰 Tools
🪛 LanguageTool

[grammar] ~63-~63: “Bug” is a singular noun. It appears that the verb form is incorrect.
Context: ... - feat: A new feature - fix: A bug fix - docs: Documentation changes - `styl...

(PCT_SINGULAR_NOUN_PLURAL_VERB_AGREEMENT)


[uncategorized] ~66-~66: Loose punctuation mark.
Context: ... changes (formatting, etc.) - refactor: Code changes that neither fix bugs nor ...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 markdownlint-cli2 (0.17.2)

62-62: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


63-63: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


64-64: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


65-65: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


66-66: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


67-67: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


68-68: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


69-69: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


70-70: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


71-71: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ff1b75d and fe2c666.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md

[uncategorized] ~37-~37: The official spelling of this programming framework is “Node.js”.
Context: ...d npm** - Download and install from nodejs.org - Verify i...

(NODE_JS)


[uncategorized] ~49-~49: Possible missing comma found.
Context: ...``` - This will install all required dependencies including Husky and commitlint 3. **Ve...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~63-~63: “Bug” is a singular noun. It appears that the verb form is incorrect.
Context: ... - feat: A new feature - fix: A bug fix - docs: Documentation changes - `styl...

(PCT_SINGULAR_NOUN_PLURAL_VERB_AGREEMENT)


[uncategorized] ~66-~66: Loose punctuation mark.
Context: ... changes (formatting, etc.) - refactor: Code changes that neither fix bugs nor ...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 markdownlint-cli2 (0.17.2)
README.md

31-31: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


32-32: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


37-37: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


38-38: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


39-39: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


45-45: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


46-46: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


49-49: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


52-52: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


53-53: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


58-58: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


59-59: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


62-62: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


63-63: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


64-64: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


65-65: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


66-66: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


67-67: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


68-68: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


69-69: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


70-70: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


71-71: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)

🔇 Additional comments (2)
README.md (2)

30-33: Prerequisites section looks good
Listing Node.js (v14+) and npm is clear and accurate.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

31-31: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


32-32: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


73-73: Commit validation note is clear
The final reminder that commits are automatically validated upon commit is concise and helpful.

@drtechie
drtechie merged commit 02e04d0 into PSMRI:develop Apr 19, 2025
@Zapper9982
Zapper9982 deleted the feat/issue-89 branch April 19, 2025 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[C4GT Community]: Implement Commit Message Linting and Automation for FHIR-API

2 participants