MCPcopy Index your code
hub / github.com/dvcrn/maskedemail-cli

github.com/dvcrn/maskedemail-cli @1.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0.1 ↗ · + Follow
68 symbols 134 edges 7 files 14 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Fastmail MaskedEmail CLI

CLI to create Fastmail Masked Emails for whenever you need to

showcase

Installation

With npm

npm install -g maskedemail-cli

With mise

mise use -g go:github.com/dvcrn/maskedemail-cli@latest

With Go

go install github.com/dvcrn/maskedemail-cli@latest

Authentication

You'll need to create a FastMail API token.

🔒 The only necessary scope is "Masked Email".

Always use unique API tokens with the minimum scope(s) necessary for different purposes.

You can test authentication by running maskedemail-cli -token abcdef12345 session.

Usage

Usage of maskedemail-cli:
Flags:
  -accountid string
      fastmail account id (or MASKEDEMAIL_ACCOUNTID env)
  -appname string
      the appname to identify the creator (or MASKEDEMAIL_APPNAME env) (default: maskedemail-cli)
  -token string
      the token to authenticate with (or MASKEDEMAIL_TOKEN env)

Commands:
  maskedemail-cli create [-domain "<domain>"] [-desc "<description>"] [-prefix "<prefix>"] [-enabled=true|false (default true)]
  maskedemail-cli list [-show-deleted] [-all-fields]
  maskedemail-cli enable <maskedemail>
  maskedemail-cli disable <maskedemail>
  maskedemail-cli delete <maskedemail>
  maskedemail-cli update <maskedemail> [-domain "<domain>"] [-desc "<description>"]
  maskedemail-cli session
  maskedemail-cli version

Example:

$ maskedemail-cli -token abcdef12345 create -domain "facebook.com" -desc "Facebook"
$ maskedemail-cli -token abcdef12345 enable 123@mydomain.com
$ maskedemail-cli -token abcdef12345 disable 123@mydomain.com

$ maskedemail-cli -token abcdef12345 list
Masked Email        For Domain     Description   State
123@mydomain.com    facebook.com   Facebook      disabled

Other resources and things powered by this CLI

Note that these are based on an earlier version of the CLI.

Releasing

GitHub release artifacts are built with GoReleaser via .goreleaser.yml and .github/workflows/release.yml.

The npm wrapper package lives in npm/ and downloads the matching GitHub release asset during npm install. Before publishing, make sure:

  1. npm/package.json version matches the Git tag you will release
  2. you create and push that tag (for example v0.1.0)
  3. the GitHub release workflow finishes successfully
  4. you publish the npm package from npm/

Example:

git tag v0.1.0
git push origin v0.1.0
cd npm && npm publish

For local work in npm/ before a matching GitHub release exists, you can skip the binary download step with MASKEDEMAIL_CLI_SKIP_POSTINSTALL=1.

License

MIT

Attributions

JMAP API documentation from jmapio/jmap (Apache 2.0 / Copyright 2016 Fastmail Pty Ltd)

Extension points exported contracts — how you extend this code

Session (Interface)
Session contains server metadata information as well as the available accounts for the provided credentials. [1 implementers]
pkg/api.go
UpdateOption (FuncType)
(no doc)
pkg/requests.go

Core symbols most depended-on inside this repo

Session
called by 7
pkg/api.go
UpdateMaskedEmail
called by 4
pkg/api.go
LookupMaskedEmailID
called by 4
pkg/api.go
writeCache
called by 3
npm/update_check.js
normalizeVersion
called by 3
npm/update_check.js
sendRequest
called by 3
pkg/api.go
accIDOrDefault
called by 3
pkg/api.go
WithUpdateState
called by 3
pkg/requests.go

Shape

Function 27
Method 21
Struct 15
TypeAlias 3
FuncType 1
Interface 1

Languages

Go75%
TypeScript25%

Modules by API surface

pkg/api.go18 symbols
pkg/requests.go16 symbols
pkg/responses.go13 symbols
npm/update_check.js9 symbols
npm/postinstall.js8 symbols
main.go4 symbols

For agents

$ claude mcp add maskedemail-cli \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page