AltimateAI / AltimateAI/altimate-code

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

Abierto
#982 2 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
811
Forks
134
Merge medio
3 d 2 h
PR fusionados (30 d)
50

Descripción

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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.