AltimateAI / AltimateAI/altimate-code

feat: distribute dbt-tools via non-npm channels (Homebrew, Docker, curl-pipe)

未關閉
#317 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
TypeScript
星號
811
分支
134
平均合併
3 天 2 小時
30 天內合併 PR
50

描述

## Problem

`altimate-dbt` is only available via npm install. Users installing via Homebrew, AUR, Docker, or curl-pipe installer don't get dbt-tools.

PR #316 fixed skills distribution for all channels by embedding them in the binary, but dbt-tools cannot use the same approach due to a hard blocker.

## Blocker: python-bridge incompatibility with Bun compiled binaries

dbt-tools depends on `@altimateai/dbt-integration` which uses `python-bridge` — a package that relies on Node.js private internals (`#stdin`, `#stdout` for IPC). These don't exist in Bun's compiled binary runtime. The codebase already has explicit error handling for this:

```
"Internal error: Bun runtime incompatibility with python-bridge"
```

## Options

| Option | Effort | Impact |
|--------|--------|--------|
| **1. Keep npm-only** (current) | None | Homebrew/Docker users don't get `altimate-dbt` |
| **2. Ship as Node.js script alongside binary** | Low | Requires `node` on PATH — defeats purpose of single binary |
| **3. Fix python-bridge for Bun** | High | Fork/fix upstream python-bridge for Bun compiled binary compat |
| **4. Integrate into main CLI as subcommand** | Medium | `altimate dbt compile` instead of `altimate-dbt compile` — best UX |

Option 4 (subcommand integration) is the cleanest long-term fix — it avoids the python-bridge problem entirely by running dbt-tools code within the main CLI process, which already handles Bun compatibility.

## References

- Skills embedding (solved): #316
- dbt-tools npm bundling (solved): #316
- Original dbt-tools PATH issue: #308

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。