earnrate 0.2.10 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/README.md +31 -11
  2. package/data/CHANGELOG.md +154 -0
  3. package/data/VERSION +1 -1
  4. package/data/cards/amex-blue-business-plus.yaml +1 -0
  5. package/data/cards/amex-blue-cash-everyday.yaml +1 -0
  6. package/data/cards/amex-blue-cash-preferred.yaml +7 -0
  7. package/data/cards/amex-business-gold.yaml +134 -0
  8. package/data/cards/amex-business-platinum.yaml +115 -0
  9. package/data/cards/amex-delta-skymiles-blue.yaml +91 -0
  10. package/data/cards/amex-delta-skymiles-gold.yaml +122 -0
  11. package/data/cards/amex-delta-skymiles-platinum.yaml +120 -0
  12. package/data/cards/amex-delta-skymiles-reserve.yaml +82 -0
  13. package/data/cards/amex-gold.yaml +1 -0
  14. package/data/cards/amex-hilton-honors-aspire.yaml +142 -0
  15. package/data/cards/amex-hilton-honors-business.yaml +93 -0
  16. package/data/cards/amex-hilton-honors-surpass.yaml +153 -0
  17. package/data/cards/amex-hilton-honors.yaml +119 -0
  18. package/data/cards/amex-marriott-bonvoy-bevy.yaml +118 -0
  19. package/data/cards/amex-marriott-bonvoy-brilliant.yaml +93 -0
  20. package/data/cards/amex-marriott-bonvoy-business.yaml +116 -0
  21. package/data/cards/amex-platinum.yaml +15 -0
  22. package/data/cards/bank-of-america-atmos-rewards-ascent.yaml +14 -0
  23. package/data/cards/bank-of-america-atmos-rewards-business.yaml +15 -0
  24. package/data/cards/bank-of-america-atmos-rewards-summit.yaml +17 -0
  25. package/data/cards/bank-of-america-customized-cash-rewards.yaml +34 -1
  26. package/data/cards/bank-of-america-premium-rewards.yaml +134 -0
  27. package/data/cards/bank-of-america-travel-rewards.yaml +123 -0
  28. package/data/cards/bank-of-america-unlimited-cash-rewards.yaml +83 -0
  29. package/data/cards/barclays-jetblue-plus.yaml +86 -0
  30. package/data/cards/bilt-blue.yaml +60 -0
  31. package/data/cards/bilt-obsidian.yaml +1 -0
  32. package/data/cards/bilt-palladium.yaml +76 -0
  33. package/data/cards/capital-one-kohls-card.yaml +1 -0
  34. package/data/cards/capital-one-kohls-rewards-visa.yaml +1 -0
  35. package/data/cards/capital-one-quicksilver.yaml +82 -0
  36. package/data/cards/capital-one-savor.yaml +2 -0
  37. package/data/cards/capital-one-spark-cash-plus.yaml +80 -0
  38. package/data/cards/capital-one-venture-x-business.yaml +97 -0
  39. package/data/cards/capital-one-venture-x.yaml +2 -0
  40. package/data/cards/capital-one-venture.yaml +2 -0
  41. package/data/cards/chase-aeroplan.yaml +30 -0
  42. package/data/cards/chase-freedom-flex.yaml +1 -0
  43. package/data/cards/chase-freedom-rise.yaml +29 -0
  44. package/data/cards/chase-freedom-unlimited.yaml +1 -0
  45. package/data/cards/chase-ihg-one-rewards-business.yaml +1 -0
  46. package/data/cards/chase-ihg-one-rewards-premier-select.yaml +2 -0
  47. package/data/cards/chase-ihg-one-rewards-premier.yaml +1 -0
  48. package/data/cards/chase-ihg-one-rewards.yaml +1 -0
  49. package/data/cards/chase-ink-business-cash.yaml +1 -0
  50. package/data/cards/chase-ink-business-preferred.yaml +1 -0
  51. package/data/cards/chase-ink-business-unlimited.yaml +69 -0
  52. package/data/cards/chase-marriott-bonvoy-bold.yaml +124 -0
  53. package/data/cards/chase-marriott-bonvoy-boundless.yaml +78 -0
  54. package/data/cards/chase-prime-visa.yaml +1 -0
  55. package/data/cards/chase-sapphire-preferred.yaml +1 -0
  56. package/data/cards/chase-sapphire-reserve.yaml +30 -0
  57. package/data/cards/chase-southwest-performance-business.yaml +2 -0
  58. package/data/cards/chase-southwest-plus.yaml +2 -0
  59. package/data/cards/chase-southwest-premier-business.yaml +2 -0
  60. package/data/cards/chase-southwest-premier.yaml +2 -0
  61. package/data/cards/chase-southwest-priority.yaml +2 -0
  62. package/data/cards/chase-united-business.yaml +11 -0
  63. package/data/cards/chase-united-club-business.yaml +20 -0
  64. package/data/cards/chase-united-club.yaml +32 -0
  65. package/data/cards/chase-united-explorer.yaml +20 -0
  66. package/data/cards/chase-united-gateway.yaml +19 -0
  67. package/data/cards/chase-united-quest.yaml +20 -0
  68. package/data/cards/citi-aadvantage-business.yaml +14 -1
  69. package/data/cards/citi-aadvantage-executive.yaml +2 -0
  70. package/data/cards/citi-aadvantage-globe.yaml +2 -0
  71. package/data/cards/citi-aadvantage-mileup.yaml +2 -0
  72. package/data/cards/citi-aadvantage-platinum-select.yaml +14 -1
  73. package/data/cards/citi-costco-anywhere-visa-business.yaml +2 -0
  74. package/data/cards/citi-costco-anywhere-visa.yaml +2 -0
  75. package/data/cards/citi-custom-cash.yaml +1 -0
  76. package/data/cards/citi-double-cash.yaml +1 -0
  77. package/data/cards/citi-my-best-buy-visa.yaml +1 -0
  78. package/data/cards/citi-strata-elite.yaml +1 -0
  79. package/data/cards/citi-strata-premier.yaml +1 -0
  80. package/data/cards/citi-strata.yaml +164 -0
  81. package/data/cards/discover-it-cash-back.yaml +188 -0
  82. package/data/cards/paypal-cashback-mastercard.yaml +41 -0
  83. package/data/cards/sams-club-mastercard.yaml +68 -0
  84. package/data/cards/sofi-unlimited-2.yaml +1 -0
  85. package/data/cards/td-bank-nordstrom-credit-card.yaml +1 -0
  86. package/data/cards/td-bank-nordstrom-visa.yaml +1 -0
  87. package/data/cards/td-bank-target-circle-card.yaml +1 -0
  88. package/data/cards/usbank-altitude-connect.yaml +150 -0
  89. package/data/cards/usbank-altitude-go.yaml +118 -0
  90. package/data/cards/usbank-cash-plus.yaml +1 -0
  91. package/data/cards/wells-fargo-active-cash.yaml +1 -0
  92. package/data/cards/wells-fargo-autograph-journey.yaml +73 -0
  93. package/data/cards/wells-fargo-autograph.yaml +1 -0
  94. package/data/categories.yaml +3 -1
  95. package/data/currencies.yaml +60 -0
  96. package/data/issuers.yaml +25 -1
  97. package/data/memberships.yaml +10 -0
  98. package/data/merchants/overrides.yaml +515 -1
  99. package/data/merchants/seed.yaml +883 -6
  100. package/dist/cli/import.js +2 -2
  101. package/dist/cli/wallet.js +8 -1
  102. package/dist/data/integrity.js +37 -0
  103. package/dist/data/wallet-edit.js +3 -1
  104. package/dist/engine/cheat-sheet.js +3 -0
  105. package/dist/engine/checklist.js +14 -3
  106. package/dist/engine/evaluate.js +19 -7
  107. package/dist/engine/intro.js +36 -0
  108. package/dist/engine/recommend.js +41 -10
  109. package/dist/engine/record.js +2 -0
  110. package/dist/engine/rule-text.js +15 -1
  111. package/dist/engine/setup.js +6 -0
  112. package/dist/engine/text.js +23 -0
  113. package/dist/engine/wallet-change.js +20 -3
  114. package/dist/engine/wallet-summary.js +24 -4
  115. package/dist/format/card-art.js +21 -0
  116. package/dist/format/cards.js +1 -0
  117. package/dist/format/wallet-yaml.js +1 -0
  118. package/dist/format/wallet.js +10 -4
  119. package/dist/import/analyze.js +1 -0
  120. package/dist/mcp/inputs.js +3 -0
  121. package/dist/mcp/prompts.js +90 -0
  122. package/dist/mcp/schemas.js +17 -0
  123. package/dist/mcp/server.js +2 -0
  124. package/dist/mcp/tools/account.js +8 -5
  125. package/dist/mcp/tools/answers.js +7 -0
  126. package/dist/mcp/tools/wallet.js +7 -2
  127. package/dist/schema/card.js +23 -0
  128. package/dist/schema/issuer.js +4 -0
  129. package/dist/schema/wallet.js +3 -0
  130. package/package.json +12 -3
@@ -0,0 +1,73 @@
1
+ id: wells-fargo-autograph-journey
2
+ name: Wells Fargo Autograph Journey Card
3
+ short_name: Autograph Journey
4
+ color: '#2b2b2b'
5
+ issuer: wells-fargo
6
+ network: visa
7
+ currency: WFR
8
+ last_verified: 2026-11-04
9
+ verified_by: claude
10
+ source_urls:
11
+ - https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
12
+ - https://www.wellsfargo.com/credit-cards/autograph-journey-visa/terms/
13
+ base_rate: 1
14
+ annual_fee: 95
15
+ foreign_transaction_fee: 0
16
+ welcome_offer:
17
+ points: 60000
18
+ spend: 4000
19
+ months: 3
20
+ note: Offers may differ by marketing channel. Not available if you have the card or opened one in the last 48 months, even if it's closed.
21
+ rules:
22
+ - id: hotels
23
+ match: { categories: [travel.hotels] }
24
+ rate: 5
25
+ note: Merchants coded as hotels and motels.
26
+ - id: airlines
27
+ match: { categories: [travel.flights] }
28
+ rate: 4
29
+ note: Merchants coded as airlines and air carriers.
30
+ - id: restaurants
31
+ match: { categories: [dining] }
32
+ rate: 3
33
+ note: Restaurants, bars, fast food and caterers.
34
+ - id: other-travel
35
+ match: { categories: [travel] }
36
+ rate: 3
37
+ note: Car rentals, cruise lines, travel agencies, discount travel sites, timeshares and campgrounds.
38
+ # Not modeled: the $50 yearly statement credit after a $50 airline purchase.
39
+ # Issuer text backing each rule; `yarn check-sources` checks it weekly.
40
+ evidence:
41
+ - rule: base_rate
42
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
43
+ quote: '1 rewards point will be earned per $1 spent on other net purchases'
44
+ - rule: hotels
45
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
46
+ quote: 'Five rewards points (1 base point plus 4 bonus points) are earned per $1 spent'
47
+ - rule: hotels
48
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
49
+ quote: 'with retailers whose merchant category code is classified as hotel/motel'
50
+ - rule: airlines
51
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
52
+ quote: 'Airlines: 4 points (1 base point plus 3 bonus points) for every $1 spent'
53
+ - rule: restaurants
54
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
55
+ quote: 'eating places and restaurants, drinking places, fast food restaurants, and caterers'
56
+ - rule: other-travel
57
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
58
+ quote: 'timeshare, or vehicle/auto rental, cruise lines, travel agencies, discount travel sites, campgrounds'
59
+ - rule: annual_fee
60
+ url: https://www.wellsfargo.com/credit-cards/autograph-journey-visa/terms/
61
+ quote: 'Annual Fee $95'
62
+ - rule: welcome_offer
63
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
64
+ quote: 'when you spend $4,000 in purchases in the first 3 months'
65
+ - rule: welcome_offer
66
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
67
+ quote: 'Earn 60,000 bonus points'
68
+ - rule: welcome_offer
69
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
70
+ quote: 'or opened one within the last 48 months from the date of the application'
71
+ - rule: foreign_transaction_fee
72
+ url: https://www.wellsfargo.com/credit-cards/autograph-journey-visa/terms/
73
+ quote: 'Foreign Transaction None'
@@ -1,5 +1,6 @@
1
1
  id: wells-fargo-autograph
2
2
  name: Wells Fargo Autograph Card
3
+ color: '#7d2130'
3
4
  issuer: wells-fargo
4
5
  network: visa
5
6
  currency: WFR
@@ -26,7 +26,9 @@
26
26
  mccs: [5814]
27
27
 
28
28
  - id: grocery
29
- name: Grocery
29
+ name: Grocery stores
30
+ # Keeps /best/grocery, the page's address before it had this name.
31
+ slug: grocery
30
32
  - id: grocery.supermarket
31
33
  name: Supermarkets
32
34
  aliases: [groceries, grocery, grocery stores, supermarket]
@@ -33,6 +33,31 @@
33
33
  - https://www.sofi.com/credit-card/unlimited/
34
34
  - https://www.sofi.com/card/rewards?cardtype=c
35
35
 
36
+ - id: bofa-travel-rewards
37
+ name: Bank of America Travel Rewards points
38
+ value_cents: 1.0
39
+ redemptions:
40
+ cash: 0.6
41
+ redemption_names:
42
+ cash: as cash
43
+ note: Each point is worth 1¢ as a statement credit against travel and dining purchases from the past 12 months, or 0.6¢ redeemed for cash.
44
+ sources:
45
+ - https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079333&productoffercode=75&locale=en_US
46
+
47
+ - id: bofa-premium-rewards
48
+ name: Bank of America Premium Rewards points
49
+ value_cents: 1.0
50
+ note: Each point is worth 1¢ redeemed for cash, a statement credit or travel at the Travel Center.
51
+ sources:
52
+ - https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079485&productoffercode=UN&locale=en_US
53
+
54
+ - id: usbank-altitude
55
+ name: U.S. Bank Altitude points
56
+ value_cents: 1.0
57
+ note: U.S. Bank values 20,000 Altitude Go points at $200 as a deposit to a U.S. Bank account (1¢ a point). Points also redeem as a statement credit, or for travel, gift cards and merchandise.
58
+ sources:
59
+ - https://www.usbank.com/credit-cards/altitude-go-visa-signature-credit-card.html
60
+
36
61
  - id: best-buy-rewards
37
62
  name: My Best Buy rewards
38
63
  value_cents: 2.0
@@ -123,6 +148,15 @@
123
148
  sources:
124
149
  - https://thepointsguy.com/loyalty-programs/monthly-valuations/
125
150
 
151
+ - id: trueblue-points
152
+ name: JetBlue TrueBlue points
153
+ value_cents: 1.0
154
+ range: [1.0, 1.35]
155
+ note: JetBlue publishes no fixed cash value; award prices track the published base fare, and the Barclays Points Payback rate is shown only at redemption. 1.0¢ is a conservative default. 1.35¢ is TPG's November 2026 valuation.
156
+ sources:
157
+ - https://cards.barclaycardus.com/banking/cards/jetblue-plus-card/
158
+ - https://thepointsguy.com/loyalty-programs/monthly-valuations/
159
+
126
160
  - id: ihg-points
127
161
  name: IHG One Rewards points
128
162
  value_cents: 0.5
@@ -131,6 +165,32 @@
131
165
  sources:
132
166
  - https://thepointsguy.com/loyalty-programs/monthly-valuations/
133
167
 
168
+ - id: delta-skymiles
169
+ name: Delta SkyMiles
170
+ value_cents: 1.0
171
+ range: [1.0, 1.2]
172
+ note: Delta's Pay with Miles lets Delta Amex cardholders take $50 off a Delta fare for every 5,000 miles (1.0¢ a mile). 1.2¢ is TPG's November 2026 valuation.
173
+ sources:
174
+ - https://www.delta.com/paywithmiles
175
+ - https://thepointsguy.com/loyalty-programs/monthly-valuations/
176
+
177
+ - id: hilton-honors
178
+ name: Hilton Honors points
179
+ value_cents: 0.4
180
+ note: Hilton publishes no general cash value for points; its terms say rewards can't be redeemed for cash, and the only fixed rate is for Event Credits on group bills (25,000 points for $50, 0.2¢). 0.4¢ is TPG's November 2026 valuation, below the 0.5¢ default used for IHG, so it's the default here.
181
+ sources:
182
+ - https://www.hilton.com/en/hilton-honors/terms/
183
+ - https://thepointsguy.com/loyalty-programs/monthly-valuations/
184
+
185
+ - id: marriott-bonvoy
186
+ name: Marriott Bonvoy points
187
+ value_cents: 0.5
188
+ range: [0.5, 0.75]
189
+ note: Marriott publishes no general cash value for points. The only fixed rate is Chase's Pay Yourself Back on the Bonvoy Bold card, $100 for every 12,500 points (0.8¢), limited to airline and Marriott purchases on that card. 0.5¢ is the conservative default IHG uses too; 0.75¢ is TPG's November 2026 valuation.
190
+ sources:
191
+ - https://creditcards.chase.com/travel-credit-cards/marriott-bonvoy/bold
192
+ - https://thepointsguy.com/loyalty-programs/monthly-valuations/
193
+
134
194
  - id: kohls-rewards
