AltimateAI / AltimateAI/altimate-code

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

Open
#317 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
811
Forks
134
Avg merge
3d 2h
Merged PRs (30d)
50

Description

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.