Skip to content

Added LLM-based website docs validation section to CONTRIBUTING.md #194

Merged
sacOO7 merged 3 commits intomainfrom
feature/doc-update-release-process
Mar 4, 2026
Merged

Added LLM-based website docs validation section to CONTRIBUTING.md #194
sacOO7 merged 3 commits intomainfrom
feature/doc-update-release-process

Conversation

@sacOO7
Copy link
Contributor

@sacOO7 sacOO7 commented Feb 20, 2026

  • Fixes https://ably.atlassian.net/browse/DX-485
  • Added a new section in CONTRIBUTING.md with an LLM prompt to validate Kotlin/Android code snippets in the web documentation against the SDK source code.

Summary by CodeRabbit

  • Documentation
    • Reorganized publishing guidance into a dedicated "Publishing to Maven Central" section and added an explicit publishing command with CI in-memory signing notes.
    • Added a "Prerequisites for Publishing to Maven Central" block listing OSSRH credentials, GPG signing, and environment-based signing options.
    • Expanded the Release Process and PR workflow with stepwise publishing, mandatory docs version-sync/bump, and a "validate website doc snippets" verification/reporting procedure.

Adds a new section in CONTRIBUTING.md with an LLM prompt to validate Kotlin/Android code snippets in the web documentation against the SDK source code. This validation step is now integrated into the release process (Step 5) to ensure documentation accuracy before each release. Also renumbers subsequent release steps and clarifies that SDK version PRs are required even without API changes.
@sacOO7 sacOO7 changed the title docs: add LLM-based validation step for website documentation snippets [DX-485] docs: add LLM-based validation step for website documentation snippets Feb 20, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 20, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Rewrote CONTRIBUTING.md to center on publishing to Maven Central: added OSSRH/GPG prerequisites, a publishing command with CI in-memory signing notes, reorganized the Release Process and PR/docs workflow, and added a "Validate website doc snippets" verification procedure. (49 words)

Changes

Cohort / File(s) Summary
CONTRIBUTING.md
CONTRIBUTING.md
Replaced "Prerequisites for Release" with "Prerequisites for Publishing to Maven Central"; moved/renamed Documentation section to "Publishing to Maven Central"; added OSSRH and GPG credential guidance and gradle.properties notes; added ./gradlew publishAndReleaseToMavenCentral publishing command and CI in-memory signing instructions; introduced "Validate website doc snippets" verification procedure and validation report format; reorganized Release Process and PR/docs workflow steps.

Sequence Diagram(s)

sequenceDiagram
    participant Dev as Developer
    participant CI as CI Pipeline
    participant Site as Website/Docs
    participant Maven as Maven Central (OSSRH)
    participant SDK as SDK (validation runtime)

    Dev->>Site: Update docs/snippets
    Dev->>Repo: Open PR (includes doc + code changes)
    CI->>Repo: Run tests & build
    CI->>SDK: Run "Validate website doc snippets" (execute Kotlin/Android snippets)
    SDK-->>CI: Validation report (pass/fail, details)
    CI->>Maven: Execute `publishAndReleaseToMavenCentral` with in-memory signing
    Maven-->>CI: Publish result (success/failure)
    CI-->>Dev: Report results (validation + publish status)
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐇 I hop through lines of publishing lore,
I hide my GPG keys and guard the door.
CI hums softly, snippets all checked through,
Maven carrots ready — ready for you. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding an LLM-based website docs validation section to CONTRIBUTING.md, which aligns with the PR objectives and file modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/doc-update-release-process

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

Comment @coderabbitai help to get the list of available commands and usage tips.

@sacOO7 sacOO7 changed the title [DX-485] docs: add LLM-based validation step for website documentation snippets docs: add LLM-based validation step for website documentation snippets Feb 20, 2026
@github-actions github-actions bot temporarily deployed to staging/pull/194/dokka February 20, 2026 09:38 Inactive
@github-actions
Copy link

github-actions bot commented Feb 20, 2026

Code Coverage

Total Project Coverage 85.20%

@sacOO7
Copy link
Contributor Author

sacOO7 commented Feb 23, 2026

@coderabbitai review

@coderabbitai
Copy link

coderabbitai bot commented Feb 23, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-actions github-actions bot temporarily deployed to staging/pull/194/dokka February 23, 2026 04:40 Inactive
Copy link

@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: 2

🧹 Nitpick comments (1)
CONTRIBUTING.md (1)

239-240: Consider making the validation step unconditional to align with the mandatory docs PR in Step 6.

Step 5 is guarded by a condition ("If you've deprecated…or are uncertain"), but Step 6 mandates a docs PR for every release regardless of API changes. A developer who is confident their internal-only changes have no public API impact could reasonably skip Step 5 yet must still open a Step 6 PR. Running the validation unconditionally before every release would ensure the docs PR in Step 6 always starts from a verified baseline.

✏️ Proposed fix
-5. If you've deprecated any public methods or properties, made changes to public interfaces, or are uncertain about the impact of your updates, run the [Validate website docs snippet changes](`#validate-website-docs-snippet-changes`) task locally. This will verify that the `kotlin` or `android` code snippets in the web documentation (https://github.com/ably/docs) are accurate and aligned with the current SDK source. Review the generated report and address any issues it identifies.
+5. Run the [Validate website docs snippet changes](`#validate-website-docs-snippet-changes`) task locally to verify that the `kotlin` and `android` code snippets in the web documentation (https://github.com/ably/docs) are accurate and aligned with the current SDK source. Review the generated report and address any issues it identifies.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` around lines 239 - 240, Update CONTRIBUTING.md so Step 5 is
unconditional: remove the conditional phrasing ("If you’ve deprecated…or are
uncertain") and state that the "Validate website docs snippet changes" task must
be run for every release before creating the docs PR in Step 6; ensure the text
explains that this validation verifies kotlin/android snippets in the web docs
and must be run even if there are no public API changes so the docs PR in Step 6
always starts from a verified baseline.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@CONTRIBUTING.md`:
- Around line 196-197: The two bullets reference non-Kotlin examples; replace
the "Missing keywords (e.g., `new` for constructors)" hint with Kotlin-relevant
cases (e.g., omitted `val`/`var` for declarations, missing `suspend` on
coroutine functions, incorrect companion object accessors) and replace the
"PascalCase for C# properties, camelCase for JavaScript" line with Kotlin naming
guidance (classes/objects use UpperCamelCase; functions, properties and local
variables use lowerCamelCase), ensuring the wording and examples match Kotlin
idioms.
- Line 181: The opening fenced code block that contains the prose prompt
starting with "Verify all `kotlin` and `android` annotated code snippets ..." is
missing a language identifier which triggers MD040; update that fence to include
a language (e.g., add "text" or "markdown" after the opening ```), so the block
becomes a fenced code block with a language specifier to satisfy markdownlint.

---

Nitpick comments:
In `@CONTRIBUTING.md`:
- Around line 239-240: Update CONTRIBUTING.md so Step 5 is unconditional: remove
the conditional phrasing ("If you’ve deprecated…or are uncertain") and state
that the "Validate website docs snippet changes" task must be run for every
release before creating the docs PR in Step 6; ensure the text explains that
this validation verifies kotlin/android snippets in the web docs and must be run
even if there are no public API changes so the docs PR in Step 6 always starts
from a verified baseline.

@sacOO7 sacOO7 force-pushed the feature/doc-update-release-process branch from f1307ef to 6e5f72e Compare February 23, 2026 05:11
@sacOO7 sacOO7 marked this pull request as ready for review February 23, 2026 05:13
@sacOO7 sacOO7 requested a review from ttypic February 23, 2026 05:13
@github-actions github-actions bot temporarily deployed to staging/pull/194/dokka February 23, 2026 05:17 Inactive
Copy link

@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)
CONTRIBUTING.md (2)

215-215: Specify an output path for the report file.

chat_kotlin_api_verification_report.md has no path qualifier, so the LLM will create it in whatever directory happens to be its working context. Anchoring it to {SDK_PATH} (or {DOCS_PATH}) makes the output deterministic and easy to find.

✏️ Proposed fix
-Create/update a markdown report file `chat_kotlin_api_verification_report.md` with all findings.
+Create/update a markdown report file at `{SDK_PATH}/chat_kotlin_api_verification_report.md` with all findings.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` at line 215, The directive to "Create/update a markdown
report file `chat_kotlin_api_verification_report.md`" lacks a deterministic
path; update the CONTRIBUTING.md line to specify an anchored output path (e.g.,
prefix the filename with {SDK_PATH}/ or {DOCS_PATH}/) so the generated report is
always created in the expected location; reference the exact filename
`chat_kotlin_api_verification_report.md` in your change and include the chosen
placeholder ({SDK_PATH} or {DOCS_PATH}) to make the output path explicit.

177-177: Outdated LLM model references.

"Claude Opus" and "GPT-4" are now several generations behind. Current top-tier models include Claude Opus 4.5 and GPT-5.2, with Gemini 3 Pro also ranking among the most capable. Consider updating the examples.

✏️ Suggested update
-> This prompt should be run with the most powerful LLM available to you (e.g. Claude Opus, GPT-4, etc.) for the best results.
+> This prompt should be run with the most powerful LLM available to you (e.g. Claude Opus 4.5, GPT-5, Gemini 3 Pro, etc.) for the best results.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` at line 177, Update the sentence "This prompt should be run
with the most powerful LLM available to you (e.g. Claude Opus, GPT-4, etc.) for
the best results." in CONTRIBUTING.md to cite current top-tier models instead of
outdated ones; replace the example list with modern models such as "Claude Opus
4.5, GPT-5.2, Gemini 3 Pro" (or similar current equivalents) so the guidance
stays accurate, ensuring the edited line still reads clearly and preserves the
original intent.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@CONTRIBUTING.md`:
- Line 186: The sentence that reads "code blocks with the `kotlin` and `android`
annotation in `.mdx` files" is ambiguous; change it to use "or" so it clearly
matches code fences annotated with either `kotlin` or `android` (e.g., replace
"`kotlin` and `android`" with "`kotlin` or `android`" in the line describing
search of `.mdx` code blocks) to ensure the filter selects blocks annotated with
either language.

---

Nitpick comments:
In `@CONTRIBUTING.md`:
- Line 215: The directive to "Create/update a markdown report file
`chat_kotlin_api_verification_report.md`" lacks a deterministic path; update the
CONTRIBUTING.md line to specify an anchored output path (e.g., prefix the
filename with {SDK_PATH}/ or {DOCS_PATH}/) so the generated report is always
created in the expected location; reference the exact filename
`chat_kotlin_api_verification_report.md` in your change and include the chosen
placeholder ({SDK_PATH} or {DOCS_PATH}) to make the output path explicit.
- Line 177: Update the sentence "This prompt should be run with the most
powerful LLM available to you (e.g. Claude Opus, GPT-4, etc.) for the best
results." in CONTRIBUTING.md to cite current top-tier models instead of outdated
ones; replace the example list with modern models such as "Claude Opus 4.5,
GPT-5.2, Gemini 3 Pro" (or similar current equivalents) so the guidance stays
accurate, ensuring the edited line still reads clearly and preserves the
original intent.

@sacOO7 sacOO7 changed the title docs: add LLM-based validation step for website documentation snippets Added LLM-based website docs validation section to CONTRIBUTING.md Feb 23, 2026
@sacOO7 sacOO7 force-pushed the feature/doc-update-release-process branch from 6e5f72e to 84d7427 Compare February 23, 2026 07:32
Copy link

@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

♻️ Duplicate comments (1)
CONTRIBUTING.md (1)

182-182: ⚠️ Potential issue | 🟡 Minor

Unresolved: and should be or in the annotation filter (both occurrences).

A single code fence carries exactly one annotation, so the conjunction and would logically require a block to simultaneously carry both kotlin and android — which is impossible — and would match nothing. The intended union filter needs or.

✏️ Proposed fix
-Verify all `kotlin` and `android` annotated code snippets in `.mdx` files located at `{DOCS_PATH}` against the `ably-chat-kotlin` source code repository at `{SDK_PATH}`.
+Verify all `kotlin` or `android` annotated code snippets in `.mdx` files located at `{DOCS_PATH}` against the `ably-chat-kotlin` source code repository at `{SDK_PATH}`.
-1. **Find all code snippets**: Search for all code blocks with the `kotlin` and `android` annotation in `.mdx` files.
+1. **Find all code snippets**: Search for all code blocks with the `kotlin` or `android` annotation in `.mdx` files.

Also applies to: 186-186

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` at line 182, Replace the incorrect conjunction "and" with
"or" in the annotation filter text that reads "Verify all `kotlin` and `android`
annotated code snippets..." (both occurrences) so the sentence correctly
describes a union filter (i.e., `kotlin` OR `android`) for code fences; update
both identical lines to use "or" to ensure the documentation matches the
intended annotation logic.
ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 6e5f72e and 84d7427.

📒 Files selected for processing (1)
  • CONTRIBUTING.md
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@CONTRIBUTING.md`:
- Line 215: The report filename chat_kotlin_api_verification_report.md is
ambiguous and may be emitted into {SDK_PATH} and accidentally committed; update
the instruction to write the report to an explicit path (for example
{SDK_PATH}/chat_kotlin_api_verification_report.md or
{DOCS_PATH}/chat_kotlin_api_verification_report.md) or add
chat_kotlin_api_verification_report.md to .gitignore as a fallback so the file
cannot be staged unintentionally.

---

Duplicate comments:
In `@CONTRIBUTING.md`:
- Line 182: Replace the incorrect conjunction "and" with "or" in the annotation
filter text that reads "Verify all `kotlin` and `android` annotated code
snippets..." (both occurrences) so the sentence correctly describes a union
filter (i.e., `kotlin` OR `android`) for code fences; update both identical
lines to use "or" to ensure the documentation matches the intended annotation
logic.

@github-actions github-actions bot temporarily deployed to staging/pull/194/dokka February 23, 2026 07:37 Inactive
@sacOO7 sacOO7 force-pushed the feature/doc-update-release-process branch from 84d7427 to 46a297d Compare February 23, 2026 07:39
@github-actions github-actions bot temporarily deployed to staging/pull/194/dokka February 23, 2026 07:41 Inactive
Copy link

@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.

♻️ Duplicate comments (2)
CONTRIBUTING.md (2)

182-186: ⚠️ Potential issue | 🟡 Minor

Use or instead of and for snippet language filters.

Line 182 and Line 186 still read as if a fence must be both kotlin and android. That can be interpreted too literally and miss snippets; this should be a union filter.

Suggested wording fix
-Verify all `kotlin` and `android` annotated code snippets in `.mdx` files located at `{DOCS_PATH}/src/pages/docs/chat` against the `ably-chat-kotlin` source code repository at `{SDK_PATH}`.
+Verify all `kotlin` or `android` annotated code snippets in `.mdx` files located at `{DOCS_PATH}/src/pages/docs/chat` against the `ably-chat-kotlin` source code repository at `{SDK_PATH}`.

-1. **Find all code snippets**: Search for all code blocks with the `kotlin` and `android` annotation in `.mdx` files.
+1. **Find all code snippets**: Search for all code blocks with the `kotlin` or `android` annotation in `.mdx` files.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` around lines 182 - 186, Update the verification wording that
currently requires code fences to be annotated with both `kotlin` and `android`
to instead use a union filter; replace instances of "kotlin and android" with
"kotlin or android" (e.g., the verification step that says "Find all code
snippets: Search for all code blocks with the `kotlin` and `android`
annotation") so the search captures snippets annotated with either `kotlin` or
`android`.

215-215: ⚠️ Potential issue | 🟡 Minor

Anchor report output to an explicit path.

Line 215 still leaves the report location ambiguous. Please write to a concrete path to avoid accidental generation/staging in the SDK repo root.

Suggested wording fix
-Create/update a markdown report file `chat_kotlin_api_verification_report.md` with all findings.
+Create/update a markdown report file at `{DOCS_PATH}/chat_kotlin_api_verification_report.md` with all findings.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` at line 215, Update the ambiguous instruction that
creates/updates "chat_kotlin_api_verification_report.md" to write to a concrete
path (e.g., tools/reports/chat_kotlin_api_verification_report.md or
docs/reports/chat_kotlin_api_verification_report.md) so the report is never
generated/staged in the repo root; change the line that mentions the report file
name to explicitly include the chosen directory (reference: the string
"chat_kotlin_api_verification_report.md") and ensure the wording says
"Create/update the markdown report at
<explicit/path>/chat_kotlin_api_verification_report.md with all findings."
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@CONTRIBUTING.md`:
- Around line 182-186: Update the verification wording that currently requires
code fences to be annotated with both `kotlin` and `android` to instead use a
union filter; replace instances of "kotlin and android" with "kotlin or android"
(e.g., the verification step that says "Find all code snippets: Search for all
code blocks with the `kotlin` and `android` annotation") so the search captures
snippets annotated with either `kotlin` or `android`.
- Line 215: Update the ambiguous instruction that creates/updates
"chat_kotlin_api_verification_report.md" to write to a concrete path (e.g.,
tools/reports/chat_kotlin_api_verification_report.md or
docs/reports/chat_kotlin_api_verification_report.md) so the report is never
generated/staged in the repo root; change the line that mentions the report file
name to explicitly include the chosen directory (reference: the string
"chat_kotlin_api_verification_report.md") and ensure the wording says
"Create/update the markdown report at
<explicit/path>/chat_kotlin_api_verification_report.md with all findings."

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 84d7427 and 046d43f.

📒 Files selected for processing (1)
  • CONTRIBUTING.md

@github-actions github-actions bot temporarily deployed to staging/pull/194/dokka March 2, 2026 13:17 Inactive
@sacOO7 sacOO7 requested a review from maratal March 2, 2026 15:13
Copy link

@maratal maratal left a comment

Choose a reason for hiding this comment

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

@sacOO7 sorry, I've forgot to post pending review

Copy link
Collaborator

@ttypic ttypic left a comment

Choose a reason for hiding this comment

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

Like idea very much! May I suggest a bit different implementation, we created https://github.com/ably/sdk-workspace repo recently. It early draft. But the main idea that in this repo we keep common scripts for sdk development. We require some predefine structure:

sdk-workspace-
      - ably-java
      - ably-chat-kotlin
      - docs
      - ...

because we know the structure we can predefine prompts, and use them as claude code skills. Take a look at the existing skills. I think this way it will be easier to run this skills we can also share context.


1. **Find all code snippets**: Search for all code blocks with the `kotlin` and `android` annotation in `.mdx` files.

2. **Understand SDK structure**: Analyze the SDK source code to understand:
Copy link
Collaborator

Choose a reason for hiding this comment

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

Maybe it will be easier for LLM to understand context from dokka-generated docs? I believe context will be much smaller and it definitely will only have public methods, maybe we should instruct to run doc generation task and check docs (in xml or md format to avoid additional html noise)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Dokka documentation would only supply context about method signatures, and navigating XML/HTML files would likely take a significant amount of time for LLMs. This approach hasn’t been tested yet like the current prompt, but we could consider adding it to Claude skills as part of https://ably.atlassian.net/browse/DX-837

@sacOO7
Copy link
Contributor Author

sacOO7 commented Mar 3, 2026

Like idea very much! May I suggest a bit different implementation, we created https://github.com/ably/sdk-workspace repo recently. It early draft. But the main idea that in this repo we hold common scripts for sdk development. We require some predefine structure:

sdk-workspace-
      - ably-java
      - ably-chat-kotlin
      - docs
      - ...

because we know the structure we can predefine prompts, and use them as claude code skills. Take a look at the existing skills. I think this way it will be easier to run this skills we can also share context.

This was already suggested by steven, but we can't solely rely on Claude to run our prompts.
Claude was down yesterday itself -> https://www.reddit.com/r/ClaudeAI/comments/1rir4n5/claude_is_down/
You can take a look at the discussion here -> ably/ably-chat-js#713 (comment)

@sacOO7 sacOO7 force-pushed the feature/doc-update-release-process branch from 046d43f to 049941c Compare March 3, 2026 05:44
Copy link

@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.

♻️ Duplicate comments (2)
CONTRIBUTING.md (2)

182-186: ⚠️ Potential issue | 🟡 Minor

Use or instead of and for snippet language filters.

On Line 182 and Line 186, "kotlin and android" can be interpreted as requiring both annotations at once. That risks missing valid snippets. Use "kotlin or android" in both places for unambiguous union matching.

✏️ Proposed fix
-Verify all `kotlin` and `android` annotated code snippets in `.mdx` files located at `{DOCS_PATH}/src/pages/docs/chat` against the `ably-chat-kotlin` source code repository at `{SDK_PATH}`.
+Verify all `kotlin` or `android` annotated code snippets in `.mdx` files located at `{DOCS_PATH}/src/pages/docs/chat` against the `ably-chat-kotlin` source code repository at `{SDK_PATH}`.
...
-1. **Find all code snippets**: Search for all code blocks with the `kotlin` and `android` annotation in `.mdx` files.
+1. **Find all code snippets**: Search for all code blocks with the `kotlin` or `android` annotation in `.mdx` files.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` around lines 182 - 186, Replace the phrase "kotlin and
android" with "kotlin or android" in the verification steps so the language
filter matches either annotation instead of requiring both; locate the two
occurrences of the exact string "kotlin and android" in the CONTRIBUTING.md
verification paragraph and update them to "kotlin or android" to ensure union
matching for code snippet detection.

215-215: ⚠️ Potential issue | 🟡 Minor

Make the report output path explicit.

On Line 215, chat_kotlin_api_verification_report.md has no directory prefix, so output location depends on the LLM/tool working directory. Please anchor it to {DOCS_PATH} (or {SDK_PATH}) to avoid accidental placement/commit noise.

✏️ Proposed fix
-Create/update a markdown report file `chat_kotlin_api_verification_report.md` with all findings.
+Create/update a markdown report file `{DOCS_PATH}/chat_kotlin_api_verification_report.md` with all findings.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` at line 215, Update the report creation instruction so the
report path is anchored to a known directory: replace the bare filename
chat_kotlin_api_verification_report.md with an explicit path such as
{DOCS_PATH}/chat_kotlin_api_verification_report.md (or
{SDK_PATH}/chat_kotlin_api_verification_report.md) in CONTRIBUTING.md; ensure
any commands or examples that reference chat_kotlin_api_verification_report.md
are updated to use the chosen anchored variable so output is deterministic and
not dependent on the current working directory.
🧹 Nitpick comments (1)
CONTRIBUTING.md (1)

170-170: Tighten wording for readability.

Line 170 reads a bit awkwardly with “in the setup/install guide, at minimum.” Consider simplifying for clarity in contributor instructions.

✏️ Suggested rewrite
-Any releases must be accompanied by a PR to bump the library install version in the setup/install guide, at minimum.
+Every release must include a docs PR that bumps the library version in the setup/install guide.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` at line 170, The sentence "Any releases must be accompanied
by a PR to bump the library install version in the setup/install guide, at
minimum." is awkward; rephrase it for clarity by simplifying and removing "at
minimum." Replace it with a concise instruction such as "Each release must
include a PR that updates the library version in the setup/install guide,"
ensuring the contributor requirement remains clear and direct.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@CONTRIBUTING.md`:
- Around line 182-186: Replace the phrase "kotlin and android" with "kotlin or
android" in the verification steps so the language filter matches either
annotation instead of requiring both; locate the two occurrences of the exact
string "kotlin and android" in the CONTRIBUTING.md verification paragraph and
update them to "kotlin or android" to ensure union matching for code snippet
detection.
- Line 215: Update the report creation instruction so the report path is
anchored to a known directory: replace the bare filename
chat_kotlin_api_verification_report.md with an explicit path such as
{DOCS_PATH}/chat_kotlin_api_verification_report.md (or
{SDK_PATH}/chat_kotlin_api_verification_report.md) in CONTRIBUTING.md; ensure
any commands or examples that reference chat_kotlin_api_verification_report.md
are updated to use the chosen anchored variable so output is deterministic and
not dependent on the current working directory.

---

Nitpick comments:
In `@CONTRIBUTING.md`:
- Line 170: The sentence "Any releases must be accompanied by a PR to bump the
library install version in the setup/install guide, at minimum." is awkward;
rephrase it for clarity by simplifying and removing "at minimum." Replace it
with a concise instruction such as "Each release must include a PR that updates
the library version in the setup/install guide," ensuring the contributor
requirement remains clear and direct.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 046d43f and 049941c.

📒 Files selected for processing (1)
  • CONTRIBUTING.md

@github-actions github-actions bot temporarily deployed to staging/pull/194/dokka March 3, 2026 05:48 Inactive
@sacOO7 sacOO7 merged commit 345e85e into main Mar 4, 2026
7 checks passed
@sacOO7 sacOO7 deleted the feature/doc-update-release-process branch March 4, 2026 10:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants