Skip to content

Conversation

flicksolutions
Copy link
Member

@flicksolutions flicksolutions commented Aug 22, 2025

I ended up removing husky aswell since the pre-commit hook takes forever and fails anyways. Signifying that people overruled the hook since the beginning.

#42

Summary by CodeRabbit

  • Documentation

    • Removed commit-tooling references and instructions from docs.
    • Updated an event page with structured author metadata (name, ORCID, email, affiliations) and fixed an image link; content otherwise unchanged.
  • Chores

    • Removed local pre-commit hook and related commit tooling/configuration.
    • Removed conventional-commit parsing options from release tooling config.
    • Added a repository-level automated review configuration.

@flicksolutions flicksolutions self-assigned this Aug 22, 2025
@flicksolutions flicksolutions linked an issue Aug 22, 2025 that may be closed by this pull request
Copy link
Contributor

coderabbitai bot commented Aug 22, 2025

Walkthrough

Removes Husky pre-commit hook and related commit tooling/config, updates README to drop commit instructions, adjusts git-cliff config, adds a repository-wide review/config file, and enriches one event page’s front matter and image path encoding.

Changes

Cohort / File(s) Summary of Changes
Husky / pre-commit hook
.husky/pre-commit
Deleted the POSIX shell pre-commit hook that sourced Husky and ran npm run check.
Package scripts & commit tooling
package.json
Removed commit and prepare scripts, deleted devDependencies for husky, commitizen, cz, cz-conventional-changelog, and removed the commitizen config block.
Repository config: git-cliff
cliff.toml
Removed conventional commits parsing/filtering options and related comments (conventional_commits = true, filter_unconventional = true) from the [git] section.
Docs: README
README.md
Removed Husky directory reference and the "Generate conventional commits" section (including the npm run commit example).
Event content metadata
content/events/20250430-open-access-workshop/index.qmd
Replaced empty author front matter with a structured author list (name, orcid, email, affiliations array, role) and changed an inline image reference to a URL-encoded image path; body unchanged.
New repo automation config
.coderabbit.yaml
Added a comprehensive automated-review/configuration YAML with global settings, review workflows, pre-merge checks, and many tool integrations (linters, analyzers, formatters, chat and KB settings).

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 42-get-rid-of-commitizen

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 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.
    • 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.
  • 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 the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

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.

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • 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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

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 (2)
content/events/20250430-open-access-workshop/index.qmd (2)

8-16: Use roles instead of role in Quarto front matter

Quarto’s front-matter schema expects an array field roles (plural) to describe each author’s contributions; using the singular role will not be recognized and may trigger metadata warnings . You can express one or more contributions as a comma-separated string or YAML array. Additionally, while plain-text affiliations work, you can unlock richer rendering by using affiliation objects with id, name, and url.

Key location to update:

  • File: content/events/20250430-open-access-workshop/index.qmd
    Lines: 8–16 (the author metadata block)

Suggested minimal change:

 author:
   - name: Moritz Mähr
     orcid: 0000-0002-1367-1618
     email: [email protected]
     affiliations:
       - University of Bern
       - University of Basel
-    role: author
+    roles: ["author"]

Optional enhancement for affiliations:

    affiliations:
      - id: unibe
        name: University of Bern
        url: https://www.unibe.ch
      - id: unibas
        name: University of Basel
        url: https://www.unibas.ch

33-33: Use an ASCII-only slug for the image filename
To avoid potential broken links on different OSes, static hosts, or during URL rewriting, rename the asset to a simple ASCII slug and update its reference in index.qmd.

• Current file:
content/events/20250430-open-access-workshop/DALL·E 2025-03-11 08.43.36 - An engraving-style copperplate illustration of Johannes Gutenberg operating an old printing press, but instead of traditional books, he is printing an.webp
• Suggested new filename (placed in the same folder):
gutenberg-open-access.webp
• Update the Markdown reference at line 33 in content/events/20250430-open-access-workshop/index.qmd:

-![A playful engraving-style image juxtaposing Gutenberg’s 15th-century printing press with modern open access publishing, highlighting the continuity of knowledge dissemination across centuries.](DALL·E 2025-03-11 08.43.36 - An engraving-style copperplate illustration of Johannes Gutenberg operating an old printing press, but instead of traditional books, he is printing an.webp){fig-alt="Engraving-style illustration of Johannes Gutenberg operating a historical printing press labeled with his name. Instead of printing traditional books, the press is producing pages with the words \"OPEN ACCESS.\" A modern computer screen and keyboard sit nearby, also displaying the phrase \"OPEN ACCESS\" alongside a stylized \"Q\" logo. A large book on the table bears the same text and Gutenberg’s name, blending elements of early print history with digital open access themes."}
+![A playful engraving-style image juxtaposing Gutenberg’s 15th-century printing press with modern open access publishing, highlighting the continuity of knowledge dissemination across centuries.](gutenberg-open-access.webp){fig-alt="Engraving-style illustration of Johannes Gutenberg operating a historical printing press labeled with his name. Instead of printing traditional books, the press is producing pages with the words \"OPEN ACCESS.\" A modern computer screen and keyboard sit nearby, also displaying the phrase \"OPEN ACCESS\" alongside a stylized \"Q\" logo. A large book on the table bears the same text and Gutenberg’s name, blending elements of early print history with digital open access themes."}
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between ace1ade and d5858f4.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (4)
  • .husky/pre-commit (0 hunks)
  • README.md (0 hunks)
  • content/events/20250430-open-access-workshop/index.qmd (2 hunks)
  • package.json (1 hunks)
💤 Files with no reviewable changes (2)
  • .husky/pre-commit
  • README.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build, Optimize, and Upload Artifacts
🔇 Additional comments (1)
package.json (1)

16-16: Retaining ESM "type": "module" after tool removal is fine

Keeping ESM has no negative impact on the CLI-only scripts (prettier, git-cliff) and aligns with modern Node setups. No action needed here.

"path": "./node_modules/cz-conventional-changelog"
}
}
"type": "module"
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

After removing Husky/Commitizen, ensure there are no dangling references and that changelog generation still works without conventional commits

Now that commit conventions aren’t enforced locally, git-cliff may produce sparse notes if its template expects Conventional Commits. Also verify that no docs or scripts still reference Husky/Commitizen.

[action items]

  • Search repo for leftovers and adjust cliff.toml if it relies on Conventional Commit types.
  • Consider moving enforcement to CI (e.g., run npm run check and optionally lint commit messages on PRs) instead of local hooks.

If you still want structured changelogs without enforcing local hooks, prefer:

  • Using PR titles/labels as the source of truth (git-cliff supports GitHub metadata).
  • A lightweight GitHub Action to run npm run check and generate a draft changelog on pull_request for visibility.

🏁 Script executed:

#!/bin/bash
# 1) Find any lingering Husky/Commitizen references (scripts, config, docs)
rg -nP -S '(husky|commitizen|cz-conventional-changelog|\bnpm run commit\b|\bcz\b)'

# 2) Sanity check cliff config for conventional preset usage
rg -nP -S '(conventional|preset|conventional-changelog|commit_types)' cliff.toml

# 3) Ensure no Husky hooks remain
fd --hidden --strip-cwd-prefix '^\.husky$' -t d -E .git

# 4) CI follow-up: Do we already run prettier check on PRs?
fd -a '.github/workflows/*.yml' | xargs -r rg -nP '\bnpm run check\b'

Length of output: 482


Update git-cliff configuration to remove Conventional Commits enforcement

Verified there are no remaining Husky or Commitizen references in the repo. However, your cliff.toml still requires Conventional Commits, which will produce sparse or empty changelogs now that local hooks are gone:

• cliff.toml (around lines 35–38):

- # parse the commits based on https://www.conventionalcommits.org
- conventional_commits = true
- # filter out the commits that are not conventional
- filter_unconventional = true

