Bynk — Rust crate API docs
Generated rustdoc for the Bynk workspace crates — the compiler
internals behind the toolchain. Most users compile Bynk
through the bynkc / bynk CLIs rather than depending on
these crates directly. Back to the Developer Documentation.
-
bynk-syntaxBynk's syntax foundation: lexer, parser, AST, spans, the CompileError type, and the diagnostic-code registry — the lowest leaf of the compiler crate set.
-
bynk-renderBynk's shared diagnostic-rendering layer: ariadne human output and the short/json forms over bynk-syntax::CompileError. The presentation layer both CLI front-ends adopt so they render identically.
-
bynk-checkBynk's semantic-analysis layer: name resolution, type checking, the kernel-method and builtin registries, first-party sources, actors, and the captured index/hints tables — the layer between bynk-syntax and the emitter.
-
bynk-projectBynk's project model: discovery, the unit dependency graph, path resolution, cross-unit consistency checks, and the schema-registry document (read/write).
-
bynk-emitBynk's TypeScript emission and the per-unit build sequencing (compile_project/run_checks) that drives it, atop bynk-project (discovery, the dependency graph) and bynk-check (all semantic checking).
-
bynk-driverShared front-end command bodies for the bynkc and bynk CLIs
-
bynk-stripStrip-only TypeScript→JavaScript for Bynk's first-class JS artefact (the in-browser track). Erases TypeScript type syntax via oxc, preserving runtime semantics and all value imports; the emitter's strip-only invariant (ADR 0136) guarantees every input is erasable.
-
bynk-wasmThe Bynk compiler as a wasm module for the in-browser REPL/playground: a single `bynk_compile` entry that compiles an in-memory Bynk source to a runnable JavaScript module graph + diagnostics, with no filesystem and no tsc. Not published — it is the playground's build artefact.
-
bynk-ideBynk's IDE/LSP analysis surface: non-bailing single-file and project diagnostics over the captured bynk-check tables — the surface the language server consumes.
-
bynkcThe Bynk compiler — a typed function-then-context DSL that compiles to TypeScript.
-
bynkThe Bynk developer front-end — links the compiler pipeline in-process and orchestrates the Node toolchain (doctor / new / dev).
-
bynk-fmtFormatter for the Bynk DSL (used by bynkc-lsp).
-
bynk-grammarShared grammar definitions for the Bynk DSL.
-
bynk-lspbynkc-lsp — the Language Server for the Bynk DSL.
-
bynk-testkitContent-ownership track (#1086) slice 3: cross-crate test fixtures built directly on bynk-ide's production discovery (bynk_ide::discover_files), so a test's complete sources map can never resolve include/exclude differently from what actually gets compiled or analysed. Not a product crate: dev-only, unpublished, kept off the release workflows' crate list.
-
tree-sitter-bynkRust binding for the tree-sitter-bynk grammar. Not a product crate: it exists so the cross-parser conformance test can parse Bynk with tree-sitter and diff the result against bynk-syntax. Unpublished, kept off the release workflows' crate list.
-
xtaskRepo automation for Bynk — the increment-allocation tooling. Slice 0 validates the pending-increment files under design/pending/; the merge-time stamp (version + ADR-number assignment) lands in later slices. Not a product crate: unpublished, kept off the release workflows' crate list.