Skip to content

System boundaries

Language and consumers

The reusable Nexus Script package owns parsing, composition, references, target filtering, validation, source metadata, and emitters. It lives under packages/nexus-packages/nxscript.

The CLI is under projects/nxscript; NexusScriptLS is under projects/ls/nxscript. Neither owns an alternate definition of the language. Tools supply their dialects and interpret the resolved model.

Builds and automation

projects/nxbuild owns project descriptions, dependency planning, compiler options, execution, and installed tool-environment loading.

projects/forge owns ordered automation. Its NXBuild task directly uses that engine. Nexus Forge containers compose tasks; they do not replace Nexus Build's dependency graph with implicit dependency execution.

Compiler, LLVM, and SDK paths are configured through Nexus Build's adjacent environment file. Source-development locations belong to a separate environment.

Editor services

projects/nexuscode owns the combined VS Code extension and debugger integration. projects/ls/pascal owns Pascal analysis and project-aware language services. projects/ls/nxscript owns Nexus Script editor requests and documents while consuming the shared compiler/source metadata.

The servers share language-neutral JSON-RPC/LSP infrastructure, not their language models. Pascal analysis uses Nexus-owned parser services.

Application libraries

Shared runtime packages live under packages/nexus-packages, with external and Apple packages in their own repositories. Packages do not depend on project-owned implementation.

The GUI package builds on fpGUI for desktop interfaces. Nexus Mobile owns the phone engine and embedded Lua controls. Neither UI system owns build-tool or language-server semantics.

Installation and tests

Setup consumes a prebuilt release and a Setup dialect document. It owns feature selection, package-provider execution, file transactions, maintenance, and user integration. It does not bootstrap the product on the user's machine.

NexusTest owns tests and execution results. Its host and UI consume the module protocol. Pascal objects, managed strings, and exceptions do not cross the loadable-module C ABI.