Conversation
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the 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. ℹ️ Review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughUpdated documentation and site config: README badges, Agent Modes, CLI usage notes, and changelog edits; homepage replaced with client-side redirect to getting-started; CSS tweaks for header logo/topic; MkDocs theme logo path changed. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/docs/index.md`:
- Around line 8-10: The redirect targets are inconsistent: the JS call
window.location.replace("getting-started/") and the fallback markdown link
[Getting Started](getting-started/index.md) differ; pick one canonical path and
make both use it (either change the JS argument in window.location.replace to
"getting-started/index.md" or update the markdown link target to
"getting-started/") so the script redirect and the fallback link point to the
exact same location.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: bf90b1af-ae41-45e0-aedf-036c25ffc7f2
⛔ Files ignored due to path filters (1)
docs/docs/assets/images/altimate-code-banner-sml.pngis excluded by!**/*.png
📒 Files selected for processing (4)
README.mddocs/docs/assets/css/extra.cssdocs/docs/index.mddocs/mkdocs.yml
| <script>window.location.replace("getting-started/");</script> | ||
|
|
||
| <div class="hero" markdown> | ||
|
|
||
| <p align="center"> | ||
| <img src="assets/images/altimate-code-banner.png" alt="altimate-code" /> | ||
| </p> | ||
|
|
||
| <p class="hero-tagline">The open-source data engineering harness.</p> | ||
|
|
||
| <p class="hero-description">100+ tools for building, validating, optimizing, and shipping data products. Use in your terminal, CI pipeline, orchestration DAGs, or as the harness for your data agents. Evaluate across any platform, independent of a single warehouse provider.</p> | ||
|
|
||
| <p class="hero-actions" markdown> | ||
|
|
||
| [Get Started](getting-started.md){ .md-button .md-button--primary } | ||
| [View on GitHub :material-github:](https://github.com/AltimateAI/altimate-code){ .md-button } | ||
|
|
||
| </p> | ||
|
|
||
| </div> | ||
|
|
||
| <div class="hero-install" markdown> | ||
|
|
||
| ```bash | ||
| npm install -g altimate-code | ||
| ``` | ||
|
|
||
| </div> | ||
|
|
||
| --- | ||
|
|
||
| <h2 class="section-heading">Purpose-built for the data product lifecycle</h2> | ||
| <p class="section-sub">Every tool covers a specific stage: build, validate, optimize, or ship. Not general-purpose AI on top of SQL files.</p> | ||
|
|
||
| <div class="grid cards" markdown> | ||
|
|
||
| - :material-database-search:{ .lg .middle } **SQL Anti-Pattern Detection** | ||
|
|
||
| --- | ||
|
|
||
| 19 rules with confidence scoring. Catches SELECT *, missing filters, cartesian joins, non-sargable predicates, and more. | ||
|
|
||
| - :material-graph-outline:{ .lg .middle } **Column-Level Lineage** | ||
|
|
||
| --- | ||
|
|
||
| Automatic lineage extraction from SQL. Trace any column back through joins, CTEs, and subqueries to its source. | ||
|
|
||
| - :material-cash-multiple:{ .lg .middle } **FinOps & Cost Analysis** | ||
|
|
||
| --- | ||
|
|
||
| Credit analysis, expensive query detection, warehouse right-sizing, and unused resource cleanup. | ||
|
|
||
| - :material-translate:{ .lg .middle } **Cross-Dialect Translation** | ||
|
|
||
| --- | ||
|
|
||
| Transpile SQL between Snowflake, BigQuery, Databricks, Redshift, PostgreSQL, and more. | ||
|
|
||
| - :material-shield-lock-outline:{ .lg .middle } **PII Detection & Safety** | ||
|
|
||
| --- | ||
|
|
||
| Automatic column scanning for PII. Safety checks and policy enforcement before every query execution. | ||
|
|
||
| - :material-pipe:{ .lg .middle } **dbt Native** | ||
|
|
||
| --- | ||
|
|
||
| Manifest parsing, test generation, model scaffolding, incremental model detection, and lineage-aware refactoring. | ||
|
|
||
| </div> | ||
|
|
||
| --- | ||
|
|
||
| <h2 class="section-heading">Use anywhere in your stack</h2> | ||
| <p class="section-sub">Run interactively, automate in CI, embed in DAGs, or mount as the tool layer for your AI agents.</p> | ||
|
|
||
| <div class="grid cards" markdown> | ||
|
|
||
| - :material-console:{ .lg .middle } **Terminal** | ||
|
|
||
| --- | ||
|
|
||
| Interactive TUI with 100+ tools, autocomplete for skills, and persistent memory across sessions. | ||
|
|
||
| - :material-pipe-disconnected:{ .lg .middle } **CI Pipeline** | ||
|
|
||
| --- | ||
|
|
||
| Headless mode for automated validation, schema diffing, and anti-pattern checks in GitHub Actions or any CI system. | ||
|
|
||
| - :material-graph:{ .lg .middle } **Orchestration DAGs** | ||
|
|
||
| --- | ||
|
|
||
| Call the harness from Airflow, Dagster, or Prefect tasks to add data quality gates and lineage checks to your pipelines. | ||
|
|
||
| - :material-robot-outline:{ .lg .middle } **Data Agent Harness** | ||
|
|
||
| --- | ||
|
|
||
| Mount altimate as the tool layer underneath Claude Code, Codex, or any AI agent, giving it deterministic, warehouse-aware capabilities. | ||
|
|
||
| </div> | ||
|
|
||
| --- | ||
|
|
||
| <h2 class="section-heading">Purpose-built agent modes</h2> | ||
| <p class="section-sub">Each agent has scoped permissions and purpose-built tools for its role.</p> | ||
|
|
||
| <div class="grid cards" markdown> | ||
|
|
||
| - :material-hammer-wrench:{ .lg .middle } **Builder** | ||
|
|
||
| --- | ||
|
|
||
| Create dbt models, SQL pipelines, and data transformations with full read/write access. SQL writes prompt for approval. Destructive SQL is hard-blocked. | ||
|
|
||
| - :material-chart-bar:{ .lg .middle } **Analyst** | ||
|
|
||
| --- | ||
|
|
||
| Explore data, run SELECT queries, and generate insights. Read-only access is enforced. SQL writes are denied, not prompted. Safe bash commands auto-allowed. | ||
|
|
||
| - :material-clipboard-text:{ .lg .middle } **Plan** | ||
|
|
||
| --- | ||
|
|
||
| Plan before acting. Read-only with minimal permissions. No SQL, no bash, no file modifications. | ||
|
|
||
| </div> | ||
|
|
||
| Create custom agents with tailored permissions for specialized workflows like validation, migration, research, or executive reporting. See [Agent Configuration](configure/agents.md#custom-agents). | ||
|
|
||
| --- | ||
|
|
||
| <h2 class="section-heading">Works with any LLM</h2> | ||
| <p class="section-sub">Model-agnostic. Bring your own provider or run locally.</p> | ||
|
|
||
| <div class="pill-grid" markdown> | ||
|
|
||
| - :material-cloud: **Anthropic** | ||
| - :material-creation: **OpenAI** | ||
| - :material-google: **Google** | ||
| - :material-aws: **AWS Bedrock** | ||
| - :material-microsoft-azure: **Azure OpenAI** | ||
| - :material-server: **Ollama** | ||
| - :material-router-wireless: **OpenRouter** | ||
|
|
||
| </div> | ||
|
|
||
| --- | ||
|
|
||
| <h2 class="section-heading">Evaluate across any platform</h2> | ||
| <p class="section-sub">First-class support for 10 databases. Migrate, compare, and translate across platforms, not locked to one vendor.</p> | ||
|
|
||
| <div class="pill-grid" markdown> | ||
|
|
||
| - :material-snowflake: **Snowflake** | ||
| - :material-google-cloud: **BigQuery** | ||
| - :simple-databricks: **Databricks** | ||
| - :material-elephant: **PostgreSQL** | ||
| - :material-aws: **Redshift** | ||
| - :material-duck: **DuckDB** | ||
| - :material-database: **MySQL** | ||
| - :material-microsoft: **SQL Server** | ||
| - :material-database-outline: **Oracle** | ||
| - :material-database-search: **SQLite** | ||
|
|
||
| </div> | ||
|
|
||
| --- | ||
|
|
||
| <div class="doc-links" markdown> | ||
|
|
||
| **Documentation**: [Getting Started](getting-started.md) | [Guides](data-engineering/guides/cost-optimization.md) | [Tools](data-engineering/tools/sql-tools.md) | [Configuration](configure/config.md) | ||
|
|
||
| **Extend**: [SDK](develop/sdk.md) | [Plugins](develop/plugins.md) | [Server API](develop/server.md) | ||
|
|
||
| </div> | ||
| Redirecting to [Getting Started](getting-started/index.md)... |
There was a problem hiding this comment.
Inconsistent redirect targets between JavaScript and fallback link.
The JavaScript redirect navigates to getting-started/ (Line 8), but the fallback markdown link points to getting-started/index.md (Line 10). For consistency, both should use the same path.
🔗 Proposed fix for consistent redirect paths
<script>window.location.replace("getting-started/");</script>
-Redirecting to [Getting Started](getting-started/index.md)...
+Redirecting to [Getting Started](getting-started/)...📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| <script>window.location.replace("getting-started/");</script> | |
| <div class="hero" markdown> | |
| <p align="center"> | |
| <img src="assets/images/altimate-code-banner.png" alt="altimate-code" /> | |
| </p> | |
| <p class="hero-tagline">The open-source data engineering harness.</p> | |
| <p class="hero-description">100+ tools for building, validating, optimizing, and shipping data products. Use in your terminal, CI pipeline, orchestration DAGs, or as the harness for your data agents. Evaluate across any platform, independent of a single warehouse provider.</p> | |
| <p class="hero-actions" markdown> | |
| [Get Started](getting-started.md){ .md-button .md-button--primary } | |
| [View on GitHub :material-github:](https://github.com/AltimateAI/altimate-code){ .md-button } | |
| </p> | |
| </div> | |
| <div class="hero-install" markdown> | |
| ```bash | |
| npm install -g altimate-code | |
| ``` | |
| </div> | |
| --- | |
| <h2 class="section-heading">Purpose-built for the data product lifecycle</h2> | |
| <p class="section-sub">Every tool covers a specific stage: build, validate, optimize, or ship. Not general-purpose AI on top of SQL files.</p> | |
| <div class="grid cards" markdown> | |
| - :material-database-search:{ .lg .middle } **SQL Anti-Pattern Detection** | |
| --- | |
| 19 rules with confidence scoring. Catches SELECT *, missing filters, cartesian joins, non-sargable predicates, and more. | |
| - :material-graph-outline:{ .lg .middle } **Column-Level Lineage** | |
| --- | |
| Automatic lineage extraction from SQL. Trace any column back through joins, CTEs, and subqueries to its source. | |
| - :material-cash-multiple:{ .lg .middle } **FinOps & Cost Analysis** | |
| --- | |
| Credit analysis, expensive query detection, warehouse right-sizing, and unused resource cleanup. | |
| - :material-translate:{ .lg .middle } **Cross-Dialect Translation** | |
| --- | |
| Transpile SQL between Snowflake, BigQuery, Databricks, Redshift, PostgreSQL, and more. | |
| - :material-shield-lock-outline:{ .lg .middle } **PII Detection & Safety** | |
| --- | |
| Automatic column scanning for PII. Safety checks and policy enforcement before every query execution. | |
| - :material-pipe:{ .lg .middle } **dbt Native** | |
| --- | |
| Manifest parsing, test generation, model scaffolding, incremental model detection, and lineage-aware refactoring. | |
| </div> | |
| --- | |
| <h2 class="section-heading">Use anywhere in your stack</h2> | |
| <p class="section-sub">Run interactively, automate in CI, embed in DAGs, or mount as the tool layer for your AI agents.</p> | |
| <div class="grid cards" markdown> | |
| - :material-console:{ .lg .middle } **Terminal** | |
| --- | |
| Interactive TUI with 100+ tools, autocomplete for skills, and persistent memory across sessions. | |
| - :material-pipe-disconnected:{ .lg .middle } **CI Pipeline** | |
| --- | |
| Headless mode for automated validation, schema diffing, and anti-pattern checks in GitHub Actions or any CI system. | |
| - :material-graph:{ .lg .middle } **Orchestration DAGs** | |
| --- | |
| Call the harness from Airflow, Dagster, or Prefect tasks to add data quality gates and lineage checks to your pipelines. | |
| - :material-robot-outline:{ .lg .middle } **Data Agent Harness** | |
| --- | |
| Mount altimate as the tool layer underneath Claude Code, Codex, or any AI agent, giving it deterministic, warehouse-aware capabilities. | |
| </div> | |
| --- | |
| <h2 class="section-heading">Purpose-built agent modes</h2> | |
| <p class="section-sub">Each agent has scoped permissions and purpose-built tools for its role.</p> | |
| <div class="grid cards" markdown> | |
| - :material-hammer-wrench:{ .lg .middle } **Builder** | |
| --- | |
| Create dbt models, SQL pipelines, and data transformations with full read/write access. SQL writes prompt for approval. Destructive SQL is hard-blocked. | |
| - :material-chart-bar:{ .lg .middle } **Analyst** | |
| --- | |
| Explore data, run SELECT queries, and generate insights. Read-only access is enforced. SQL writes are denied, not prompted. Safe bash commands auto-allowed. | |
| - :material-clipboard-text:{ .lg .middle } **Plan** | |
| --- | |
| Plan before acting. Read-only with minimal permissions. No SQL, no bash, no file modifications. | |
| </div> | |
| Create custom agents with tailored permissions for specialized workflows like validation, migration, research, or executive reporting. See [Agent Configuration](configure/agents.md#custom-agents). | |
| --- | |
| <h2 class="section-heading">Works with any LLM</h2> | |
| <p class="section-sub">Model-agnostic. Bring your own provider or run locally.</p> | |
| <div class="pill-grid" markdown> | |
| - :material-cloud: **Anthropic** | |
| - :material-creation: **OpenAI** | |
| - :material-google: **Google** | |
| - :material-aws: **AWS Bedrock** | |
| - :material-microsoft-azure: **Azure OpenAI** | |
| - :material-server: **Ollama** | |
| - :material-router-wireless: **OpenRouter** | |
| </div> | |
| --- | |
| <h2 class="section-heading">Evaluate across any platform</h2> | |
| <p class="section-sub">First-class support for 10 databases. Migrate, compare, and translate across platforms, not locked to one vendor.</p> | |
| <div class="pill-grid" markdown> | |
| - :material-snowflake: **Snowflake** | |
| - :material-google-cloud: **BigQuery** | |
| - :simple-databricks: **Databricks** | |
| - :material-elephant: **PostgreSQL** | |
| - :material-aws: **Redshift** | |
| - :material-duck: **DuckDB** | |
| - :material-database: **MySQL** | |
| - :material-microsoft: **SQL Server** | |
| - :material-database-outline: **Oracle** | |
| - :material-database-search: **SQLite** | |
| </div> | |
| --- | |
| <div class="doc-links" markdown> | |
| **Documentation**: [Getting Started](getting-started.md) | [Guides](data-engineering/guides/cost-optimization.md) | [Tools](data-engineering/tools/sql-tools.md) | [Configuration](configure/config.md) | |
| **Extend**: [SDK](develop/sdk.md) | [Plugins](develop/plugins.md) | [Server API](develop/server.md) | |
| </div> | |
| Redirecting to [Getting Started](getting-started/index.md)... | |
| <script>window.location.replace("getting-started/");</script> | |
| Redirecting to [Getting Started](getting-started/)... |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/docs/index.md` around lines 8 - 10, The redirect targets are
inconsistent: the JS call window.location.replace("getting-started/") and the
fallback markdown link [Getting Started](getting-started/index.md) differ; pick
one canonical path and make both use it (either change the JS argument in
window.location.replace to "getting-started/index.md" or update the markdown
link target to "getting-started/") so the script redirect and the fallback link
point to the exact same location.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@README.md`:
- Around line 58-60: Markdownlint MD028 is triggered by a blank line inside the
blockquote containing the lines "**Headless / scripted usage:** `altimate
--yolo` auto-approves all permission prompts. Not recommended with live
warehouse connections." and "**Zero additional setup.** One command install." —
remove the blank line between these two blockquote lines (make them contiguous
in the same blockquote) so there are no empty lines inside the blockquote and
the MD028 warning is resolved.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
| > **Headless / scripted usage:** `altimate --yolo` auto-approves all permission prompts. Not recommended with live warehouse connections. | ||
|
|
||
| > **Zero additional setup.** One command install. |
There was a problem hiding this comment.
Fix markdownlint MD028 blockquote formatting (Line 59).
There is a blank line inside a blockquote between Line 58 and Line 60, which triggers no-blanks-blockquote.
Suggested fix
> **Headless / scripted usage:** `altimate --yolo` auto-approves all permission prompts. Not recommended with live warehouse connections.
-
> **Zero additional setup.** One command install.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| > **Headless / scripted usage:** `altimate --yolo` auto-approves all permission prompts. Not recommended with live warehouse connections. | |
| > **Zero additional setup.** One command install. | |
| > **Headless / scripted usage:** `altimate --yolo` auto-approves all permission prompts. Not recommended with live warehouse connections. | |
| > **Zero additional setup.** One command install. |
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)
[warning] 59-59: Blank line inside blockquote
(MD028, no-blanks-blockquote)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@README.md` around lines 58 - 60, Markdownlint MD028 is triggered by a blank
line inside the blockquote containing the lines "**Headless / scripted usage:**
`altimate --yolo` auto-approves all permission prompts. Not recommended with
live warehouse connections." and "**Zero additional setup.** One command
install." — remove the blank line between these two blockquote lines (make them
contiguous in the same blockquote) so there are no empty lines inside the
blockquote and the MD028 warning is resolved.
…docs Codex requires OAuth authentication, so the previous messaging suggesting it needs "no setup" was misleading. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
What changed and why?
Test Plan
How was this tested?
Checklist
Summary by CodeRabbit
New Features
Documentation
Style