一键导入
wraps-cli
CLI that deploys SES, DynamoDB, Lambda, and IAM resources to your AWS account with automatic DKIM, SPF, DMARC configuration.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
CLI that deploys SES, DynamoDB, Lambda, and IAM resources to your AWS account with automatic DKIM, SPF, DMARC configuration.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | wraps-cli |
| description | CLI that deploys SES, DynamoDB, Lambda, and IAM resources to your AWS account with automatic DKIM, SPF, DMARC configuration. |
CLI that deploys SES, DynamoDB, Lambda, and IAM resources to your AWS account. Configures DKIM, SPF, DMARC, and event tracking automatically.
# Run directly with npx (recommended)
npx @wraps.dev/cli <command>
# Or install globally
npm install -g @wraps.dev/cli
wraps <command>
# Deploy email infrastructure
npx @wraps.dev/cli email init
# Check status
npx @wraps.dev/cli email status
# Verify domain
npx @wraps.dev/cli email verify --domain yourapp.com
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY~/.aws/credentialswraps email initDeploy new email infrastructure to your AWS account.
# Interactive mode (prompts for options)
wraps email init
# With flags
wraps email init --provider vercel --region us-west-2 --domain myapp.com
# Production preset (enhanced security, multi-AZ)
wraps email init --preset production
Options:
--provider <name> — Hosting provider (vercel, aws-lambda, generic)--region <region> — AWS region (default: us-east-1)--domain <domain> — Domain to verify for sending--preset <preset> — Configuration preset (default, production)What gets deployed:
All resources use the wraps-email-* namespace prefix.
wraps email statusShow current deployment status.
wraps email status
Output includes:
wraps email verifyCheck and guide domain DNS verification.
# Check DNS propagation
wraps email verify --domain myapp.com
# Auto-configure if using Route53
wraps email verify --domain myapp.com --auto
DNS Records Required:
wraps email upgradeAdd features to existing deployment.
# Interactive upgrade wizard
wraps email upgrade
# Specific upgrades
wraps email upgrade --feature tracking
wraps email upgrade --feature webhooks
wraps email connectImport existing SES infrastructure into Wraps management.
wraps email connect
Use this if you already have SES configured and want to use Wraps SDK/dashboard without redeploying.
wraps email restoreRestore infrastructure from saved metadata.
# Interactive restore
wraps email restore
# Skip confirmation (use with caution)
wraps email restore --force
wraps email destroyRemove all Wraps email infrastructure.
# Interactive confirmation
wraps email destroy
# Skip confirmation (use with caution)
wraps email destroy --force
Warning: This removes all deployed resources. Email sending will stop working.
Deployment state is stored in ~/.wraps/ directory:
| Variable | Description |
|---|---|
AWS_PROFILE | AWS credentials profile to use |
AWS_REGION | Default AWS region |
AWS_ACCESS_KEY_ID | AWS access key (if not using profile) |
AWS_SECRET_ACCESS_KEY | AWS secret key (if not using profile) |
WRAPS_TELEMETRY_DISABLED | Set to 1 to disable telemetry |
# 1. Deploy infrastructure
npx @wraps.dev/cli email init --domain myapp.com
# 2. Add DNS records (shown in output)
# DKIM, SPF, DMARC records for myapp.com
# 3. Wait for DNS propagation and verify
npx @wraps.dev/cli email verify --domain myapp.com
# 4. Check everything is ready
npx @wraps.dev/cli email status
# 5. Install SDK and start sending
npm install @wraps.dev/email
# 1. Deploy with Vercel provider (sets up OIDC)
npx @wraps.dev/cli email init --provider vercel --domain myapp.com
# 2. Copy the Role ARN from output
# Add to Vercel environment: AWS_ROLE_ARN=arn:aws:iam::...
# 3. In your app, use the SDK
import { WrapsEmail } from '@wraps.dev/email';
const email = new WrapsEmail({
roleArn: process.env.AWS_ROLE_ARN,
});
# Primary region
npx @wraps.dev/cli email init --region us-east-1 --domain myapp.com
# Secondary region (DR)
npx @wraps.dev/cli email init --region us-west-2 --domain myapp.com
# Import existing SES setup
npx @wraps.dev/cli email connect
# Add event tracking
npx @wraps.dev/cli email upgrade --feature tracking
New AWS accounts start in SES sandbox mode:
To exit sandbox:
wraps email verify --domain yourapp.comThe CLI will guide you through this process.
# Check AWS credentials
aws sts get-caller-identity
# Or set environment variables
export AWS_ACCESS_KEY_ID=your-key
export AWS_SECRET_ACCESS_KEY=your-secret
DNS propagation can take up to 72 hours. Check status:
wraps email verify --domain myapp.com
Common issues:
You need production access to send to non-verified emails:
Ensure your IAM user/role has these permissions:
ses:*iam:CreateRole, iam:AttachRolePolicy (for OIDC setup)dynamodb:CreateTable, dynamodb:* (for event tracking)lambda:CreateFunction, lambda:* (for event processing)cloudwatch:PutMetricAlarm (for monitoring)Or use the managed policy: arn:aws:iam::aws:policy/AdministratorAccess (not recommended for production).
The CLI collects anonymous usage data to improve the product:
Never collected: AWS credentials, domains, email content, PII.
Opt out:
wraps telemetry disable
# or
export WRAPS_TELEMETRY_DISABLED=1
All resources created by Wraps use consistent naming:
| Resource | Name Pattern |
|---|---|
| SES Configuration Set | wraps-email-tracking |
| DynamoDB Table | wraps-email-events |
| Lambda Functions | wraps-email-processor |
| IAM Roles | wraps-email-* |
| CloudWatch Alarms | wraps-email-* |
This makes it easy to identify and audit Wraps resources in your AWS account.
The CLI follows a non-destructive approach:
wraps-* prefixdestroy only removes resources created by Wraps