AltimateAI / AltimateAI/altimate-code

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

Offen
#317 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
TypeScript
Sterne
811
Forks
134
Ø Merge
3 T. 2 Std.
Gemergte PRs (30 T.)
50

Beschreibung

## 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

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.