Tools

Packages and projects

Every Genzimnify project can describe itself and its dependencies in gzim.toml. Packages may come from Git or a local directory.

Create a project

mkdir my-vibe && cd my-vibe
gzim init

This creates main.gzim and a manifest:

[project]
name = "my-vibe"
version = "0.1.0"

[dependencies]

Add a dependency

gzim add cool https://github.com/example/cool.git
gzim add pinned https://github.com/example/pinned.git#v1.4.0
gzim add local ../my-local-package

The command records the source and installs it under the project-local .gzim/packages/ cache. A #tag, #branch, or #commit pins a Git dependency.

Restore dependencies

gzim install

Reads gzim.toml and restores every dependency. Resolved Git commits are recorded in gzim.lock so another machine installs the same code. Commit both files; do not commit .gzim/.

Use a package

pull up cool
yap(call up cool.greet("world") yo)

A package can expose cool.gzim, src/cool.gzim, nested modules, or main.gzim.

List and remove

gzim packages
gzim remove cool
Package sources

Version 2.0.3 accepts Git repositories and local directories as package sources. Package updates are staged before replacing an installed dependency. A central package registry is not implemented.