Skip to content

Comments

fix: Check for all official commitlint config file formats#308

Merged
kami619 merged 1 commit intoambient-code:mainfrom
ntkathole:fix_commitlint
Feb 20, 2026
Merged

fix: Check for all official commitlint config file formats#308
kami619 merged 1 commit intoambient-code:mainfrom
ntkathole:fix_commitlint

Conversation

@ntkathole
Copy link
Contributor

@ntkathole ntkathole commented Feb 19, 2026

Description

The ConventionalCommitsAssessor in agentready was hardcoded to only check for .commitlintrc.json and .husky/, but the projects using other formats like .commitlintrc.yaml - a valid commitlint config format wasn't being recognized.

Type of Change

  • Bug fix (non-breaking change which fixes 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)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement
  • Test coverage improvement

Changes Made

Updated the assessor in src/agentready/assessors/stub_assessors.py to check for all official commitlint config file formats (.commitlintrc, .commitlintrc.json, .commitlintrc.yaml, .commitlintrc.yml, .commitlintrc.js, .commitlintrc.cjs, .commitlintrc.mjs, .commitlintrc.ts, .commitlintrc.cts, commitlint.config.js, commitlint.config.cjs, commitlint.config.mjs, commitlint.config.ts, commitlint.config.cts).

Testing

  • Unit tests pass (pytest)
  • Integration tests pass
  • Manual testing performed
  • No new warnings or errors

Checklist

  • My code follows the project's code style
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

@github-actions
Copy link
Contributor

AgentReady Code Review — PR #308

fix: Check for all official commitlint config file formats


Summary

This is a straightforward and correct bug fix. The ConventionalCommitsAssessor was previously limited to detecting only .commitlintrc.json, causing false negatives for the majority of valid commitlint configurations. The fix aligns detection with the full set of officially supported config formats.


AgentReady Attribute Compliance

Attribute affected: conventional_commits (Tier 2, weight: 0.03)

Aspect Assessment
Fix correctness ✅ Addresses real false negatives
Config list completeness ✅ Matches official commitlint docs
Scoring impact Tier 2 — missed detections previously cost repositories up to ~0.9 score points
Backwards compatibility ✅ No breaking changes

Score impact example: A repo using .commitlintrc.yaml would have incorrectly scored 0 on this attribute before. After this fix, it correctly scores 100.


Code Quality

Strengths:

  • any() with a generator expression is idiomatic and memory-efficient — preferred over materializing a list with a list comprehension.
  • The config list is exhaustive and matches the official commitlint configuration reference.
  • Single responsibility: the change is minimal and focused.

Minor concerns:

  1. commitlint.config.cts missing from list — The PR description mentions it, and it appears in the code, but double-check the diff: .commitlintrc.cts is present but commitlint.config.cts should also be verified present (it is in the diff ✅).

  2. package.json commitlint key not checked — Commitlint can also be configured inline in package.json:

    { "commitlint": { "extends": ["@commitlint/config-conventional"] } }

    This is a pre-existing gap, not introduced by this PR, but worth a follow-up issue.

  3. Husky alone is not evidence of commitlint.husky/ existing only proves husky is installed, not that a commit-msg hook invokes commitlint. This pre-existing logic conflates the two. Out of scope for this PR but worth noting.


Security

No security concerns. This change only reads from the filesystem using Path.exists(), consistent with the existing pattern in the assessor.


Testing

Gap: No tests were added for this fix, and the PR checklist reflects this (unit tests unchecked). The existing tests/unit/test_assessors_stub.py has zero coverage of ConventionalCommitsAssessor.

Suggested test cases to add:

@pytest.mark.parametrize("config_file", [
    ".commitlintrc",
    ".commitlintrc.yaml",
    ".commitlintrc.yml",
    ".commitlintrc.ts",
    "commitlint.config.js",
    "commitlint.config.ts",
])
def test_conventional_commits_detects_config_formats(tmp_path, config_file):
    (tmp_path / config_file).touch()
    repo = Repository(path=tmp_path)
    assessor = ConventionalCommitsAssessor()
    finding = assessor.assess(repo)
    assert finding.status == "pass"
    assert finding.score == 100.0

def test_conventional_commits_fails_with_no_config(tmp_path):
    repo = Repository(path=tmp_path)
    assessor = ConventionalCommitsAssessor()
    finding = assessor.assess(repo)
    assert finding.status == "fail"
    assert finding.score == 0.0