135
195
  name: Kohl's Rewards
136
196
  value_cents: 1.0
package/data/issuers.yaml CHANGED
@@ -1,32 +1,56 @@
1
1
  # The banks behind the cards: the name shown for each, and other words people
2
- # search with ("bofa", "amex"). Every card's `issuer` must be one of these.
2
+ # search with ("bofa", "amex"), and a color for drawing a card that has none
3
+ # of its own. Every card's `issuer` must be one of these.
3
4
 
4
5
  - id: amex
5
6
  name: American Express
7
+ color: '#2a6db0'
6
8
  search: [amex, american express]
7
9
  - id: bank-of-america
8
10
  name: Bank of America
11
+ color: '#b5122b'
9
12
  search: [bofa, boa, bankofamerica]
13
+ - id: barclays
14
+ name: Barclays
15
+ color: '#00395d'
16
+ search: [barclaycard, barclays us]
10
17
  - id: capital-one
11
18
  name: Capital One
19
+ color: '#1d3c6e'
12
20
  search: [capitalone]
13
21
  - id: chase
14
22
  name: Chase
23
+ color: '#1f4f9c'
15
24
  - id: citi
16
25
  name: Citi
26
+ color: '#3b4f66'
17
27
  search: [citibank]
18
28
  - id: column
19
29
  # Column N.A. issues the Bilt card; people know it as Bilt.
20
30
  name: Bilt
31
+ color: '#1a1a1a'
21
32
  search: [bilt]
33
+ - id: discover
34
+ name: Discover
35
+ color: '#e8751a'
36
+ search: [discover it]
22
37
  - id: sofi
23
38
  name: SoFi
39
+ color: '#2d2f36'
40
+ - id: synchrony
41
+ # Synchrony Bank issues the PayPal Cashback Mastercard.
42
+ name: Synchrony
43
+ color: '#3b3f46'
44
+ search: [syf, synchrony bank]
24
45
  - id: td-bank
25
46
  name: TD Bank
47
+ color: '#2f6b3a'
26
48
  search: [td]
27
49
  - id: usbank
28
50
  name: U.S. Bank
51
+ color: '#3c4655'
29
52
  search: [us bank]
30
53
  - id: wells-fargo
31
54
  name: Wells Fargo
55
+ color: '#b8333a'
32
56
  search: [wf, wellsfargo]
@@ -12,6 +12,16 @@
12
12
  # as Costco's own 2% reward, which earnrate doesn't model.
13
13
  annual_fee: 65
14
14
  members_shop_at: [costco, costco-gas, costco-travel]
15
+ - id: sams-club
16
+ name: Sam's Club membership
17
+ ask: I have a Sam's Club membership
18
+ # Club, the basic tier ($60). Plus ($120) is its own entry below because it
19
+ # raises the Sam's Club Mastercard's rate at Sam's Club.
20
+ annual_fee: 60
21
+ members_shop_at: [sams-club, sams-club-gas]
22
+ - id: sams-club-plus
23
+ name: Sam's Club Plus membership
24
+ ask: I have Sam's Club Plus
15
25
  - id: bank-of-america-account
16
26
  name: Bank of America checking or savings
17
27
  ask: I bank with Bank of America