Action items:
– Remove or set both conventional_commits and filter_unconventional to false, or adjust your template so that non-conventional commits are included.
– If you still want structured commit messages, add a CI check (for example, run npm run check or a commit-lint GitHub Action) in .github/workflows/*.yml to enforce conventions centrally.
– Confirm changelog generation now captures all relevant commits without local hooks.

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In package.json around lines 16 to 16, update your git-cliff configuration
(cliff.toml, ~lines 35–38) to stop enforcing Conventional Commits: open
cliff.toml and either remove the conventional_commits and filter_unconventional
settings or set both to false, or alternatively adjust the cliff template to
include non-conventional commits; if you still want enforcement, add a CI check
(e.g., run npm run check or a commit-lint Action) in .github/workflows/*.yml so
conventions are enforced centrally and changelog generation captures all
relevant commits.

@flicksolutions
Copy link
Member Author

@coderabbitai configuration

Copy link
Contributor

coderabbitai bot commented Aug 22, 2025

CodeRabbit configuration
language: en-US
tone_instructions: ''
early_access: false
enable_free_tier: true
reviews:
  profile: chill
  request_changes_workflow: false
  high_level_summary: true
  high_level_summary_placeholder: '@coderabbitai summary'
  high_level_summary_in_walkthrough: false
  auto_title_placeholder: '@coderabbitai'
  auto_title_instructions: ''
  review_status: true
  commit_status: true
  fail_commit_status: false
  collapse_walkthrough: false
  changed_files_summary: true
  sequence_diagrams: true
  estimate_code_review_effort: true
  assess_linked_issues: true
  related_issues: true
  related_prs: true
  suggested_labels: true
  auto_apply_labels: false
  suggested_reviewers: true
  auto_assign_reviewers: false
  poem: true
  labeling_instructions: []
  path_filters: []
  path_instructions: []
  abort_on_close: true
  disable_cache: false
  auto_review:
    enabled: true
    auto_incremental_review: true
    ignore_title_keywords: []
    labels: []
    drafts: false
    base_branches: []
    ignore_usernames: []
  finishing_touches:
    docstrings:
      enabled: true
    unit_tests:
      enabled: true
  pre_merge_checks:
    docstrings:
      mode: warning
      threshold: 80
    title:
      mode: warning
      requirements: ''
    description:
      mode: warning
    issue_assessment:
      mode: warning
  tools:
    ast-grep:
      rule_dirs: []
      util_dirs: []
      essential_rules: true
      packages: []
    shellcheck:
      enabled: true
    ruff:
      enabled: true
    markdownlint:
      enabled: true
    github-checks:
      enabled: true
      timeout_ms: 90000
    languagetool:
      enabled: true
      enabled_rules: []
      disabled_rules: []
      enabled_categories: []
      disabled_categories: []
      enabled_only: false
      level: default
    biome:
      enabled: true
    hadolint:
      enabled: true
    swiftlint:
      enabled: true
    phpstan:
      enabled: true
      level: default
    phpmd:
      enabled: true
    phpcs:
      enabled: true
    golangci-lint:
      enabled: true
    yamllint:
      enabled: true
    gitleaks:
      enabled: true
    checkov:
      enabled: true
    detekt:
      enabled: true
    eslint:
      enabled: true
    flake8:
      enabled: true
    rubocop:
      enabled: true
    buf:
      enabled: true
    regal:
      enabled: true
    actionlint:
      enabled: true
    pmd:
      enabled: true
    cppcheck:
      enabled: true
    semgrep:
      enabled: true
    circleci:
      enabled: true
    clippy:
      enabled: true
    sqlfluff:
      enabled: true
    prismaLint:
      enabled: true
    pylint:
      enabled: true
    oxc:
      enabled: true
    shopifyThemeCheck:
      enabled: true
    luacheck:
      enabled: true
    brakeman:
      enabled: true
    dotenvLint:
      enabled: true
    htmlhint:
      enabled: true
    checkmake:
      enabled: true
    osvScanner:
      enabled: true
chat:
  art: true
  auto_reply: true
  integrations:
    jira:
      usage: auto
    linear:
      usage: auto
knowledge_base:
  opt_out: false
  web_search:
    enabled: true
  code_guidelines:
    enabled: true
    filePatterns: []
  learnings:
    scope: auto
  issues:
    scope: auto
  jira:
    usage: auto
    project_keys: []
  linear:
    usage: auto
    team_keys: []
  pull_requests:
    scope: auto
  mcp:
    usage: auto
    disabled_servers: []
code_generation:
  docstrings:
    language: en-US
    path_instructions: []
  unit_tests:
    path_instructions: []

@flicksolutions
Copy link
Member Author

I also added a @coderabbitai config file to shut the bunny up. Hope this works well.

Copy link
Contributor

coderabbitai bot commented Aug 22, 2025

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Search for CodeRabbit configuration files
fd -e yaml -e yml -e json | grep -i coderabbit
fd ".coderabbit" -t f
fd "coderabbit" -t f
# Also check for any config files that might contain coderabbit settings
rg -l "coderabbit" --type=yaml --type=json --type=toml

Length of output: 163


🏁 Script executed:

#!/bin/bash
# Read the CodeRabbit configuration file
cat .coderabbit.yaml

Length of output: 3576


@flicksolutions Good configuration! Your .coderabbit.yaml file makes targeted changes that should indeed reduce the chattiness while keeping the core review functionality. Here's what your config does:

Reduces noise by disabling:

  • Review status comments (review_status: false)
  • Sequence diagrams (sequence_diagrams: false)
  • Code review effort estimates (estimate_code_review_effort: false)
  • Related PR suggestions (related_prs: false)
  • Reviewer suggestions (suggested_reviewers: false)
  • Poems (poem: false)
  • ASCII art (chat.art: false)

Keeps the valuable stuff:

  • Automated reviews (auto_review.enabled: true)
  • Static analysis tools (shellcheck, markdownlint, etc.)
  • High-level summaries and changed files summary
  • Issue assessment and labeling

This strikes a nice balance - you'll still get meaningful code review feedback without the extra fluff. The "bunny" should be much quieter now while still being helpful! 🐰🤫

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

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 (8)
.coderabbit.yaml (8)

5-12: Keep the “Chill” profile; consider enabling lightweight status visibility

The review profile and summary toggles look sensible for this repo. However, with commitizen/husky removed, having a visible status comment can help collaborators discover what the bot checked.

-  review_status: false
+  review_status: true

29-30: Add path filters to focus reviews and skip build/artifact directories

Tighten scope to speed up reviews and avoid scanning generated content, large binaries, and caches common in static-site repos (Quarto/GitHub Pages).

-  path_filters: []
+  path_filters:
+    # Include typical source/content locations first
+    - "content/**"
+    - ".github/**"
+    - "scripts/**"
+    # Exclude generated and vendor paths
+    - "!_site/**"          # Quarto/GitHub Pages output
+    - "!public/**"
+    - "!dist/**"
+    - "!build/**"
+    - "!node_modules/**"
+    - "!.quarto/**"
+    - "!.cache/**"
+    - "!.git/**"
+    - "!**/*.png"
+    - "!**/*.jpg"
+    - "!**/*.jpeg"
+    - "!**/*.gif"
+    - "!**/*.pdf"

33-40: Consider reviewing draft PRs for earlier feedback

With pre-commit hooks gone, early feedback on drafts can be valuable.

-    drafts: false
+    drafts: true

41-45: Disable “finishing touches” generators to avoid noisy, non-applicable suggestions

For a static site, auto-generating docstrings/unit tests is mostly irrelevant and can distract reviewers.

   finishing_touches:
     docstrings:
-      enabled: true
+      enabled: false
     unit_tests:
-      enabled: true
+      enabled: false

46-56: Turn off docstring coverage pre-merge check

Docstring coverage is not applicable here and may surface confusing warnings.

   pre_merge_checks:
     docstrings:
-      mode: warning
-      threshold: 80
+      mode: off
+      # threshold retained for reference, not used when mode=off
+      threshold: 80

69-71: Adjust GitHub Checks timeout based on enabled tools

If you keep many linters enabled, 90s can be tight. Either prune tools (recommended) or increase the timeout.

-      timeout_ms: 90000
+      timeout_ms: 180000

160-161: Either point code guidelines to an existing doc or disable to avoid confusion

If you don’t maintain any coding guideline docs in this repo, disable this to prevent the bot from looking for non-existent standards. Otherwise, reference the actual file(s).

Option A — disable:

  code_guidelines:
-    enabled: true
-    filePatterns: []
+    enabled: false
+    filePatterns: []

Option B — keep enabled and add patterns (example if you later add guidelines):

  code_guidelines:
     enabled: true
-    filePatterns: []
+    filePatterns:
+      - ".github/instructions/*.instructions.md"
+      - ".github/CODING_GUIDELINES.md"

178-182: Disable code generation for docstrings/unit tests in a content repo

Prevents irrelevant suggestions and keeps PR noise down.

code_generation:
  docstrings:
-    language: en-US
-    path_instructions: []
+    language: en-US
+    path_instructions: []
+    # Consider disabling entirely for this repo:
+    # enabled: false
  unit_tests:
-    path_instructions: []
+    path_instructions: []
+    # enabled: false
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 3eb90cd and 947460e.

📒 Files selected for processing (1)
  • .coderabbit.yaml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build, Optimize, and Upload Artifacts
🔇 Additional comments (2)
.coderabbit.yaml (2)

147-155: Chat settings look good

Art disabled and auto-replies enabled suit this repository’s workflow.


57-146: It looks like we only saw counts for two of the expected 22 language patterns—without the full breakdown, we can’t confidently prune the toolset. Could you rerun the script and share the complete output for all patterns (python, javascript, go, ruby, kotlin, swift, php, java, cpp, rust, proto, rego, dockerfile, sql, prisma, lua, html, yaml, markdown, make, env, github_workflows)? Thanks!

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.

Get rid of commitizen?
1 participant