Tests would also catch regressions if the config list is edited in the future.


Verdict

Approve with non-blocking suggestions. The core fix is correct, minimal, and clearly scoped. The two follow-up items (package.json support, test coverage) are pre-existing gaps that should be tracked separately rather than blocking this fix.

Recommend adding test coverage before or shortly after merge given this project targets >80% test coverage per CLAUDE.md.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 19, 2026

📈 Test Coverage Report

Branch Coverage
This PR 66.1%
Main 66.1%
Diff ✅ +0%

Coverage calculated from unit tests only

@github-actions
Copy link
Contributor

AgentReady Code Review

PR #308 · fix: Check for all official commitlint config file formats
Author: @ntkathole · CI: All checks passing ✅


Summary

This PR fixes a false-negative bug in ConventionalCommitsAssessor where only .commitlintrc.json was recognized as a commitlint configuration. The fix expands the check to cover all 14 official commitlint config file formats, aligning the assessor with the commitlint documentation.

File changed: src/agentready/assessors/stub_assessors.py (+19, -2)


AgentReady Attribute Compliance

Attribute Status Notes
Conventional Commits Commit message follows fix: format
Code Quality / Complexity Clean any() with generator — idiomatic Python
Type Annotations Local variables; method signature inherited from base class
Test Coverage ⚠️ No unit tests added for new behavior (see below)
Documentation Change is self-contained; CLAUDE.md update not required
Code Style Passes Black/isort/ruff (CI confirmed)

Security Review

  • No hardcoded secrets
  • No user-controlled input — only Path.exists() checks on known filenames
  • No subprocess usage
  • No path traversal risk — all paths are hardcoded string constants joined to repository.path

No security concerns.


Code Quality

The implementation is clean and correct.

Before (only one format checked):

has_commitlint = (repository.path / ".commitlintrc.json").exists()

After (all official formats, idiomatic any() + generator):

has_commitlint = any(
    (repository.path / cfg).exists() for cfg in commitlint_configs
)

Strengths:

  • Comprehensive list matches the official commitlint config spec
  • Generator expression with any() short-circuits on first match — efficient
  • One format per line makes the list easy to audit and diff

Minor issues:

  1. Stale comment — The inline comment # Simplified: Check if commitlint or husky is configured is no longer accurate now that the check is thorough. Suggest updating to:

    # Check all official commitlint config file formats
  2. Missing package.json commitlint field — It is valid to configure commitlint inline in package.json under the "commitlint" key. This is a common pattern and would still produce a false-negative. Not a blocker for this PR, but worth a follow-up issue.


Testing Gap (Requires Attention)

No unit tests were added. Per CLAUDE.md:

All new assessors must have unit tests · Maintain >80% coverage for new code

There are currently no direct unit tests for ConventionalCommitsAssessor in the test suite. The new behavior (accepting YAML, JS, TS, etc. config formats) is untested.

Suggested tests to add in tests/unit/test_assessors_stub.py (or equivalent):

@pytest.mark.parametrize("config_file", [
    ".commitlintrc",
    ".commitlintrc.yaml",
    ".commitlintrc.yml",
    ".commitlintrc.ts",
    "commitlint.config.js",
    "commitlint.config.ts",
])
def test_conventional_commits_detects_all_config_formats(tmp_path, config_file):
    (tmp_path / config_file).touch()
    repo = Repository(path=tmp_path)
    assessor = ConventionalCommitsAssessor()
    finding = assessor.assess(repo)
    assert finding.status == "pass"
    assert finding.score == 100.0

def test_conventional_commits_fails_when_no_config(tmp_path):
    repo = Repository(path=tmp_path)
    finding = ConventionalCommitsAssessor().assess(repo)
    assert finding.status == "fail"
    assert finding.score == 0.0

Estimated Score Impact

  • For assessed repositories: Repositories previously scored 0 on conventional_commits due to using YAML/JS/TS commitlint configs will now correctly score 100. This is a positive correctness improvement.
  • For AgentReady self-assessment: No change (AgentReady uses .husky/, already detected).

Verdict

The fix is correct and well-implemented. The only blocking concern before merge is the missing unit tests. The stale comment and package.json gap are non-blocking (the latter can be a follow-up issue).

Recommend: Add unit tests covering the new config formats, update the inline comment, then merge.


Review generated by AgentReady code review skill

@kami619
Copy link
Collaborator

kami619 commented Feb 19, 2026

@ntkathole, thank you for this contribution, I think you make a valid case for broadening the assessor scope, did you want to address the comment around All new assessors must have unit tests · Maintain >80% coverage for new code ?

@github-actions
Copy link
Contributor

AgentReady Code Review — PR #308

Reviewer: Claude Code (AgentReady Development Agent)
Date: 2026-02-19
Scope: AgentReady attribute compliance · Security · Code quality · Best practices


Summary

This PR fixes a real bug: ConventionalCommitsAssessor was hardcoded to only detect .commitlintrc.json, missing 13 other valid commitlint config file formats. The fix is correct and the format list matches the official commitlint documentation.

Overall verdict: Request changes — no tests, and conflicts with PR #310.


AgentReady Attribute Impact

Attribute Effect
conventional_commits ✅ Improves precision — eliminates false negatives for repos using .commitlintrc.yaml, .commitlintrc.ts, commitlint.config.js, etc.
test_coverage ❌ No tests added for the new detection paths

Issues

🔴 No tests added

Per CLAUDE.md: "All new assessors must have unit tests". This PR modifies detection logic in a production assessor but the PR checklist confirms no tests were written ([ ] I have added tests that prove my fix is effective).

Each new config format should have at least a positive detection test. At minimum, tests for the formats most likely to be encountered in the wild (.commitlintrc.yaml, .commitlintrc.yml, commitlint.config.js) should be added.


🔴 Conflict with PR #310

Both PRs modify the exact same lines in stub_assessors.py. PR #310 also changes ConventionalCommitsAssessor (adding pre-commit support). Whichever merges second will have a merge conflict.

Recommendation: Coordinate with PR #310 author to combine both changes into one PR, or handle as a sequential rebase. The combined assessor should include both: the expanded commitlint format list from this PR and the pre-commit hook detection from PR #310.


🟡 package.json commitlint config not covered (nice-to-have)

The commitlint.config.js etc. formats are covered, but some repos configure commitlint directly in package.json under a "commitlint" key:

{
  "commitlint": {
    "extends": ["@commitlint/config-conventional"]
  }
}

Not a blocker, but worth noting as a follow-up gap.


Security

No issues. Read-only path existence checks, no user input, no subprocess calls.


Code Quality: Positives

  • ✅ The format list is accurate and matches official commitlint docs
  • ✅ Uses any(... for cfg in commitlint_configs) idiom cleanly
  • ✅ Small, focused, easy to review
  • ✅ PR description clearly explains the bug being fixed

Required Before Merge

  1. Add unit tests for the new config format detection paths
  2. Coordinate with PR fix(cli): check .pre-commit-config.yaml for conventional commit #310 to resolve the merge conflict / combine work

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

AgentReady Code Review

Summary

PR #308 is a small, focused fix that expands ConventionalCommitsAssessor to recognise all 14 official commitlint config file formats, rather than just .commitlintrc.json. The change is correct and complete for the commitlint side, but ships without tests and has a coordination issue with the open PR #310.


AgentReady Attribute Impact

Attribute Impact Notes
test_coverage ⚠️ Concern Fix is untested; no new unit tests added
pre_commit_hooks ✅ Positive Fewer false-fail results for repos using non-JSON commitlint configs

Estimated Score Impact: +0–1 points (reduces false-fail penalty for repos using .commitlintrc.yaml, .commitlintrc.ts, etc.)


Issues Found

🔴 Critical

  • Latent merge conflict with PR #310 (stub_assessors.py:236–254): PR #310 (open) modifies the same assess() block, including the has_commitlint variable. If PR #308 merges first, PR #310 must be rebased and updated to incorporate the new multi-format list. If PR #310 merges first, this PR's fix is lost entirely. Coordinate with the PR #310 author.

🟡 Warnings

  • No tests (tests/): The PR checklist explicitly marks test coverage as not done. At minimum, add a parameterised test verifying each of the new config formats is detected. Example:

    @pytest.mark.parametrize("config_file", [
        ".commitlintrc.yaml", ".commitlintrc.yml", ".commitlintrc.ts",
        "commitlint.config.js", "commitlint.config.ts",
    ])
    def test_commitlint_config_formats(self, tmp_path, config_file):
        (tmp_path / config_file).write_text("extends: ['@commitlint/config-conventional']")
        ...
        assert finding.status == "pass"
  • Missing package.json commitlint key: The official commitlint docs list package.json with a "commitlint" field as a supported config source. This is out of scope for a focused fix, but worth a follow-up issue.

