Skip to content

Use the Sandbox and Domain names in help text and skill docs - #20

Merged
Rabsztok merged 3 commits into
mainfrom
sdks-cli-and-mcp-adopt-the-sandbox-and
Nov 6, 2026
Merged

Rabsztok merged 3 commits into
mainfrom
sdks-cli-and-mcp-adopt-the-sandbox-and

Conversation

@Rabsztok

@Rabsztok Rabsztok commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Motivation

Mailtrap now calls Email Sandbox testing inboxes sandboxes and sending domains domains. The CLI's commands, flags and config keys already use the new names, but its help text, agent skill docs and test plan still said "sending domain", "sandbox inbox" and "inbox ID". This brings them in line. The SDKs and the MCP server get the same rename in their own PRs.

Changes

  • Help text says "domain" where it said "sending domain" (domains, company-info, suppressions create, tracking-opt-outs create, email-campaigns create/update, inbound inboxes create --domain-id) and "sandbox" where it said "sandbox inbox" (sandbox-send, mailtrap --help)

  • API paths, request bodies and JSON output keep the old names because they mirror the API: requests still go to /inboxes and /sending_domains, and stats by-domain -o json still prints sending_domain_id
    • tokens create help keeps the "inbox" and "sending_domain" resource types and says which product each one means
    • Email Inbound keeps "inbox": inbound inboxes are a different product
  • The agent skill gets a naming note, so a request about an "inbox" or a "sending domain" still reaches sandboxes/--sandbox-id or domains; its references and docs/TEST_PLAN.md use the new names (<SANDBOX_ID> placeholders)

  • Internal Go identifiers follow the command names; output is unchanged

How to test

You'll need MAILTRAP_API_TOKEN and MAILTRAP_ACCOUNT_ID for an account with a sandbox and some sending stats.

  • Help text — mailtrap --help, mailtrap domains --help, mailtrap company-info get --help, mailtrap sandbox-send --help, mailtrap suppressions create --help, mailtrap tracking-opt-outs create --help, mailtrap email-campaigns create --help and mailtrap inbound inboxes create --help say "domain" or "sandbox", with no "sending domain" or "sandbox inbox" left
  • Token help — mailtrap tokens create --help lists "inbox" (a sandbox) and "sending_domain" (a domain) as resource types
  • Inbound keeps "inbox" — mailtrap inbound inboxes --help still talks about inboxes
  • Regression: sandboxes — mailtrap sandboxes list and mailtrap sandboxes get --id <id> show the same ID, NAME, EMAIL_USERNAME, STATUS, MAX_SIZE columns as before
  • Regression: domain stats — mailtrap stats by-domain --start-date <date> --end-date <date> shows the DOMAIN ID column, and with -o json each row still has sending_domain_id

Summary by CodeRabbit

  • Bug Fixes
    • Sandbox commands now display sandbox details consistently across create, get, list, update, and other sandbox operations.
  • Documentation
    • Updated CLI help and guides to use “domain” and “sandbox” terminology, including domain ID descriptions and sandbox command references.
    • Clarified that some API paths, response fields, and token resource types retain legacy inbox terminology.

Decisions:
- The commands, flags and config keys already use sandbox/domain; this aligns the remaining prose and internal identifiers with them
- API paths, request body roots, JSON keys and token resource types keep inbox/sending_domain because they mirror the wire
- Email Inbound keeps "inbox": inbound inboxes are a separate product
- SKILL.md gains a naming note so agents still map "inbox" and "sending domain" requests to sandboxes and domains

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 37 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ac3835e2-6f89-4d92-b33e-4284fcecf754
Commits

Reviewing files that changed from the base of the PR and between 60c35af and f25d031.

Files selected for processing: 3
  • docs/TEST_PLAN.md
  • internal/commands/domains/delete.go
  • internal/commands/domains/get.go

No actionable comments were generated in the recent review.

Walkthrough

The CLI and its supporting documentation now use domain and sandbox terminology more consistently. Sandbox commands use a Sandbox type for relevant responses and sandbox-named local IDs, while retaining the existing inbox API paths.

Changes: CLI terminology and sandbox alignment

Layer / File(s) Summary
Domain terminology in commands and references
internal/commands/companyinfo/*, internal/commands/domains/*, internal/commands/emailcampaigns/attributes.go, internal/commands/inbound/inboxes/create.go, internal/commands/stats/get.go, internal/commands/suppressions/create.go, internal/commands/trackingoptouts/create.go, skills/mailtrap-cli/references/domains.md, skills/mailtrap-cli/references/email-logs.md, skills/mailtrap-cli/references/inbound.md
Domain command descriptions and flag help use “domain” rather than “sending domain.” DomainStats.DomainID replaces SendingDomainID; the JSON key remains sending_domain_id.
Sandbox command IDs and responses
internal/commands/sandboxes/*, internal/commands/sandbox_send/sandbox_send.go, internal/commands/tokens/create.go
Sandbox commands use sandboxID for local ID values and decode applicable responses as Sandbox for output. The API paths remain under inboxes.
CLI guides and test plan terminology
cmd/root.go, docs/TEST_PLAN.md, skills/mailtrap-cli/SKILL.md, skills/mailtrap-cli/references/error-codes.md, internal/commands/webhooks/create.go, internal/commands/webhooks/update.go
The overview and guides use sandbox and domain terminology. The test plan uses sandbox IDs and names sandbox CRUD operations. The error reference lists sandbox as an example resource type, and webhook flag descriptions specify Email Inbound inboxes.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Suggested reviewers: sergeykorolev, mklocek

Merge Risk: Minimal · previous review 60c35

The changes are mergeable: they align terminology without changing supported command behavior or API-facing output.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: updating help text and skill documentation to use Sandbox and Domain terminology.
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 30 files. (1 skipped: 1 unsupported.)

Finishing Touches
Generate docstrings
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Tip

🎯 Customize your risk assessments

Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.

✅ Automatic approvals, with your rules

Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.
Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 5630282f-7e35-421f-bd6c-0319a81ed82a
Commits

Reviewing files that changed from the base of the PR and between de980d7 and 60c35af.

Files selected for processing: 12
  • docs/TEST_PLAN.md
  • internal/commands/sandboxes/clean.go
  • internal/commands/sandboxes/create.go
  • internal/commands/sandboxes/delete.go
  • internal/commands/sandboxes/get.go
  • internal/commands/sandboxes/mark_read.go
  • internal/commands/sandboxes/reset_credentials.go
  • internal/commands/sandboxes/reset_email.go
  • internal/commands/sandboxes/toggle_email.go
  • internal/commands/sandboxes/update.go
  • internal/commands/webhooks/create.go
  • internal/commands/webhooks/update.go

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@Rabsztok

Rabsztok commented Nov 3, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Decisions:
- --inbound-inbox-id help said only "Inbox ID", which the skill's new naming note maps to a sandbox; name the Email Inbound product instead
- fmt.Sprintf("%s", id) did nothing on the sandbox ID lines this change already renames
- the test plan prerequisite said "sandbox" three times in one line

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Rabsztok

Rabsztok commented Nov 3, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

…domains

Test plan rows 12.7 and 12.8 named toggle-email-username and
reset-email-username, which don't exist; the commands are toggle-email
and reset-email. domains get and delete now pass the ID straight to
AccountPath, as the sandboxes commands in this branch already do.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Rabsztok
Rabsztok requested review from IgorDobryn and izikaj November 3, 2026 11:32
@Rabsztok
Rabsztok marked this pull request as ready for review November 3, 2026 11:32
@Rabsztok
Rabsztok merged commit c5c8226 into main Nov 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants