AltimateAI / AltimateAI/altimate-code
altimate-dbt binary missing from npm package.json bin — not exposed on PATH after 'npm install -g altimate-code'
- 主要語言
- 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 還沒有評估資料。