🟢 Suggestions

  • Missing .commitlintrc.mts: The list includes .commitlintrc.cts but not .commitlintrc.mts (ESM TypeScript). Neither is in the current official docs, so this is minor — just flag it for awareness.

Security Assessment

No security issues identified. The change is a pure static list extension with no file I/O or execution.


Positive Changes

  • The any(... for cfg in commitlint_configs) pattern is clean and easily extensible
  • Covers all formats listed in the official commitlint documentation

Recommendation

REQUEST_CHANGES — Add at least a parameterised unit test for the new config formats, and coordinate merge order with PR #310 to avoid losing this fix. The underlying change itself is correct.

@github-actions
Copy link
Contributor

AgentReady Code Review — PR #308

Reviewer: Claude Code (AgentReady Review Agent)
Date: 2026-02-19
Score Impact: Positive — reduces false negatives for conventional_commits assessor


Summary

This PR fixes a real gap: the original assessor checked only .commitlintrc.json but commitlint officially supports 14 config file formats. Projects using .commitlintrc.yaml, commitlint.config.ts, etc. were incorrectly scored as not having conventional commits configured. The fix is minimal, correct, and easy to review.


Strengths

  • Correct and complete list: All 14 formats from the official commitlint documentation are covered (.commitlintrc, .commitlintrc.json, .commitlintrc.yaml, .commitlintrc.yml, .commitlintrc.js, .commitlintrc.cjs, .commitlintrc.mjs, .commitlintrc.ts, .commitlintrc.cts, commitlint.config.js, commitlint.config.cjs, commitlint.config.mjs, commitlint.config.ts, commitlint.config.cts).
  • Generator expression is efficient: any((repo.path / cfg).exists() for cfg in commitlint_configs) short-circuits on first match.
  • Minimal diff: No unrelated changes, no scope creep.

Issues

High

1. No tests included

All test checklist items are unchecked in the PR description. This is a direct miss against the project's test requirements (CLAUDE.md: "All new assessors must have unit tests"). The fix should include at minimum:

  • A test verifying .commitlintrc.yaml is detected (the stated motivation for the PR)
  • A test verifying .commitlintrc.js is detected (TypeScript/ESM projects)
  • A test verifying commitlint.config.ts is detected
  • The existing negative case (no config → fail) remains passing

Without tests, a future refactor could silently drop formats from the list with no breakage signal.

Medium

2. Conflict with PR #310

PR #310 modifies the same assess() method to add .pre-commit-config.yaml support, but retains the original single .commitlintrc.json check. Merging this PR first and then #310 would drop all the new formats added here. These PRs need to be co-ordinated — ideally one stacks on the other, or they are combined.

Minor

3. package.json commitizen config not detected

A significant number of projects configure conventional commits via commitizen in package.json (key: config.commitizen.path) or in pyproject.toml ([tool.commitizen]). This is not blocking for this PR but is worth a follow-up issue.

4. No commitizen.config.js / cz.config.js support

Commitizen also supports standalone config files (cz.config.js, commitizen.config.js). Outside scope for this fix but worth noting.


AgentReady Attribute Compliance

Attribute Status Notes
conventional_commits Improved Broader detection reduces false negatives
test_coverage Missing No tests added; this is a gap
code_quality Pass Clean, idiomatic Python; follows existing style

Recommendation

Request changes: Tests must be added before merging. The change itself is correct — this is a low-risk, high-value fix that just needs test coverage to meet project standards. Once tests are added and the conflict with #310 is resolved (or acknowledged with a merge order), this is ready.

@github-actions
Copy link
Contributor

AgentReady Code Review — PR #308

Reviewed by: Claude Code (AgentReady Review Agent)
Date: 2026-02-19


Summary

This PR expands ConventionalCommitsAssessor to check all 14 official commitlint config file formats instead of only .commitlintrc.json. The fix is correct and addresses a real gap in the assessor.


AgentReady Attribute Impact

Attribute Tier Direction Notes
conventional_commits 2 ✅ Improved detection Fewer false negatives for JS/TS projects using non-JSON commitlint configs
test_coverage 2 ⚠️ No change No tests added — see below

