AltimateAI / AltimateAI/altimate-code

altimate-dbt binary missing from npm package.json bin — not exposed on PATH after 'npm install -g altimate-code'

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

描述

## Summary

After `npm install -g altimate-code@0.8.10`, the companion CLI `altimate-dbt` (which every built-in `dbt-*` skill depends on — `dbt-develop`, `dbt-schema-verify`, `dbt-test`, `dbt-troubleshoot`, `dbt-docs`, `dbt-analyze`, `dbt-unit-tests`, `sql-review`) is not accessible on PATH. The binary is present in the installed package, but `package.json`'s `bin` field only exposes `altimate` and `altimate-code`, so npm never creates the symlink.

## Reproduction

```bash
npm install -g altimate-code # v0.8.10, on Node 25.9.0, macOS
which altimate-dbt # -> not found
which altimate altimate-code # -> both resolved
```

The binary itself exists and works — it's just not linked:

```bash
$ ls /opt/homebrew/lib/node_modules/altimate-code/bin/
altimate altimate-code altimate-dbt # <-- altimate-dbt is here

$ ls /opt/homebrew/bin/altimate*
altimate -> ../lib/node_modules/altimate-code/bin/altimate
altimate-code -> ../lib/node_modules/altimate-code/bin/altimate-code
# altimate-dbt symlink missing
```

Inspecting `package.json`:

```json
"bin": {
"altimate": "./bin/altimate",
"altimate-code": "./bin/altimate-code"
}
```

Confirmed: no `altimate-dbt` entry.

## Impact

All auto-loaded `dbt-*` skills fail silently or with confusing errors, because they shell out to `altimate-dbt`. The skill guidance (e.g. `dbt-develop`, `dbt-schema-verify`) explicitly says "never call raw dbt directly — always use altimate-dbt", but the tool isn't on PATH after the documented install.

The README also states: *"The npm install exposes both `altimate` and `altimate-code` on PATH"* — but `altimate-dbt` is described elsewhere as required for the dbt tools. This appears to be an oversight, not a policy.

## Workaround

Manual symlink after install:

```bash
ln -s /opt/homebrew/lib/node_modules/altimate-code/bin/altimate-dbt \
/opt/homebrew/bin/altimate-dbt
```

## Suggested fix

Add `altimate-dbt` to the `bin` map in `package.json`:

```json
"bin": {
"altimate": "./bin/altimate",
"altimate-code": "./bin/altimate-code",
"altimate-dbt": "./bin/altimate-dbt"
}
```

## Related quirk

The `altimate-dbt` entry point (`/opt/homebrew/lib/node_modules/altimate-code/dbt-tools/bin/altimate-dbt`) is extensionless with `"type": "module"` in its `dbt-tools/package.json`. On Node ≤ 20 this throws `ERR_UNKNOWN_FILE_EXTENSION`. Node explicitly hints the fix — rename to `altimate-dbt.js` and update the shebang, or add `"exports"` metadata. Consider bumping the engines constraint or renaming for pre-22 compatibility.

## Environment

- macOS (darwin, arm64)
- `altimate-code@0.8.10` (npm global)
- Standalone `altimate` binary at `~/.altimate/bin/altimate` was also installed via `curl … | bash` — as expected, that install exposes only `altimate` (per README) and doesn't ship `altimate-dbt` at all. This issue is specifically about the npm install path.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

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

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