Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "wiki"]
path = wiki
url = https://github.com/SamyRai/namecheap.wiki.git
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Wiki submodule URL inconsistent with renamed project

The wiki submodule URL references https://github.com/SamyRai/namecheap.wiki.git while all other repository URLs throughout the codebase (CONTRIBUTING.md, README.md) have been updated to reference zonekit. This inconsistency means the submodule will point to the old wiki repository. The URL should be https://github.com/SamyRai/zonekit.wiki.git to match the renamed project.

Fix in Cursor Fix in Web

2 changes: 1 addition & 1 deletion .tool-versions
Original file line number Diff line number Diff line change
@@ -1 +1 @@
golang 1.25.0
golang 1.25.6
18 changes: 9 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Contributing to Namecheap DNS Manager
# Contributing to ZoneKit

Thank you for your interest in contributing! This document provides guidelines and instructions for contributing to the project.

## Quick Links

- [Wiki Contributing Guide](https://github.com/SamyRai/namecheap/wiki/Contributing) - Complete contributing documentation
- [Wiki Contributing Guide](https://github.com/SamyRai/zonekit/wiki/Contributing) - Complete contributing documentation
- [Code of Conduct](.github/CODE_OF_CONDUCT.md) - Community standards
- [Issues](https://github.com/SamyRai/namecheap/issues) - Report bugs or request features
- [Pull Requests](https://github.com/SamyRai/namecheap/pulls) - Submit contributions
- [Issues](https://github.com/SamyRai/zonekit/issues) - Report bugs or request features
- [Pull Requests](https://github.com/SamyRai/zonekit/pulls) - Submit contributions

## How to Contribute

Expand All @@ -20,7 +20,7 @@ Thank you for your interest in contributing! This document provides guidelines a

## Development Setup

See the [Wiki Contributing Guide](https://github.com/SamyRai/namecheap/wiki/Contributing) for detailed setup instructions.
See the [Wiki Contributing Guide](https://github.com/SamyRai/zonekit/wiki/Contributing) for detailed setup instructions.

## Code Standards

Expand All @@ -43,9 +43,9 @@ Follow [Conventional Commits](https://www.conventionalcommits.org/):

## Questions?

- Check the [Wiki](https://github.com/SamyRai/namecheap/wiki)
- Open an [Issue](https://github.com/SamyRai/namecheap/issues)
- Review existing [Pull Requests](https://github.com/SamyRai/namecheap/pulls)
- Check the [Wiki](https://github.com/SamyRai/zonekit/wiki)
- Open an [Issue](https://github.com/SamyRai/zonekit/issues)
- Review existing [Pull Requests](https://github.com/SamyRai/zonekit/pulls)

For complete contributing guidelines, see the [Wiki Contributing Guide](https://github.com/SamyRai/namecheap/wiki/Contributing).
For complete contributing guidelines, see the [Wiki Contributing Guide](https://github.com/SamyRai/zonekit/wiki/Contributing).

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2024 Namecheap DNS Manager
Copyright (c) 2024 ZoneKit

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Namecheap DNS Manager Makefile
# ZoneKit Makefile

.PHONY: build test clean install lint fmt vet deps help

# Variables
BINARY_NAME=namecheap-dns
BINARY_NAME=zonekit
MAIN_PATH=./main.go
BUILD_DIR=build
GOFLAGS=-ldflags="-w -s"
Expand Down
20 changes: 10 additions & 10 deletions QUICKSTART.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Namecheap DNS Manager - Quick Start
# ZoneKit - Quick Start

## What's Been Built

A CLI tool for managing Namecheap domains and DNS records with Migadu email hosting integration.
A CLI tool for managing DNS zones and records across multiple providers with Migadu email hosting integration.

## Key Features Implemented

Expand All @@ -23,8 +23,8 @@ A CLI tool for managing Namecheap domains and DNS records with Migadu email host

✅ **Migadu Email Integration** (Special Feature!)

- One-command setup: `./namecheap-dns migadu setup domain.com`
- Verification: `./namecheap-dns migadu verify domain.com`
- One-command setup: `./zonekit migadu setup domain.com`
- Verification: `./zonekit migadu verify domain.com`
- Dry-run support to preview changes
- Conflict detection for existing records
- Easy cleanup/removal
Expand All @@ -40,22 +40,22 @@ A CLI tool for managing Namecheap domains and DNS records with Migadu email host

```bash
# Build the app
go build -o namecheap-dns main.go
go build -o zonekit main.go

# Configure (already done with your credentials)
./namecheap-dns config show
./zonekit config show

# List your domains
./namecheap-dns domain list
./zonekit domain list

# Check DNS records
./namecheap-dns dns list mukimov.com
./zonekit dns list mukimov.com

# Verify your existing Migadu setup
./namecheap-dns migadu verify mukimov.com
./zonekit migadu verify mukimov.com

# Set up Migadu on a new domain (dry run first)
./namecheap-dns migadu setup glpx.pro --dry-run
./zonekit migadu setup glpx.pro --dry-run
```

## Your Current Setup
Expand Down
73 changes: 37 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Namecheap DNS Manager
# ZoneKit

<div align="center">

Expand All @@ -7,9 +7,9 @@
![Go](https://img.shields.io/badge/Go-1.22+-00ADD8?style=flat-square&logo=go)
![License](https://img.shields.io/badge/license-MIT-green?style=flat-square)

A command-line interface for managing Namecheap domains and DNS records with **multi-account support**.
A command-line interface for managing DNS zones and records across multiple providers with **multi-account support**.

[Installation](#-quick-start) • [Documentation](https://github.com/SamyRai/namecheap/wiki) • [Issues](https://github.com/SamyRai/namecheap/issues) • [Releases](https://github.com/SamyRai/namecheap/releases)
[Installation](#-quick-start) • [Documentation](https://github.com/SamyRai/zonekit/wiki) • [Issues](https://github.com/SamyRai/zonekit/issues) • [Releases](https://github.com/SamyRai/zonekit/releases)

</div>

Expand All @@ -19,7 +19,7 @@ A command-line interface for managing Namecheap domains and DNS records with **m

> **Warning**
>
> **This is NOT an official Namecheap tool.** This is an independent, community-maintained project.
> **This is an independent, community-maintained project.**
>
> **Current Status: Pre-1.0.0 Release (v0.1.0)**
>
Expand All @@ -40,7 +40,8 @@ A command-line interface for managing Namecheap domains and DNS records with **m

| Feature | Description |
|---------|-------------|
| **Multi-Account Management** | Configure and switch between multiple Namecheap accounts |
| **Multi-Provider Support** | Support for multiple DNS providers (Namecheap, Cloudflare, and more) |
| **Multi-Account Management** | Configure and switch between multiple provider accounts |
| **Domain Management** | List, check, and manage your domains |
| **DNS Management** | Create, update, and delete DNS records |
| **Bulk Operations** | Perform multiple DNS operations at once |
Expand All @@ -57,14 +58,14 @@ A command-line interface for managing Namecheap domains and DNS records with **m

```bash
# Clone the repository
git clone https://github.com/SamyRai/namecheap.git
git clone https://github.com/SamyRai/zonekit.git
cd namecheap

# Build the binary
make build

# Or build directly
go build -o namecheap-dns ./main.go
go build -o zonekit ./main.go
```

### 2. Configuration
Expand All @@ -73,33 +74,33 @@ The tool automatically detects configuration files in this priority order:

| Priority | Location | Use Case |
|----------|----------|----------|
| **1** | `./configs/.namecheap-dns.yaml` | Development |
| **2** | `~/.namecheap-dns.yaml` | Production |
| **1** | `./configs/.zonekit.yaml` | Development |
| **2** | `~/.zonekit.yaml` | Production |

```bash
# Initialize configuration
./namecheap-dns config init
./zonekit config init

# Or add account interactively
./namecheap-dns account add
./zonekit account add
```

### 3. Test Your Setup

```bash
# List accounts
./namecheap-dns account list
./zonekit account list

# List domains
./namecheap-dns domain list
./zonekit domain list

# Use specific account
./namecheap-dns --account work domain list
./zonekit --account work domain list
```

</details>

> **For detailed documentation, see the [Wiki](https://github.com/SamyRai/namecheap/wiki)**
> **For detailed documentation, see the [Wiki](https://github.com/SamyRai/zonekit/wiki)**

## Commands

Expand Down Expand Up @@ -148,7 +149,7 @@ The tool automatically detects configuration files in this priority order:

</details>

> **For complete command reference, see [Usage Guide](https://github.com/SamyRai/namecheap/wiki/Usage)**
> **For complete command reference, see [Usage Guide](https://github.com/SamyRai/zonekit/wiki/Usage)**

## Security

Expand All @@ -162,36 +163,36 @@ The tool automatically detects configuration files in this priority order:
The tool automatically detects configuration files in this priority order:

1. **Project Directory** (Recommended for development):
- `./configs/.namecheap-dns.yaml`
- `./configs/.zonekit.yaml`
- Automatically found when running from project directory

2. **Home Directory** (Fallback):
- `~/.namecheap-dns.yaml`
- `~/.zonekit.yaml`
- Used when no project config is found

3. **Custom Location**:
- `./namecheap-dns --config /path/to/config.yaml`
- `./zonekit --config /path/to/config.yaml`

## Pro Tips

### Multi-Account Workflow

```bash
# 1. Add multiple accounts
./namecheap-dns account add personal
./namecheap-dns account add work
./namecheap-dns account add client1
./zonekit account add personal
./zonekit account add work
./zonekit account add client1

# 2. Switch between accounts
./namecheap-dns account switch work
./namecheap-dns domain list
./zonekit account switch work
./zonekit domain list

./namecheap-dns account switch personal
./namecheap-dns domain list
./zonekit account switch personal
./zonekit domain list

# 3. Use specific account for one-off commands
./namecheap-dns --account work dns list example.com
./namecheap-dns --account personal domain check newdomain.com
./zonekit --account work dns list example.com
./zonekit --account personal domain check newdomain.com
```

### Account Organization
Expand All @@ -206,11 +207,11 @@ The tool automatically detects configuration files in this priority order:
### Common Issues

1. **"No config file found"**
- Run `./namecheap-dns config init` to create a config file
- Run `./zonekit config init` to create a config file
- Ensure the config file is in the correct location

2. **"Account not found"**
- Check available accounts with `./namecheap-dns account list`
- Check available accounts with `./zonekit account list`
- Verify account names are correct

3. **API Connection Errors**
Expand All @@ -222,12 +223,12 @@ The tool automatically detects configuration files in this priority order:

```bash
# Help
./namecheap-dns help
./zonekit help

# Command-specific help
./namecheap-dns account --help
./namecheap-dns domain --help
./namecheap-dns dns --help
./zonekit account --help
./zonekit domain --help
./zonekit dns --help
```

## Migration from Legacy Config
Expand Down Expand Up @@ -255,7 +256,7 @@ namecheap/

```bash
# Development build
go build -o namecheap-dns cmd/main.go
go build -o zonekit cmd/main.go

# Production build
make build
Expand All @@ -280,5 +281,5 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file

For issues and questions:
- Check the troubleshooting section above
- Review the help command: `./namecheap-dns help`
- Review the help command: `./zonekit help`
- Open an issue on GitHub
Loading
Loading