Score Impact: This change reduces false negatives for the conventional_commits attribute, which is Tier 2 (30% weight bucket). Repositories that were incorrectly failing this check due to using .commitlintrc.yaml, .commitlintrc.ts, or other non-JSON formats will now correctly pass.


Code Quality

Strengths:

  • The any() generator expression is idiomatic and avoids unnecessary iteration:
    has_commitlint = any(
        (repository.path / cfg).exists() for cfg in commitlint_configs
    )
  • The list is accurate — all formats match commitlint's official documentation.

Issues:

1. Missing tests (blocking)
No tests were added for the expanded config format detection. The checklist in the PR description explicitly has no tests checked. This is inconsistent with AgentReady's own test_coverage attribute requirements.

At minimum, tests should verify:

  • Detection of .commitlintrc.yaml
  • Detection of commitlint.config.ts
  • Detection of .commitlintrc (bare, no extension)
  • No false positive when none are present

2. Conflict with PR #310
This PR and PR #310 both modify ConventionalCommitsAssessor.assess() and will conflict on merge. PR #310 also expands commitlint detection (stays on .commitlintrc.json only) and adds pre-commit support with extensive tests. The projects should be coordinated:

3. Missing commitlint.config.cts in description
The PR description lists all formats correctly but the code adds commitlint.config.cts (the TypeScript CommonJS variant). Worth double-checking this is intentional and not a typo — commitlint does support this.


Security

No security concerns. This change only calls .exists() on constructed paths within the repository root — no path traversal risk since repository.path is already validated upstream, and the filenames are all static strings.


Best Practices


Verdict

Request Changes — The fix itself is correct, but tests are required before merge. Additionally, this PR should be coordinated with PR #310 since both touch the same assessor.

@github-actions
Copy link
Contributor

AgentReady Code Review

PR: fix: Check for all official commitlint config file formats
Reviewer: Claude (automated review)


Summary

This PR extends ConventionalCommitsAssessor to detect all 14 official commitlint config file formats, fixing a real gap where repos using .commitlintrc.yaml, .commitlintrc.ts, and other formats were incorrectly scored as non-compliant.

Overall: Correct fix, but needs tests before merge.


AgentReady Attribute Compliance

Attribute Status Notes
Test Coverage ⚠️ Fail No tests added for new config formats
Code Style ✅ Pass Clean any(...) idiom, Pythonic
Documentation ⚠️ Partial PR checklist is largely unchecked
Conventional Commits ✅ Pass Commit message follows convention

Issues

🔴 Critical

None.

🟡 Important

1. No tests added

The PR checklist explicitly marks "I have added tests" as unchecked. Per CLAUDE.md: "All new assessors must have unit tests". The existing TestConventionalCommitsAssessor class (or lack thereof, at this point in the branch) needs cases for at least:

  • .commitlintrc.yaml is detected
  • .commitlintrc.yml is detected
  • commitlint.config.ts is detected
  • .commitlintrc (no extension) is detected

2. Conflict with PR #310

Both this PR and PR #310 modify the same ConventionalCommitsAssessor.assess() method. They cannot both merge cleanly without a rebase. If #310 merges first, this PR will need to be rebased to include both the new file formats AND the pre-commit YAML detection. Recommend coordinating with the #310 author.

🟢 Suggestions

3. Missing package.json commitlint detection

Many Node.js projects configure commitlint directly in package.json under a "commitlint" key (e.g., {"commitlint": {"extends": ["@commitlint/config-conventional"]}}). This is an official configuration method per the commitlint docs. Consider adding a check for this pattern in a follow-up.

4. .commitlintrc.ts requires TypeScript runtime

Worth noting in documentation: .commitlintrc.ts and .commitlintrc.cts require a TypeScript-capable runtime at commit time. These are legitimate configs to detect, but they're less common. No code change needed — just awareness.


Strengths

  • The list of 14 config formats matches the official commitlint configuration docs exactly.
  • The any((repository.path / cfg).exists() for cfg in commitlint_configs) pattern is clean and readable.
  • Non-breaking change with minimal diff surface.
  • Correct fix for a genuine false-negative in the assessor.

Verdict

Request changes — the logic is correct, but tests are required per project standards before this can merge. Adding 3-4 test cases for the new file formats would make this PR complete.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

AgentReady Code Review — PR #308

