@fredlackey/cli-namecheap
v0.0.3
Published
AI-first CLI for Namecheap domain, DNS, and SSL management
Maintainers
Readme
@fredlackey/cli-namecheap
Command-line interface for Namecheap domain, DNS, and SSL management. Namecheap's XML API responses are parsed and emitted as clean JSON, so AI agents and scripts can consume them directly. Human-friendly output kicks in automatically when you're working interactively.
Install
npm install -g @fredlackey/cli-namecheapUsage
Every command accepts credentials directly as flags. No setup step is required.
namecheap domain list \
--api-user flackey \
--api-key <key> \
--client-ip 203.0.113.42
namecheap dns list --name example.com \
--api-user flackey \
--api-key <key> \
--client-ip 203.0.113.42If you've already run namecheap configure, you can omit the credential flags:
namecheap domain list
namecheap domain check --name coolstartup.com,coolstartup.io
namecheap dns set-custom --name example.com --ns ns1.cloudflare.com,ns2.cloudflare.com
namecheap domain catalog --concurrency 5Your client IP must be whitelisted in the Namecheap dashboard at https://ap.www.namecheap.com/settings/tools/apiaccess/ before any API calls will succeed.
Configure (Optional)
The configure command is optional. Every command accepts credentials directly as flags (e.g. --api-key, --api-user). You never need to run configure to use this tool. It exists as a convenience so you don't have to pass the same flags on every invocation.
namecheap configure \
--api-user flackey \
--api-key <key> \
--client-ip 203.0.113.42Running namecheap configure without flags prompts for each value interactively. Credentials are stored in ~/.config/cli-namecheap/config.json and that file is the only config source. There are no environment variables to set.
If a required credential is missing at runtime, the error tells you exactly what to do:
{
"error": "Missing required value: --api-key. Pass it as a flag or run \"namecheap configure\"."
}Full Command Reference
For the complete list of commands and flags, see COMMANDS.md.
Output
All commands write JSON to stdout by default. When run in an interactive terminal, output switches to a human-friendly format with colors. Use the global --json and --interactive flags to override the auto-detection.
Contributing
If you find a gap or have a feature request, open an issue or submit a pull request on GitHub.
Questions?
If you have questions, comments, or just want to talk shop, feel free to reach out.
Fred Lackey
[email protected]
https://fredlackey.com
License
Apache-2.0
