chore: add .gitmodules to track wiki submodule#2
Conversation
There was a problem hiding this comment.
This is the final PR Bugbot will review for you during this billing cycle
Your free Bugbot reviews will reset on January 9
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| @@ -0,0 +1,3 @@ | |||
| [submodule "wiki"] | |||
| path = wiki | |||
| url = https://github.com/SamyRai/namecheap.wiki.git | |||
There was a problem hiding this comment.
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.
| // Write NS records (placeholder) | ||
| sb.WriteString("; Name servers\n") | ||
| sb.WriteString("@ IN NS ns1.namecheap.com.\n") | ||
| sb.WriteString("@ IN NS ns2.namecheap.com.\n\n") |
There was a problem hiding this comment.
Bug: Zone file export hardcodes Namecheap nameservers for all providers
The formatAsZoneFile function hardcodes ns1.namecheap.com and ns2.namecheap.com as the SOA and NS records in exported zone files. Since the project now supports multiple DNS providers (Cloudflare, GoDaddy, DigitalOcean), exporting zone files from non-Namecheap providers will produce incorrect output with Namecheap-specific nameservers that don't match the actual provider's nameservers.
| _ = namecheap.Register(client) | ||
|
|
||
| // Get the provider from registry | ||
| dnsProvider, _ := provider.Get("namecheap") |
There was a problem hiding this comment.
Bug: Ignored error may cause nil pointer dereference
The NewService function ignores the error returned by provider.Get("namecheap") using the blank identifier. If the provider registration fails for any reason, dnsProvider will be nil, and subsequent method calls like s.provider.GetRecords() will cause a nil pointer panic at runtime.
| } | ||
| if input.Value == "" { | ||
| return nil, fmt.Errorf("operation missing required field: value") | ||
| } |
There was a problem hiding this comment.
Bug: Delete operations incorrectly require value field
The parseBulkOperationsFile function unconditionally requires the value field for all bulk operations, including delete actions. However, delete operations in BulkUpdate only use HostName and RecordType to identify records to remove, making the value requirement unnecessary for deletes. This prevents users from performing bulk delete operations without specifying a value that won't be used.
There was a problem hiding this comment.
Bug: Bulk operations YAML format mismatch with documentation
The help text documents the YAML file format with an operations: wrapper key, but parseBulkOperationsFile unmarshals directly into []OperationInput, expecting a bare YAML array at the root level. Users following the documented example format will get a parsing error because the code cannot unmarshal a map into a slice.
cmd/dns.go#L306-L320
Lines 306 to 320 in 3f50311
cmd/dns.go#L581-L585
Lines 581 to 585 in 3f50311
…vider-plugin Merge feature/record-id-support: add record ID mapping and delete-by-id support
Description
Brief description of changes
Type of Change
Related Issues
Closes #(issue number)
Changes Made
Testing
Checklist
Screenshots (if applicable)
Add screenshots to help explain your changes.
Additional Notes
Any additional information that reviewers should know.
Note
Rebrands to ZoneKit and introduces a provider-agnostic DNS layer with OpenAPI-based autodiscovery, new service integration plugin/commands, bulk DNS ops and zone export, updated tests/docs, and a wiki submodule.
ZoneKit; change module tomodule zonekit.pkg/dns/provider/*(registry, REST adapter, HTTP client, auth, mapper, OpenAPI loader, autodiscovery) with specs forcloudflare/,digitalocean/,godaddy/and Namecheap adapter.provider.Providerand newpkg/dnsrecord.Record.servicecommand group (list/info/setup/verify/remove) for config-based integrations; register via plugin system.dnscommands: implement bulk ops from YAML (dns bulk --confirm) and zone export to file/stdout; add helpers for formatting/parse.migaducommand; equivalent via service plugin.~/.zonekit.yamland messages; improve validation with a live API call.initProviderswith OpenAPI-only approach).README.md,QUICKSTART.md,CONTRIBUTING.md, examples, and config sample to ZoneKit and multi-provider.LICENSEowner update..gitmodules.renovate.json.Written by Cursor Bugbot for commit 3f50311. This will update automatically on new commits. Configure here.