No description
Find a file
2026-06-25 18:07:44 -07:00
readme.md add readme 2026-06-25 18:07:44 -07:00

pkg — merith's open source packages

This organization hosts Merith's open source packages, libraries, tools, and mods. All repositories follow the conventions documented below.


Repository Naming

Repos are named <scope>-<name> in lowercase kebab-case.

Scope Meaning Example
mc Minecraft mods mc-modname
cli Command-line tools cli-nlsh
lib General-purpose libraries lib-crypto
util Single-purpose utility libraries util-strparse
bot Discord / chat bots bot-kobold
web Web services and APIs web-appname
infra Infrastructure and ops tooling infra-compose
sdk Client libraries for internal services sdk-myapi
spec Design documents and standards (no code) spec-protocol
proto Shared protobuf / gRPC definitions proto-myservice

No language suffix is used in repo names — the scope and repo contents make the language self-evident.


Package / Module IDs

Java packages follow reverse-domain notation rooted at xyz.merith.pkg:

xyz.merith.pkg.<scope>[.<subscope>].<name>

Examples:

Package ID What it is
xyz.merith.pkg.mc.modname Minecraft mod
xyz.merith.pkg.util.strparse Java string utility
xyz.merith.pkg.lib.crypto Java crypto library
xyz.merith.pkg.bot.kobold Discord bot

Go modules use the Forgejo path directly:

git.merith.xyz/pkg/<repo-name>

Rust crates use snake_case and are published (if at all) as merith_<scope>_<name>.


Versioning

All repos use Semantic Versioning: vMAJOR.MINOR.PATCH

Exception — Minecraft mods prefix the MC version on the tag:

mc-MCVERSION-vMAJOR.MINOR.PATCH

# Example
mc-1.21.1-v0.3.0

The MC version prefix appears on the tag only — repo names are never versioned.


Special Repositories

Repo Purpose
.profile Org landing page (this README)
standards Full standards and conventions documentation
templates Starter templates for each scope