Package Authoring
Use nubo init to initialize a Nubo package/project.
nubo initThis creates:
_nubo.yamllock.yamlInit Prompts
Section titled “Init Prompts”During init, Nubo asks for package metadata.
| Prompt | Description |
|---|---|
Init: Project Name | Project/package name. |
Init: Author Name | Author name. |
Init: Author Website | Optional author website URL. |
Init: Repository | Optional repository URL. |
Project Name Rules
Section titled “Project Name Rules”The project name must contain only:
- letters
- numbers
_-.
Example valid names:
my_packagemy-packagemy.packagepackage123Author Name
Section titled “Author Name”The author name must not be empty.
Website and Repository
Section titled “Website and Repository”The website and repository fields are optional.
If provided, they must be valid URLs.
Example _nubo.yaml
Section titled “Example _nubo.yaml”name: my-packageauthor: name: Martin website: https://example.comrepository: https://github.com/example/my-packagepackages: []Package Dependencies
Section titled “Package Dependencies”When you add packages with nubo get, they are added to _nubo.yaml.
packages: - source: https://github.com/nubolang/color.git commit: f5063d6The exact full commit and hash go into lock.yaml.
Publishing Packages
Section titled “Publishing Packages”A Nubo package can live in a Git repository.
Other projects can add it with:
nubo get github.com/user/repoIf the package has dependencies, include its lock.yaml so Nubo can merge nested locked dependencies when another project installs it.