Package manifests

moon.toml gives a project a package name and dependency records. A dependency's name becomes the first segment of its import namespace. Sources may be local, Git, bundled, or registry-backed.

moon deps validates the transitive graph and writes checksummed moon.lock; moon vendor creates an offline copy. Package resolution stays local-only in this tour sandbox.

use greeter.hello

fn main() { println(hello.message("moon")) }
Run locally
moon deps && moon run src/main.mn
Ctrl/⌘+Enter checks the current lesson.