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.