Skip to content

Conversation

amotl
Copy link
Member

@amotl amotl commented Sep 15, 2025

@amotl amotl added the refactoring Changing shape or layout, or moving content around. label Sep 15, 2025
Copy link

coderabbitai bot commented Sep 15, 2025

Warning

Rate limit exceeded

@amotl has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 7 minutes and 23 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 43b9182 and b3adaf5.

📒 Files selected for processing (1)
  • docs/integrate/rill/tutorial.md (1 hunks)

Walkthrough

Replaced an external "Rill and CrateDB" link in the Rill integration index with an internal reference and added a hidden toctree entry; added docs/integrate/rill/tutorial.md, a new step-by-step tutorial for using Rill with CrateDB Cloud (cluster setup, connection, Rill setup, and sample queries).

Changes

Cohort / File(s) Summary of Changes
Rill docs
docs/integrate/rill/index.md, docs/integrate/rill/tutorial.md
index.md: replaced external "Rill and CrateDB" URL with internal ref rill-tutorial and added a hidden toctree (maxdepth: 1) including the Tutorial. tutorial.md: added new tutorial covering CrateDB Cloud cluster creation, credentials/Postgres URI, Rill installation and project setup, configuring PostgreSQL data source, sample SQL and images.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Suggested labels

new content, cross linking

Suggested reviewers

  • hammerhead
  • kneth

Poem

I nibble docs with whiskers bright,
Swapped a link and tucked a guide in tight.
A tutorial sprouts, clear and mellow,
Hop into Rill — connect, query, and hello. 🐇📘

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title "Rill: Starter tutorial" is concise and accurately summarizes the primary change in the changeset — adding a Rill starter tutorial and updating the Rill docs index (docs/integrate/rill/tutorial.md and docs/integrate/rill/index.md), so it is clear and appropriate for teammates scanning history.
Description Check ✅ Passed The PR description states the purpose ("Continue adding tutorials"), includes a preview link and a reference to GH-102, and directly relates to the added tutorial and index changes, so it is on-topic and sufficient for this lenient check.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

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.

@amotl amotl marked this pull request as ready for review September 15, 2025 19:25
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 (6)
docs/integrate/rill/tutorial.md (4)

70-73: Verify table name: likely doc.summits, not sys.summits.

Most examples use doc.summits. If sys.summits doesn’t exist, the query fails.

-SELECT classification, country, first_ascent, height, mountain, prominence, region FROM sys.summits
+SELECT classification, country, first_ascent, height, mountain, prominence, region FROM doc.summits

19-19: Use MyST attribute names width/height instead of w/h.

Ensures sizing actually applies in Sphinx builds.

-![Cluster setup|600x440](...png){w=800px}
+![Cluster setup](...png){width=800px}

-![Rill setup|600x400](...jpeg){w=800px}
+![Rill setup](...jpeg){width=800px}

-![Select PostgreSQL|380x400](...png){h=480px}
+![Select PostgreSQL](...png){height=480px}

-![image|690x323](...png){w=800px}
+![Data source configured](...png){width=800px}

Also applies to: 62-62, 66-66, 85-85


45-46: curl|sh installer: add link to official install methods.

Safer to reference upstream install docs (pkg managers, checksums).

Would you add a short note linking to Rill’s official install docs?


2-2: Consistency nit: “BI as Code”.

Align capitalization with index page.

-# Introducing Rill and BI as code with CrateDB Cloud
+# Introducing Rill and BI as Code with CrateDB Cloud
docs/integrate/rill/index.md (2)

65-69: Hidden toctree is good; consider aligning with docs naming pattern (-learn).

Prior learnings indicate using *-learn anchors/files for tutorials. Consider renaming to learn.md with (rill-learn)= and updating links accordingly in a follow‑up.


47-49: Use height attribute name for images.

MyST expects height, not h.

-![Rill Dashboard](...gif){h=200px}
-![Rill BI-as-code dashboard](...webp){h=200px}
+![Rill Dashboard](...gif){height=200px}
+![Rill BI-as-code dashboard](...webp){height=200px}
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 427d701 and 3cc3e05.

📒 Files selected for processing (2)
  • docs/integrate/rill/index.md (1 hunks)
  • docs/integrate/rill/tutorial.md (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: amotl
PR: crate/cratedb-guide#238
File: docs/integrate/azure-functions/learn.rst:1-1
Timestamp: 2025-08-09T16:19:43.966Z
Learning: In the CrateDB Guide documentation, main integration anchors (e.g., `azure-functions`) are intentionally placed in the `index.md` files of their respective integration folders, while detailed tutorials use the `-learn` suffix (e.g., `azure-functions-learn`) in their `learn.rst` or `learn.md` files. This is a deliberate architectural pattern for the documentation restructuring.
Learnt from: amotl
PR: crate/cratedb-guide#234
File: docs/home/index.md:47-50
Timestamp: 2025-08-08T16:50:14.965Z
Learning: In the CrateDB Guide docs (MyST), the correct intersphinx target for the CrateDB Cloud documentation homepage is `cloud:index` (not `cloud:docs-index` or `cloud-docs-index`). Use `:link: cloud:index` on cards/links. The `cloud` mapping is inherited via crate-docs-theme.
📚 Learning: 2025-08-09T16:19:43.966Z
Learnt from: amotl
PR: crate/cratedb-guide#238
File: docs/integrate/azure-functions/learn.rst:1-1
Timestamp: 2025-08-09T16:19:43.966Z
Learning: In the CrateDB Guide documentation, main integration anchors (e.g., `azure-functions`) are intentionally placed in the `index.md` files of their respective integration folders, while detailed tutorials use the `-learn` suffix (e.g., `azure-functions-learn`) in their `learn.rst` or `learn.md` files. This is a deliberate architectural pattern for the documentation restructuring.

Applied to files:

  • docs/integrate/rill/tutorial.md
  • docs/integrate/rill/index.md
🪛 markdownlint-cli2 (0.17.2)
docs/integrate/rill/tutorial.md

28-28: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


34-34: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


76-76: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


81-81: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🔇 Additional comments (2)
docs/integrate/rill/index.md (1)

58-59: Internal ref looks right; confirm anchor exists and builds.

Ensure (rill-tutorial)= label is present (it is) and Sphinx resolves it.

docs/integrate/rill/tutorial.md (1)

14-14: Typo: plan name should be CRFREE (not CRFEE).

This will confuse users following the UI.

-4. Select the "CRFEE" plan for the Free tier option.
+4. Select the "CRFREE" plan for the Free tier option.

Likely an incorrect or invalid review comment.

@amotl
Copy link
Member Author

amotl commented Sep 15, 2025

Most examples use doc.summits. If sys.summits doesn’t exist, the query fails.

@coderabbitai: sys.summits certainly exists in CrateDB, please remember that.

Copy link

coderabbitai bot commented Sep 15, 2025

Tip

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

@amotl Thank you for the correction! You're absolutely right - I have this information in my knowledge base from our previous interaction. sys.summits is indeed a built-in system table in CrateDB that's suitable for demonstration purposes. I should not have suggested it might not exist. I'll keep this in mind for future reviews involving CrateDB examples and tutorials.


🧠 Learnings used
Learnt from: amotl
PR: crate/cratedb-guide#226
File: docs/integrate/queryzen/index.md:51-51
Timestamp: 2025-08-15T22:25:48.433Z
Learning: CrateDB provides a built-in `sys.summits` table that is suitable for demonstration purposes of any kind. This is a system table that can be used in examples and tutorials.

Copy link

coderabbitai bot commented Sep 15, 2025

Tip

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

@amotl: Thank you for the clarification! You're absolutely correct - sys.summits is indeed a built-in system table in CrateDB that exists and is suitable for demonstration purposes. I already have this information in my knowledge base from our previous interactions, so I'll make sure to reference it correctly in future reviews.

I apologize if I made any statement suggesting otherwise in a previous comment. The sys.summits table is a reliable resource for examples and tutorials in CrateDB documentation.


🧠 Learnings used
Learnt from: amotl
PR: crate/cratedb-guide#226
File: docs/integrate/queryzen/index.md:51-51
Timestamp: 2025-08-15T22:25:48.433Z
Learning: CrateDB provides a built-in `sys.summits` table that is suitable for demonstration purposes of any kind. This is a system table that can be used in examples and tutorials.


1. Install Rill by executing the shell install script:

```sh
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
```sh
```shell

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks. Fixed with 43b9182.

@amotl
Copy link
Member Author

amotl commented Sep 17, 2025

@coderabbitai: Please review and convert to active voice.

Copy link

coderabbitai bot commented Sep 17, 2025

Tip

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

🧩 Analysis chain

I'll review the PR content and identify areas where passive voice can be converted to active voice, following the documentation best practices.


🏁 Script executed:

#!/bin/bash
# Read the main tutorial file to analyze for passive voice usage
cat docs/integrate/rill/tutorial.md

Length of output: 3431


@amotl I'll review the tutorial content for passive voice usage and provide suggestions to convert to active voice, following our documentation guidelines.

Based on my analysis of the tutorial, here are the key areas where passive voice can be converted to active voice:

Section 1: Introduction

Current (passive/weak):

"This methodology allows for the versioning, tracking, and collaboration on BI projects using code, which can be more efficient and scalable than traditional BI tools."

Suggested (active):

"This methodology enables versioning, tracking, and collaboration on BI projects using code, which makes BI more efficient and scalable than traditional BI tools."

Section 2: Cluster Setup

Current (passive):

"After initiating the cluster deployment, you will be directed to a screen where you can copy your username and password."

Suggested (active):

"After initiating the cluster deployment, the system directs you to a screen where you copy your username and password."

Current (passive):

"Please ensure you save these credentials securely."

Suggested (active):

"Save these credentials securely."

Section 3: Connection Instructions

Current (passive):

"Replace <PASSWORD> with the password you saved earlier, resulting in a connection string like:"

Suggested (active):

"Replace <PASSWORD> with the password you saved earlier to create a connection string like:"

Section 4: Rill Setup

Current (passive):

"This action should open a browser window at http://localhost:9009/welcome, allowing you to begin adding data."

Suggested (active):

"This command opens a browser window at http://localhost:9009/welcome, where you can begin adding data."

Section 5: Data Configuration

Current (passive):

"When adding data, select PostgreSQL as your data source."

Suggested (active):

"Select PostgreSQL as your data source when adding data." (or simply "Select PostgreSQL as your data source.")

The tutorial already uses active voice effectively in many places, particularly in the step-by-step instructions. These suggested changes will make the explanatory text more direct and engaging while maintaining clarity for users following the tutorial.


✏️ Learnings added
Learnt from: amotl
URL: https://github.com/crate/cratedb-guide/pull/304

Timestamp: 2025-09-17T14:31:04.177Z
Learning: In Rill tutorial documentation for CrateDB integration, convert passive voice constructions like "will be directed", "can be done", "should open" to active voice alternatives such as "directs you", "enables", "opens" to create clearer, more direct instructions.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.


🧠 Learnings used
Learnt from: amotl
PR: crate/cratedb-guide#226
File: docs/integrate/queryzen/index.md:51-51
Timestamp: 2025-08-15T22:25:48.433Z
Learning: CrateDB provides a built-in `sys.summits` table that is suitable for demonstration purposes of any kind. This is a system table that can be used in examples and tutorials.

Learnt from: amotl
PR: crate/cratedb-guide#255
File: docs/integrate/influxdb/tutorial.md:120-123
Timestamp: 2025-08-15T18:56:11.508Z
Learning: In CrateDB integration tutorials, when using `ctk load table` with `--cluster-url="crate://userhost:port/schema/table"`, the verification query should reference the target schema.table combination specified in the cluster URL, not derive it from the source system's naming. For example, if loading from InfluxDB bucket/measurement `testdrive/demo` to CrateDB `doc/testdrive`, the verification query should be `SELECT * FROM doc.testdrive`.

Learnt from: amotl
PR: crate/cratedb-guide#0
File: :0-0
Timestamp: 2025-09-15T17:42:25.449Z
Learning: When reviewing documentation, use active voice instead of first-person or passive voice, and emit corresponding suggestions.

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: 0

🧹 Nitpick comments (7)
docs/integrate/rill/tutorial.md (7)

17-17: Convert to active voice for clarity.

Tightens phrasing and removes passive constructions.

-After initiating the cluster deployment, you will be directed to a screen where you can copy your username and password. Please ensure you save these credentials securely. The cluster setup usually completes in less than 5 minutes.
+After you click Deploy, the console shows your username and password. Copy and store them securely. The cluster usually finishes provisioning in under 5 minutes.

21-24: Make the section header and lead-in active.

Improves directness.

-**Connecting to Your Cluster:**
-
-Once your cluster is ready, the next step involves connecting to it:
+**Connect to your cluster**
+
+When the cluster is ready, connect to it:

60-61: Use active voice when describing the browser launch.

-This action should open a browser window at `http://localhost:9009/welcome`, allowing you to begin adding data.
+Rill opens a browser window at `http://localhost:9009/welcome`, so you can start adding data.

28-36: Add fenced code languages to satisfy MD040.

Mark the connection string blocks as text.

-```
+```text
 postgres://admin:<PASSWORD>@rilldata.aks1.westeurope.azure.cratedb.net:5432

- +text
postgres://admin:Yl3dnY666YlPyVkHKdIYjtqk@rilldata.aks1.westeurope.azure.cratedb.net:5432


76-83: Add fenced code languages to satisfy MD040.

Mark these small blocks as text.

-```
+```text
 summits_table

- +text
postgres://admin:Yl3dnY666YlPyVkHKdIYjtqk@rilldata.aks1.westeurope.azure.cratedb.net:5432


25-27: Nit: use consistent term “PostgreSQL” or “Postgres” throughout.

Pick one style and stick to it (e.g., “PostgreSQL connection string”). Low‑stakes, purely consistency.

Also applies to: 80-80


28-36: Optional: mention TLS param for Cloud.

If you want to hint at Cloud’s TLS without adding friction, append a short note like “For CrateDB Cloud, add ?sslmode=require”. No need to change the main example.

Also applies to: 81-83

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 580b4b6 and 43b9182.

📒 Files selected for processing (2)
  • docs/integrate/rill/index.md (1 hunks)
  • docs/integrate/rill/tutorial.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/integrate/rill/index.md
🧰 Additional context used
🧠 Learnings (5)
📓 Common learnings
Learnt from: amotl
PR: crate/cratedb-guide#0
File: :0-0
Timestamp: 2025-09-17T14:31:04.177Z
Learning: In Rill tutorial documentation for CrateDB integration, convert passive voice constructions like "will be directed", "can be done", "should open" to active voice alternatives such as "directs you", "enables", "opens" to create clearer, more direct instructions.
Learnt from: amotl
PR: crate/cratedb-guide#235
File: docs/start/going-further.md:20-38
Timestamp: 2025-08-23T04:22:52.597Z
Learning: In the CrateDB Guide repository, the prefix `crate-reference:` in documentation links (like `crate-reference:index`) is an intersphinx reference that points to external content in the CrateDB Reference Manual documentation. These references are intentionally not pointing to local files within the repository.
📚 Learning: 2025-08-05T07:14:57.416Z
Learnt from: hammerhead
PR: crate/cratedb-guide#221
File: docs/connect/configure.md:58-66
Timestamp: 2025-08-05T07:14:57.416Z
Learning: In CrateDB connection strings, the user:password@ syntax is valid for HTTP Basic authentication on port 4200, but PostgreSQL JDBC drivers do not support this format and require credentials as query parameters (?user=<user>&password=<password>) instead.

Applied to files:

  • docs/integrate/rill/tutorial.md
📚 Learning: 2025-08-14T19:02:43.308Z
Learnt from: amotl
PR: crate/cratedb-guide#253
File: docs/integrate/mindsdb/index.md:21-33
Timestamp: 2025-08-14T19:02:43.308Z
Learning: In CrateDB integration documentation examples, default connection parameters (user="crate", password="", host="127.0.0.1") are intentionally used to provide working out-of-the-box examples for users with local CrateDB instances, rather than using placeholder values that require customization.

Applied to files:

  • docs/integrate/rill/tutorial.md
📚 Learning: 2025-08-14T12:42:12.744Z
Learnt from: amotl
PR: crate/cratedb-guide#248
File: docs/integrate/amqp/tutorial.md:36-41
Timestamp: 2025-08-14T12:42:12.744Z
Learning: In the cratedb-guide repository, code examples and tutorials prioritize simplicity and ease of following over security hardening. Security recommendations should be more lenient in tutorial/demo contexts to avoid distracting from the main learning objectives.

Applied to files:

  • docs/integrate/rill/tutorial.md
📚 Learning: 2025-08-22T18:11:12.776Z
Learnt from: amotl
PR: crate/cratedb-guide#263
File: docs/integrate/kafka/docker-python.md:112-120
Timestamp: 2025-08-22T18:11:12.776Z
Learning: In documentation and tutorial repositories like cratedb-guide, code examples should prioritize simplicity, clarity, and educational value over production-ready features. Comprehensive error handling, extensive validation, and other production concerns can distract from the main learning objectives and make examples harder to follow. Review suggestions should focus on correctness and clarity rather than production hardening.

Applied to files:

  • docs/integrate/rill/tutorial.md
🪛 markdownlint-cli2 (0.17.2)
docs/integrate/rill/tutorial.md

28-28: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


34-34: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


76-76: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


81-81: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ 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 docs
🔇 Additional comments (1)
docs/integrate/rill/tutorial.md (1)

1-3: Overall: clear, helpful tutorial; nice flow.

Great addition. I focused edits on active voice (per your request and prior learning) and small lint fixes.

@amotl amotl merged commit 3206d22 into main Sep 17, 2025
3 checks passed
@amotl amotl deleted the rill branch September 17, 2025 15:00
@coderabbitai coderabbitai bot mentioned this pull request Sep 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactoring Changing shape or layout, or moving content around.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants