This repo is intended to stay clean enough for normal contributors to clone, configure, validate, and deploy without carrying local machine artifacts in git.
- Treat your development clone as the source of truth.
- Keep secrets, caches, exported holdings, and chart history out of git.
- Prefer small, reviewable commits with a clear behavior change.
- Validate syntax locally before deploying.
- Use the diagnostic scripts in this repo instead of one-off debug files when possible.
- Clone the repo and install dependencies.
- Configure only the providers you plan to use.
- Make code or documentation changes in your development clone.
- Run lightweight validation:
node --check MMM-Fintech.jsnode --check node_helper.jsnode health-check.js
- Test in your MagicMirror environment.
- Commit only intentional source, test, and documentation changes.
node setup.js- guided setup for all supported providersnode setup-snaptrade.js- encrypt SnapTrade credentialsnode snaptrade-connect.js- generate a fresh brokerage connection URLnode setup-twelvedata.js- encrypt Twelve Data credentialsnode setup-eodhd.js- encrypt EODHD credentialsnode setup-credentials.js- encrypt a Coinbase CDP key JSON file
node health-check.js- runs the main diagnostic suitenode test-snaptrade-provider.js- validates SnapTrade holdings accessnode list-trade-detection-subscriptions.js- lists active SnapTrade Trade Detection subscriptions for the configured clientnode list-recent-orders.js --account-name "Individual"- read-only recent-order check for the last 24 hours; may use billed real-time SnapTrade access depending on plannode test-twelvedata.js- validates stock, ETF, and forex pricingnode test-eodhd.js- validates mutual fund pricing through EODHDnode test-full-sync.js- validates provider initialization and merge flownode test-costbasis.js- validates SnapTrade cost-basis output
manual-holdings.jsoncache.jsonhistory.jsoncdp_api_key.json*.enccredential files~/.mmm-fintech-key
If behavior changes, update the public docs in the same pass:
README.mdfor setup, configuration, and troubleshootingMMM-Fintech-Architecture.mdfor data flow and subsystem boundariesdocs/SnapTrade.mdfor provider-specific setup notesCHANGELOG.mdfor user-visible fixes and cleanup