builtwithbend
34 views in the last 24 hours
← Back to the collection

Knot

Developer tools · ☆ 2 GitHub stars

Built by MatheusBBarni

An early native JavaScript toolchain written in Bend 2. Current functionality includes an npm-compatible package-management path, dependency inspection, TypeScript-subset transpilation, import scanning, and initial build/watch commands.

Bend coordinates the tooling while host effects provide platform operations; generated JavaScript runs in an external runtime. The repository documents deterministic lockfiles, package integrity, and isolated dependency layouts. Knot 0.0.1 is published on npm as @matheusbbarni/knot; the repository documents installation and source builds. Transpilation is not type-checking, and the proposed test runner remains design-only.

The sources

Explore the original posts and links behind this build.

GitHubhttps://github.com/MatheusBBarni/knot-node-tooling/blob/main/README.md ↗GitHubhttps://github.com/MatheusBBarni/knot-node-tooling/blob/main/src/knot.bend ↗

Trying Knot: npm or a source build

The npm release metadata for @matheusbbarni/knot 0.0.1 lists a Node.js launcher and platform-specific binaries. Installing the package and starting the CLI are separate checks. On our Linux host, the published binary did not start, but a build from the maintainer’s pinned source did. Use the checked source-build path below if you want to try the compiler examples.

On October 28, 2026, Built with Bend installed that exact version in an isolated directory with lifecycle scripts disabled. On our Linux x64 host with glibc 2.36 and Node.js 24.21.0, both knot --version and knot --help failed before Knot started: the native binary required GLIBC_2.38, which this host did not provide. The binary’s SHA-256 matched the published wrapper’s expected hash. This is one host result, not a claim that every Linux installation fails or that a newer glibc guarantees success.

For the maintainer’s installation options, use the pinned installation instructions. The separate source-build instructions name Node.js 24 LTS, Bend 2.0.24 and a native C compiler. On November 4 we repeated the isolated npm installation with lifecycle scripts disabled: installation succeeded, but both startup commands still failed with the same glibc requirement.

A checked source-build path

On November 4, 2026, Built with Bend built the unmodified Knot source at b914a71 on Linux x64 with glibc 2.36, Node.js 24.22.1 and Clang 14.0.6. We used Bend 2.0.24, not the latest compiler: its Linux archive matched the SHA-256 in the repository’s toolchain pin. The build wrapper needs Clang 14 or newer under the executable name clang on the command path. It checks ~/.bend/bin first, so make sure that directory does not select a different Bend version.

Once the pinned checkout and toolchain are installed, work from that checkout’s root. Follow the maintainer’s source-build instructions above and its TypeScript-erasure example:

./scripts/build-knot
./bin/knot --help
./bin/knot transpile examples/compiler/basic/greet.ts
node examples/compiler/basic/greet.js
./bin/knot analyze examples/compiler/analyze-graph/main.ts

In this check, the source-built CLI started, the generated JavaScript printed hello knot, and graph analysis reported the example’s two modules with no missing imports. That is a small first-use smoke check, not the full node --test acceptance suite. It does not validate package installation by Knot, other platforms, newer compilers or arbitrary TypeScript. Transpilation is not type-checking; Knot’s own test-runner command remains planned.

Release and sources checked . These checks do not certify compatibility, security or production readiness.

Curated by LVTDBuilt for the people building.