Skip to content

fix(app): make npm cli bin executable via shebang#91

Merged
skulidropek merged 1 commit intoProverCoderAI:mainfrom
skulidropek:fix/release-cli-bin-shebang
Feb 21, 2026
Merged

fix(app): make npm cli bin executable via shebang#91
skulidropek merged 1 commit intoProverCoderAI:mainfrom
skulidropek:fix/release-cli-bin-shebang

Conversation

@skulidropek
Copy link
Copy Markdown
Member

TDD proof (publisher vs consumer game)

We model release as a two-player game:

  • Player A (publisher): chooses package layout and CLI entrypoint bytes.
  • Player B (consumer): runs docker-git via package managers (pnpm, npm, npx).

A stable outcome requires both strategies to succeed on the same tarball.

Red (failing test before fix)

bash scripts/e2e/local-package-cli.sh failed with:

  • packed CLI entrypoint missing shebang: expected '#!/usr/bin/env node'
  • and runtime symptom from npm users: import: not found when invoking docker-git.

Green (fix)

  • add shebang to CLI entrypoint source: packages/app/src/docker-git/main.ts
  • extend release e2e test to verify:
    1. packed dist/src/docker-git/main.js starts with #!/usr/bin/env node
    2. local tarball works via pnpm docker-git --help
    3. local tarball works via npm exec -- docker-git --help

Result

The same TDD test now passes end-to-end:

  • bash scripts/e2e/local-package-cli.sh

Verification

  • pnpm --filter ./packages/app build:docker-git
  • bash scripts/e2e/local-package-cli.sh
  • pnpm --filter ./packages/app typecheck
  • pnpm --filter ./packages/app test

@skulidropek skulidropek merged commit ff6b2e6 into ProverCoderAI:main Feb 21, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant