Getting started#
The built-in application template creates a checked program, its test suite, and the project tasks that run both. Start here when nupp is already on PATH.
nupp init app hello
cd hello
nupp check
nupp test
nupp task startThe program is in src/main.nupp. Change the return type or pass an argument of the wrong type, then run nupp check again to see the diagnostic and its repair help.
Daily loop#
The generated project uses the same commands as a larger one:
nupp check # check the configured source graph
nupp fmt --write # format project source
nupp test # build and run project tests
nupp build # build the default deliverable
nupp task start # run the project's start tasknupp explain CODE expands a diagnostic into its rule and a corrected example. nupp reference --for CODE opens the relevant language section.
Project templates#
nupp init --list prints the maintained templates. Each template carries a manifest, tests, and the tasks needed for its host.
appcreates a command-line application.libcreates a typed LuaRocks library.browsercreates a portable Lua application hosted in a browser Worker.browser-simdadds scalar and SIMD128 Wasm AOT variants.lovecreates a checked LÖVE project with pinned API definitions.
Continue learning#
Read the tour for the core language. Use the feature map to find comptime, ownership, workers, AOT, GPU compute, portable targets, embedding, and the standard library. The tooling guide covers the daily commands in more depth.
Install a release to get nupp on PATH. Building Nupp itself from a source checkout is a contributor workflow covered in CONTRIBUTING.md.