Skip to content

feat: Mauritius (MAU) Open Banking CLI support (0.10.0) - #47

Merged
devinpearson merged 1 commit into
mainfrom
feature/mau-cli
Aug 5, 2026
Merged

feat: Mauritius (MAU) Open Banking CLI support (0.10.0)#47
devinpearson merged 1 commit into
mainfrom
feature/mau-cli

Conversation

@devinpearson

@devinpearson devinpearson commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add ipb mau command group (accounts, balances, transactions, documents, statement) backed by investec-mau-api
  • Store separate MAU credentials (mauClientId / mauClientSecret / mauApiKey / mauHost) alongside existing PB/Card creds, with matching config flags and INVESTEC_MAU_* env vars
  • Bump version to 0.10.0; refresh docs, completions, agent skill, and VHS tape GIFs (tapes list sorted to match filesystem order)

Test plan

  • npm run test:run passes
  • ipb mau --help lists subcommands
  • ipb config --mau-client-id … --mau-client-secret … --mau-api-key … writes MAU fields
  • With IPB_MOCK_APIS=1, ipb mau accounts / balances / transactions --from/--to / documents --from/--to / statement work offline
  • Missing MAU creds or invalid date range returns clear CliError codes (E4005 / E4020)

Made with Cursor

Summary by CodeRabbit

  • New Features
    • Added Mauritius Open Banking support through the mau command group.
    • Added commands for accounts, balances, transactions, documents, and PDF statements.
    • Added MAU credential configuration through CLI options, profiles, and environment variables.
    • Added Bash completion for MAU commands and options.
  • Documentation
    • Expanded CLI and skill documentation with MAU setup, commands, options, and error guidance.
  • Bug Fixes
    • Added validation for MAU account IDs, credentials, ISO dates, and date ranges.
  • Chores
    • Updated the package version to 0.10.0.

Introduce ipb mau with separate namespaced credentials, mock API support,
docs/completions, and alphabetically ordered tape recordings.

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: dd80a888-f5a8-4e96-97af-b3ac66e74406

📥 Commits

Reviewing files that changed from the base of the PR and between 0a8ad8c and bc4c959.

⛔ Files ignored due to path filters (20)
  • assets/accounts.gif is excluded by !**/*.gif
  • assets/balances.gif is excluded by !**/*.gif
  • assets/beneficiaries.gif is excluded by !**/*.gif
  • assets/cards.gif is excluded by !**/*.gif
  • assets/deploy.gif is excluded by !**/*.gif
  • assets/env.gif is excluded by !**/*.gif
  • assets/fetch.gif is excluded by !**/*.gif
  • assets/logs.gif is excluded by !**/*.gif
  • assets/new.gif is excluded by !**/*.gif
  • assets/pay.gif is excluded by !**/*.gif
  • assets/publish.gif is excluded by !**/*.gif
  • assets/published.gif is excluded by !**/*.gif
  • assets/run.gif is excluded by !**/*.gif
  • assets/simulate.gif is excluded by !**/*.gif
  • assets/toggle.gif is excluded by !**/*.gif
  • assets/transactions.gif is excluded by !**/*.gif
  • assets/transfer.gif is excluded by !**/*.gif
  • assets/upload-env.gif is excluded by !**/*.gif
  • assets/upload.gif is excluded by !**/*.gif
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (34)
  • GENERATED_README.md
  • README.md
  • package.json
  • scripts/tapes.sh
  • skills/ipb/SKILL.md
  • src/cmds/env-list.ts
  • src/cmds/mau/accounts.ts
  • src/cmds/mau/balances.ts
  • src/cmds/mau/documents.ts
  • src/cmds/mau/helpers.ts
  • src/cmds/mau/index.ts
  • src/cmds/mau/statement.ts
  • src/cmds/mau/transactions.ts
  • src/cmds/set.ts
  • src/cmds/types.ts
  • src/completion.ts
  • src/errors.ts
  • src/mock-mau.ts
  • src/register-cli-commands.ts
  • src/runtime-credentials.ts
  • src/utils.ts
  • src/utils/api.ts
  • src/utils/credentials-store.ts
  • src/utils/credentials-validation.ts
  • src/utils/input-validation.ts
  • src/utils/investec-errors.ts
  • src/utils/security.ts
  • test/cmds/config.test.ts
  • test/cmds/env-list.test.ts
  • test/cmds/mau.test.ts
  • test/helpers/cli-mocks.ts
  • test/utils/completion.test.ts
  • test/utils/credentials-store.test.ts
  • test/utils/mau-validation.test.ts

📝 Walkthrough

Walkthrough

The PR adds Mauritius Open Banking support. It introduces MAU credentials, API initialization, mock operations, five CLI subcommands, input validation, shell completion, tests, and documentation.

Changes

Mauritius Open Banking

Layer / File(s) Summary
MAU credentials and API foundation
package.json, src/cmds/types.ts, src/runtime-credentials.ts, src/utils/*, src/mock-mau.ts, src/cmds/env-list.ts
Adds MAU credential fields, validation, API initialization, error contexts, mock API responses, environment variables, and public utility exports.
MAU command wiring and execution
src/cmds/mau/*, src/register-cli-commands.ts, src/completion.ts, src/cmds/set.ts
Adds accounts, balances, transactions, documents, and statement commands with validation, retries, formatted output, PDF writing, credential options, registration, and completion.
MAU command and configuration tests
test/cmds/mau.test.ts, test/cmds/config.test.ts, test/cmds/env-list.test.ts, test/utils/*, test/helpers/cli-mocks.ts
Adds coverage for command execution, validation, credential persistence, environment listings, fixtures, and Bash completion.
MAU documentation and execution support
README.md, GENERATED_README.md, skills/ipb/SKILL.md, scripts/tapes.sh
Documents MAU setup and commands, updates generated references, and reorders tape execution.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant CLI
  participant mauCommand
  participant initializeMauApi
  participant MauApi
  participant Output
  CLI->>mauCommand: invoke a MAU subcommand
  mauCommand->>initializeMauApi: resolve and validate MAU credentials
  initializeMauApi->>MauApi: authenticate the client
  MauApi-->>mauCommand: return accounts, balances, transactions, documents, or statement data
  mauCommand->>Output: render results or write the statement PDF
Loading

Possibly related PRs

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/mau-cli

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

Comment @coderabbitai help to get the list of available commands.

@devinpearson
devinpearson merged commit 35ba392 into main Aug 5, 2026
3 of 4 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.

1 participant