Skip to content

Package Authoring

Use nubo init to initialize a Nubo package/project.

Terminal window
nubo init

This creates:

_nubo.yaml
lock.yaml

During init, Nubo asks for package metadata.

PromptDescription
Init: Project NameProject/package name.
Init: Author NameAuthor name.
Init: Author WebsiteOptional author website URL.
Init: RepositoryOptional repository URL.

The project name must contain only:

  • letters
  • numbers
  • _
  • -
  • .

Example valid names:

my_package
my-package
my.package
package123

The author name must not be empty.

The website and repository fields are optional.

If provided, they must be valid URLs.

name: my-package
author:
name: Martin
website: https://example.com
repository: https://github.com/example/my-package
packages: []

When you add packages with nubo get, they are added to _nubo.yaml.

packages:
- source: https://github.com/nubolang/color.git
commit: f5063d6

The exact full commit and hash go into lock.yaml.

A Nubo package can live in a Git repository.

Other projects can add it with:

Terminal window
nubo get github.com/user/repo

If the package has dependencies, include its lock.yaml so Nubo can merge nested locked dependencies when another project installs it.