Yikes, I do need to better document it.
Essentially, packman fetches
a file which contains a list of names and URLs. This is the list of repositories, and anyone can add their own by sending a pull request to that github repository. They just need to have a valid, static url that packman can fetch their package list from. A
package list is simply that, a human-readable listing of information about every package that the repository offers. Each package listing must start with the name of the package, and must include a name, a (download) type, a version number, a non-zero size field, and a list of dependencies (if no dependencies, use 'none', see the LyqydNet package in the package list linked earlier). The version number is used for checking for new updates, and can be any steadily-increasing number you want (though currently restricted to numbers that can successfully tonumber()). The download methods that are available (and their required fields) are shown
here. Examples of the raw, github, and pastebin download methods can be seen in the package list linked earlier.
And if you have any questions, feel free to ask either here, or in the Packman topic over in the Programs section!