Package Exports
- @mailmodo/cli
- @mailmodo/cli/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@mailmodo/cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
mailmodo-cli
Email lifecycle automation for the AI-native builder generation.
Prerequisites
- Node.js v24.14.1
Setup
git clone https://github.com/Mailmodo/mailmodo-cli.git
cd mailmodo-cli
npm installDevelopment
Run in dev mode (without building)
node ./bin/run.js <command>Example:
node ./bin/run.js signupBuild the project
npm run buildRun after build
./bin/run.js <command>Link globally for local testing
This registers the mailmodo binary on your system so you can use it from anywhere:
npm linkThen run commands directly:
mailmodo signupTo unlink:
npm unlink -g @mailmodo/cliCommands
mailmodo signup
Sign up for Mailmodo. Prompts for an email address interactively.
mailmodo signupmailmodo help [COMMAND]
Display help for any command.
mailmodo help
mailmodo help signupScripts
| Script | Description |
|---|---|
npm run build |
Clean dist/ and compile TypeScript |
npm run lint |
Run ESLint |
npm test |
Run tests with Mocha |
CI/CD & Release Automation
Beta releases (on PR)
Every time a pull request targeting main is opened or updated, a beta version is automatically published to npm. A comment is posted on the PR with install instructions:
npm install -g @mailmodo/cli@betaThis lets anyone on the team test the PR changes without checking out the branch locally.
Note: npm publishing requires the
NPM_AUTH_TOKEN_WRITEsecret to be configured in the repo settings. Until then, the publish step will be skipped but all other steps (build, version bump, release) still work.
Automatic versioning (on merge)
When a PR is merged into main, the version in package.json is bumped automatically, a GitHub Release is created, and the new version is published to npm.
The bump type is determined by a tag in the PR title:
| PR title contains | Bump type | Example |
|---|---|---|
[major] |
major | 1.2.3 → 2.0.0 |
[minor] |
minor | 1.2.3 → 1.3.0 |
[patch] |
patch | 1.2.3 → 1.2.4 |
| (nothing) | patch | 1.2.3 → 1.2.4 |
Examples of PR titles:
[minor] Add email validation→ minor bump[major] Rewrite auth flow→ major bumpFix typo in help text→ patch bump (default)
License
MIT