Mirror publish-cli.yml for @moemail/mcp: trigger on mcp-v* tags or manual
dispatch, install + bun build, then npm publish --access public using
secrets.NPM_TOKEN.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CI publishes with `pnpm install` per package; commit pnpm-lock.yaml for
core and mcp (previously missing) and refresh cli's after the @moemail/core
dependency was added, so installs are reproducible.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Extract the HTTP client and config into a new @moemail/core package shared
by the CLI and a new @moemail/mcp server, so both frontends talk to the same
MoeMail API through one code path.
- core: api client (now throws typed ConfigError/AuthError/PermissionError/
QuotaError instead of process.exit), config, msToIso, and a transport-
agnostic pollForNewMessage helper.
- cli: consume @moemail/core; route command errors through a shared fail()
that preserves exit codes (config/auth = 2, else = 1). Bump to 1.0.0.
- mcp: new stdio MCP server exposing 8 tools (create/list/read/wait/send/
delete); wait_for_email is bounded and returns a timeout status to retry.
Configured via MOEMAIL_API_KEY / MOEMAIL_API_URL env. Release 1.0.0.
Docs:
- Fix packages/cli/README.md (config set, send --content not --body, full
flag table).
- Add MCP section to both root READMEs; complete the CLI command list
(send, list, message-level delete).
- SKILL.md: --json works before or after the subcommand.
- Ignore bun.lock in package gitignores.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Anonymous callers to the shared mailbox API got 401 because the
middleware matcher's broad page pattern catches /api paths but the
inner allowlist only carved out /api/auth. SSR rendered the mailbox
listing, but every client-side fetch (message detail, polling,
pagination) was rejected, so opening a shared mailbox showed the list
without being able to read any message body.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The tsconfig include pattern `**/*.ts` was picking up CLI package sources
during Next.js build, causing missing `commander` module errors in CI.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The CLI package is not part of a pnpm workspace, so its dependencies
need to be installed from within packages/cli/ directly.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>