fix: Check for all official commitlint config file formats

Summary

This is a correct and well-scoped bug fix. ConventionalCommitsAssessor was limited to .commitlintrc.json, causing false negatives for the majority of valid commitlint setups. The fix is minimal and addresses the root cause directly.


AgentReady Attribute Compliance

Attribute affected: conventional_commits (Tier 2, weight ~0.03)

Aspect Assessment
Fix correctness ✅ Addresses real false negatives
Config list completeness ✅ Matches official commitlint docs
Backwards compatibility ✅ No breaking changes, purely additive
Assessor pattern ✅ Consistent with existing BaseAssessor implementation

Score impact: Repos using any config format other than .commitlintrc.json (e.g. .commitlintrc.yaml, commitlint.config.ts) would have incorrectly scored 0 on this Tier 2 attribute. After this fix they correctly score 100.


Security

No security concerns. Path.exists() only — no file I/O, no subprocess, no user input.


Code Quality

Strengths:

  • any() with a generator expression is idiomatic and efficient
  • The config list is exhaustive and matches the official commitlint configuration reference
  • Single responsibility: change is minimal and laser-focused

Issues:

1. No tests added — The PR checklist shows unit tests unchecked, and there is currently zero test coverage for ConventionalCommitsAssessor. This is the only required change for approval.

Suggested parametrized test to add in tests/unit/test_assessors_stub.py:

@pytest.mark.parametrize("config_file", [
    ".commitlintrc",
    ".commitlintrc.yaml",
    ".commitlintrc.yml",
    ".commitlintrc.ts",
    "commitlint.config.js",
    "commitlint.config.ts",
    "commitlint.config.cts",
])
def test_conventional_commits_detects_all_config_formats(tmp_path, config_file):
    subprocess.run(["git", "init"], cwd=tmp_path, capture_output=True, check=True)
    (tmp_path / config_file).touch()
    repo = Repository(
        path=tmp_path, name="test", url=None, branch="main",
        commit_hash="abc", languages={}, total_files=1, total_lines=1,
    )
    finding = ConventionalCommitsAssessor().assess(repo)
    assert finding.status == "pass"
    assert finding.score == 100.0

2. Pre-existing gap not addressed here.husky/ existing only proves husky is installed, not that a commit-msg hook actually invokes commitlint. Out of scope for this PR, but a follow-up issue would be useful.

3. Coordination with PR #310 — PR #310 also modifies ConventionalCommitsAssessor and adds package.json + pre-commit detection. One of these PRs should build on the other to avoid merge conflicts and missing features. If #308 merges first, #310 will need a rebase that incorporates the full config list.


Best Practices

The commitlint_configs list is defined inside assess(). Since it's a fixed constant, it would be more appropriate as a class-level attribute or module-level constant, making it easier to extend and test:

class ConventionalCommitsAssessor(BaseAssessor):
    _COMMITLINT_CONFIGS = [
        ".commitlintrc",
        ".commitlintrc.json",
        # ...
    ]

This is a non-blocking suggestion.


Required Changes

  1. Add unit tests for at least the new config formats — this is blocking per project test requirements

Suggestions (non-blocking)

  • Extract commitlint_configs to a class-level constant
  • File a follow-up issue for package.json commitlint detection (covered in PR #310)
  • Coordinate merge order with PR #310 to avoid rework

Verdict

REQUEST CHANGES — The fix logic is correct and complete, but unit tests are required before merge per project policy. Adding a parametrized test for the new config formats (see example above) would satisfy this requirement.

@ntkathole ntkathole force-pushed the fix_commitlint branch 2 times, most recently from 92f4a4a to 29df278 Compare February 20, 2026 04:02
Signed-off-by: ntkathole <nikhilkathole2683@gmail.com>
@kami619
Copy link
Collaborator

kami619 commented Feb 20, 2026

@ntkathole for the contribution. Appreciate you adding the tests as well. lgtm.

@kami619 kami619 merged commit 50588cf into ambient-code:main Feb 20, 2026
11 checks passed
github-actions bot pushed a commit that referenced this pull request Feb 20, 2026
## [2.29.1](v2.29.0...v2.29.1) (2026-02-20)

### Bug Fixes

* Check for all official commitlint config file formats ([#308](#308)) ([50588cf](50588cf))
@github-actions
Copy link
Contributor

🎉 This PR is included in version 2.29.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants