AltimateAI / AltimateAI/altimate-code
feat: distribute dbt-tools via non-npm channels (Homebrew, Docker, curl-pipe)
- 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
Bewertung
Dieses Issue wurde noch nicht bewertet.