Skip to content

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

Description

@FrankTub

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

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:

$ 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:

"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:

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:

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions