Kennels are created with the kennel project structure:
lib.glang <- entry point
kennel.toml <- package configuration
README.md <- package info
LICENSE <- any license
Kennels must be hosted on GitHub, as GLang indexes kennels from GitHub source .zip files. We suggest using our Kennel Template to create your kennel.
Inside the kennel.toml, you can configure a package like so:
name = "my_kennel" # snake case "easy import identifier" (EII)
description = "This kennel does cool things!" # one line description
authors = ["John Doe"] # authors
version = "1.0" # the version
entry = "lib.glang" # the kennel entry point (where your code lives)
requires = [] # any external kennels required
The name field (EII) is how users import your kennel, it must be a snake case identifiable name. The entry field is what file is imported when users import the kennel, it can be any GLang file.
If your kennel requires any external kennels, add them to the requires field (string names of the installable kennels)
GLang keeps a registry of installable kennels via the registry.json file. You can add a kennel you made by either:
Forking The Repo
Fork the GitHub repo (https://github.com/mpsoftwarefoundation/GeorgeLanguage)
Edit The Registry
Edit the registry.json file to add your kennel. Example:
{
"name": "my_kennel",
"url": "https://github.com/<your-username>/<your-repo>/archive/refs/heads/main.zip"
}
Submit A Pull Request
Create a new pull request on the main branch, then we will review and publish your Kennel! *Expect a 1-2 hour delay
Create a new issue with your repository here, and add the kennel label. We will automatically approve and add your kennel to the registry!