Packaging and distribution plan¶
This document outlines how we intend to ship Donguru. It is not an installation guide.
Status: Draft
Package formats and distribution details are subject to change.
Goals and scope¶
Ship the donguru CLI with its supporting files, reliable upgrades and a
clean uninstall, in this order:
- Linux:
.rpmand.deb - macOS: a Homebrew formula
- Windows: a Chocolatey package
Start with x86-64 binaries for each OS and publish standalone binaries with each release as a fallback for users without a package. DMG, MSI and other Linux formats can follow if needed.
Info
A standalone binary will not set up shell completions, udev access or other system integration automatically.
Tip
In the long run, using a tool like nFPM would make sense to provide a broader range of Linux packages.
What packages contain¶
| Asset | Intended treatment |
|---|---|
| CLI | donguru, with dg installed as a symlink or Windows shim to the same binary. |
| Completions and man pages | Generated from the released CLI and installed in the appropriate locations for each package manager. |
| Linux udev rules | A package-owned rule in the distro's vendor rules directory; we will also ship a separate inactive group-rule example for headless/SSH hosts. |
| Config | A documented donguru.toml.example only. Never install an active system config or overwrite a user's config. |
References¶
- CLI asset generation: clap_complete, clap_mangen.
- Linux packaging: RPM documentation, Debian Policy, nFPM, udev rules.
- macOS: Homebrew Formula Cookbook and bottles.
- Windows: Chocolatey package creation.