Originally created by: Avazbek22
The dnx channel (#276) serves the .NET world, but the audience that actually uses Repomix lives in the Node ecosystem — and for them "runs via npx, nothing to install" is the entire pitch. This issue puts DevProjex there on equal terms:
npx devprojex tree .
with no .NET requirement at all: the npm package carries a self-contained native binary per platform, so the only prerequisite is Node itself.
The npm name devprojex is free as of 2026-09-04. Repomix on npm is pure JavaScript (ESM, node>=22) whose cold start installs a dependency tree including ~24 MB of WASM grammars; a native binary distribution is a different — and honest — trade: bigger one-time download per platform, native startup and throughput afterwards. No performance claims in docs until we measure.
The industry-standard structure used by esbuild, Biome, Turborepo, and swc:
devprojex: a tiny JS bin launcher, no dependencies, no lifecycle scripts.@devprojex/cli-win32-x64, @devprojex/cli-linux-x64, @devprojex/cli-darwin-arm64, …), each carrying one self-contained binary plus os/cpu fields, wired into the main package as optionalDependencies.require.resolve and spawns the binary, forwarding argv and the exit code.Why this pattern and not a postinstall download: it survives --ignore-scripts (common in hardened CI), works behind corporate proxies and private registry mirrors, and keeps the whole payload inside the registry with provenance attached.
Payload source: the headless terminal binaries from [#276] (CLI + TUI + MCP, no GUI). Platform binary packages in this size class are normal on npm — Biome's linux-x64 CLI package is ~64 MB unpacked, and the practical registry limit sits far higher (~200 MB per tarball).
win32-x64, win32-arm64, linux-x64, linux-arm64, darwin-x64, darwin-arm64 — mirroring the RID set in [#276]. Decide during implementation whether musl (Alpine) variants are worth a follow-up; document the gap either way.
--omit=optional installs, unsupported platform): name the supported platforms and the alternative channels (dnx, GitHub releases).permissions: id-token: write, npm CLI ≥ 11.5.1, no long-lived token in secrets; provenance attestations are generated automatically.package-lock.json with node_modules present can prune other platforms' optional deps (npm/cli#7961, [#8320]) — affects projects that add devprojex as a dependency, not npx one-shot runs. A short troubleshooting note in the docs is enough.supportedArchitectures mechanisms; nothing for us to do beyond mentioning it.npx devprojex tree . works on clean Windows, Linux, and macOS machines with only Node installed — no .NET runtime or SDK present.npx devprojex mcp --root . serves MCP over stdio through the launcher without framing issues.--ignore-scripts works; installation with --omit=optional fails with the documented actionable message.npx devprojex, dnx devprojex, and direct binaries.
Originally posted by: Avazbek22
Before this channel first publishes, it needs the completeness gate and functional smoke required by [#278] — each npm platform package joins the same payload-manifest validation as the existing channels.
Related
Tickets: #278