-
-
Notifications
You must be signed in to change notification settings - Fork 0
Plugins
Damir Mukimov edited this page Nov 22, 2025
·
9 revisions
Namecheap DNS Manager features a plugin system that allows you to extend functionality for specific use cases.
The Migadu plugin helps you set up DNS records for Migadu email hosting.
Commands:
-
namecheap-dns migadu setup <domain>- Set up all required DNS records -
namecheap-dns migadu verify <domain>- Verify DNS records are correct -
namecheap-dns migadu remove <domain>- Remove Migadu DNS records
Example:
# Setup with dry-run first
namecheap-dns migadu setup example.com --dry-run
# Apply changes
namecheap-dns migadu setup example.com
# Verify setup
namecheap-dns migadu verify example.comnamecheap-dns plugin listnamecheap-dns plugin info migaduOutput includes:
- Plugin name and version
- Description
- Available commands
Plugins are Go packages that implement the plugin.Plugin interface.
type Plugin interface {
Name() string
Description() string
Version() string
Commands() []Command
}See the Plugin Example in the main repository for a complete example.
-
Plugin Registration: Plugins must be registered in
cmd/root.go -
Command Execution: Commands receive a
Contextwith DNS service access -
Output Handling: Use
ctx.Outputfor user-facing messages
- Validate all inputs
- Support
--dry-runflag - Check for existing records before modifying
- Provide clear error messages
- Use DNS constants from
pkg/dnspackage
For detailed plugin development guide, see:
If you create a useful plugin, consider contributing it back to the project:
- Fork the repository
- Create your plugin in
pkg/plugin/<plugin-name>/ - Register it in
cmd/root.go - Add tests
- Submit a pull request