fleece-cli 0.4.0__tar.gz → 0.4.1__tar.gz

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 (72) hide show
  1. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.agents/skills/fleece/SKILL.md +34 -1
  2. fleece_cli-0.4.1/.cursor/rules/fleece.mdc +35 -0
  3. fleece_cli-0.4.1/.github/copilot-instructions.md +28 -0
  4. fleece_cli-0.4.1/.windsurfrules +31 -0
  5. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/CLAUDE.md +50 -8
  6. fleece_cli-0.4.1/GEMINI.md +44 -0
  7. fleece_cli-0.4.1/PKG-INFO +160 -0
  8. fleece_cli-0.4.1/README.md +136 -0
  9. fleece_cli-0.4.1/SKILL.md +219 -0
  10. fleece_cli-0.4.1/docs/DESIGN.md +109 -0
  11. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/docs/SEO.md +59 -1
  12. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/docs/index.html +127 -13
  13. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/docs/sitemap.xml +1 -1
  14. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/fleece.py +84 -30
  15. fleece_cli-0.4.1/install.sh +99 -0
  16. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/prompts/agent_system_prompt.py +8 -0
  17. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/pyproject.toml +1 -1
  18. fleece_cli-0.4.1/skills/fleece/SKILL.md +219 -0
  19. fleece_cli-0.4.1/style.css +213 -0
  20. fleece_cli-0.4.0/PKG-INFO +0 -151
  21. fleece_cli-0.4.0/README.md +0 -127
  22. fleece_cli-0.4.0/install.sh +0 -63
  23. fleece_cli-0.4.0/style.css +0 -81
  24. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-card.md +0 -0
  25. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-compare.md +0 -0
  26. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-credits.md +0 -0
  27. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-flights.md +0 -0
  28. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-hotels.md +0 -0
  29. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-mcc.md +0 -0
  30. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-news.md +0 -0
  31. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-partners.md +0 -0
  32. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-profile.md +0 -0
  33. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-rates.md +0 -0
  34. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-recommend.md +0 -0
  35. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-roi.md +0 -0
  36. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-wallet.md +0 -0
  37. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.devcontainer/devcontainer.json +0 -0
  38. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.github/workflows/publish-skills.yml +0 -0
  39. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.github/workflows/publish.yml +0 -0
  40. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.gitignore +0 -0
  41. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.streamlit/config.toml +0 -0
  42. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/Advertiser Disclosure.md +0 -0
  43. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/KnowledgeCatalog.json +0 -0
  44. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/LICENSE +0 -0
  45. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/MyCards.json +0 -0
  46. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/app.yaml +0 -0
  47. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/assets/default_card.png +0 -0
  48. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/assets/default_card.svg +0 -0
  49. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/cli.py +0 -0
  50. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/db.py +0 -0
  51. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/docs/CNAME +0 -0
  52. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/docs/robots.txt +0 -0
  53. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/fleece poc.ipynb +0 -0
  54. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/image_service.py +0 -0
  55. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/mcc_codes.jsonl +0 -0
  56. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/migrate.py +0 -0
  57. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/pages/credit_cards.py +0 -0
  58. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/pages/my_credit_cards.py +0 -0
  59. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/plan.md +0 -0
  60. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/pointsyeah.py +0 -0
  61. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/reference/Analyzer.md +0 -0
  62. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/requirements-test.txt +0 -0
  63. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/requirements.txt +0 -0
  64. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/test_fleece.py +0 -0
  65. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tests/__init__.py +0 -0
  66. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tests/test_brave_client.py +0 -0
  67. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tests/test_cli.py +0 -0
  68. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tests/test_pointsyeah.py +0 -0
  69. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tests/test_tools.py +0 -0
  70. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tools/__init__.py +0 -0
  71. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tools/brave_client.py +0 -0
  72. {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tools/credit_card_tools.py +0 -0
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  name: fleece
3
- description: "What credit card should I use for dining, travel, groceries, or gas?" — Fleece answers this with live data. Looks up rewards rates, annual fees, welcome bonuses, statement credits, and transfer partners for Chase, Amex, Citi, Capital One, Bilt, and all major US issuers. Compare cards side-by-side, find gaps in your wallet, estimate first-year ROI, get personalized card recommendations, and generate PointsYeah award flight and hotel search URLs. Install: `pip install fleece-cli`.
3
+ description: Credit card research and redemption CLI. Looks up rewards rates, annual fees, welcome bonuses, statement credits, and transfer partners for Chase, Amex, Citi, Capital One, Bilt, and all major US issuers. Compare cards, analyze wallet gaps, estimate ROI, get recommendations, look up merchant category codes, and search award flights and hotels. Install with pip install fleece-cli.
4
+ metadata:
5
+ author: chenyuan99
6
+ version: "1.5.0"
4
7
  ---
5
8
 
6
9
  # Fleece — Credit Card Research & Redemption
@@ -15,9 +18,39 @@ Use this skill when the user asks about:
15
18
  - **ROI / value**: "Is the Amex Platinum worth the $695 fee?", "First-year value of the Sapphire Preferred"
16
19
  - **Award redemptions**: "Find business class flights JFK to Tokyo", "Search hotels in Paris with points"
17
20
  - **Merchant lookup**: "What card should I use at Costco?", "Which card earns the most at gas stations?", "What MCC is a pharmacy?"
21
+ - **Spending profile**: "Set up my profile", "Save my spending habits", "Remember I spend $600/month on dining"
18
22
 
19
23
  Live US credit card data via Brave Search. All commands output JSON for programmatic use.
20
24
 
25
+ ## Spending profile
26
+
27
+ The user's spending profile is stored in `fleece.db` and automatically injected into `fleece wallet`, `fleece roi`, and `fleece recommend`. Set it up once and all research commands become personalised.
28
+
29
+ ```bash
30
+ # Set profile fields (no API key needed)
31
+ fleece profile set dining_monthly 600
32
+ fleece profile set travel_monthly 300
33
+ fleece profile set groceries_monthly 400
34
+ fleece profile set annual_fee_tolerance 550
35
+ fleece profile set home_airport JFK
36
+ fleece profile set goal "business class to Tokyo 2027"
37
+ fleece profile set points_programs "Amex MR, Chase UR"
38
+
39
+ # View current profile
40
+ fleece profile show --json
41
+
42
+ # List all available fields
43
+ fleece profile fields
44
+ ```
45
+
46
+ Once set, spend values are pulled automatically:
47
+ ```bash
48
+ # No need to pass --dining or --travel flags
49
+ fleece roi "Amex Gold"
50
+ fleece wallet
51
+ fleece recommend "travel rewards"
52
+ ```
53
+
21
54
  ## MCC-enriched workflow
22
55
 
23
56
  The bundled MCC dataset (981 codes, offline) enables a precise end-to-end flow:
@@ -0,0 +1,35 @@
1
+ ---
2
+ description: Use Fleece CLI for any credit card, rewards, MCC, or travel redemption question
3
+ globs: ["**/*.py", "**/*.md"]
4
+ alwaysApply: true
5
+ ---
6
+
7
+ # Fleece CLI
8
+
9
+ Install: `pip install fleece-cli` · Docs: https://getfleece.io
10
+
11
+ ## Commands
12
+
13
+ ### Research (requires BRAVE_API_KEY)
14
+ - `fleece card "<name>" --json` — fees, welcome offer, rates, credits, benefits
15
+ - `fleece rates "<name>" --category <cat> --json` — earning rates
16
+ - `fleece partners "<name>" --json` — transfer partners
17
+ - `fleece credits "<name>" --json` — statement credits
18
+ - `fleece news "<name>" --json` — recent changes
19
+ - `fleece compare "<A>" "<B>" --json` — side-by-side comparison
20
+ - `fleece wallet --json` — portfolio gaps (auto-loads saved cards)
21
+ - `fleece roi "<name>" --json` — first-year ROI
22
+ - `fleece recommend "<profile>" --json` — personalized recommendations
23
+
24
+ ### Offline (no API key)
25
+ - `fleece mcc <code> --json` — merchant category lookup
26
+ - `fleece mcc <code> --wallet --json` — best card for that merchant
27
+ - `fleece flights <ORIGIN> <DEST> --date <YYYY-MM-DD> --json` — award flights
28
+ - `fleece hotels "<location>" --checkin <date> --checkout <date> --json` — award hotels
29
+ - `fleece profile show --json` — spending profile
30
+
31
+ ## Output format
32
+ ```json
33
+ { "command": "...", "result": "...", "ok": true, "error": null }
34
+ ```
35
+ Always check `ok` before using `result`. On error, `ok` is `false` and `error` contains the message.
@@ -0,0 +1,28 @@
1
+ # Fleece — Copilot Instructions
2
+
3
+ This project includes the Fleece credit card research CLI (`pip install fleece-cli`). Use it for any credit card, rewards, or travel redemption question.
4
+
5
+ ## When to use Fleece CLI
6
+
7
+ | User question | Command |
8
+ |---|---|
9
+ | Card details, fees, benefits | `fleece card "<name>" --json` |
10
+ | Earning rates by category | `fleece rates "<name>" --category <cat> --json` |
11
+ | Transfer partners | `fleece partners "<name>" --json` |
12
+ | Statement credits | `fleece credits "<name>" --json` |
13
+ | Recent card changes | `fleece news "<name>" --json` |
14
+ | Compare two cards | `fleece compare "<A>" "<B>" --json` |
15
+ | Portfolio / wallet gaps | `fleece wallet --json` |
16
+ | First-year ROI | `fleece roi "<name>" --json` |
17
+ | Card recommendations | `fleece recommend "<profile>" --json` |
18
+ | Merchant category lookup | `fleece mcc <code> --wallet --json` |
19
+ | Award flights | `fleece flights <ORIGIN> <DEST> --date <YYYY-MM-DD> --json` |
20
+ | Award hotels | `fleece hotels "<location>" --checkin <date> --checkout <date> --json` |
21
+ | User spending profile | `fleece profile show --json` |
22
+
23
+ ## Notes
24
+
25
+ - `BRAVE_API_KEY` env var required for research commands; `mcc`, `flights`, `hotels`, `profile` work without it
26
+ - All `--json` output: check `ok` field before using `result`
27
+ - `fleece wallet` auto-loads saved cards from `fleece.db`
28
+ - Full docs: https://getfleece.io
@@ -0,0 +1,31 @@
1
+ # Fleece CLI — Windsurf Rules
2
+
3
+ Use the Fleece CLI (`pip install fleece-cli`) for any credit card research, rewards optimization, MCC lookup, or award travel question.
4
+
5
+ ## Install & setup
6
+ ```bash
7
+ pip install fleece-cli
8
+ export BRAVE_API_KEY=<key> # for live research
9
+ ```
10
+
11
+ ## Command reference
12
+
13
+ **Research** (BRAVE_API_KEY required):
14
+ - `fleece card "<name>" --json` — full card report
15
+ - `fleece rates "<name>" --json` — earning rates by category
16
+ - `fleece partners "<name>" --json` — transfer partners
17
+ - `fleece credits "<name>" --json` — statement credits
18
+ - `fleece news "<name>" --json` — recent changes
19
+ - `fleece compare "<A>" "<B>" --json` — side-by-side comparison
20
+ - `fleece wallet --json` — portfolio analysis, gaps, next-card suggestions
21
+ - `fleece roi "<name>" --json` — first-year ROI estimate
22
+ - `fleece recommend "<profile>" --json` — personalized recommendations
23
+
24
+ **Offline** (no API key needed):
25
+ - `fleece mcc <code> --json` — merchant category lookup (981 codes)
26
+ - `fleece mcc <code> --wallet --json` — best card in wallet for that MCC
27
+ - `fleece flights <ORIGIN> <DEST> --date <YYYY-MM-DD> --json` — award flight URL
28
+ - `fleece hotels "<location>" --checkin <date> --checkout <date> --json` — award hotel URL
29
+ - `fleece profile show --json` — spending profile
30
+
31
+ All commands return `{ "ok": true/false, "result": "...", "error": null }`. Check `ok` before using `result`.
@@ -6,9 +6,9 @@
6
6
 
7
7
  It has two surfaces:
8
8
  1. **Streamlit chatbot** (`fleece.py`) — conversational AI assistant backed by OpenAI
9
- 2. **CLI** (`cli.py`) — 12 commands for card research, wallet analysis, MCC lookup, and award redemption
9
+ 2. **CLI** (`cli.py`) — 13 commands for card research, wallet analysis, MCC lookup, spending profile, and award redemption
10
10
 
11
- Published on PyPI as [`fleece-cli`](https://pypi.org/project/fleece-cli/) · current version **0.3.1**
11
+ Published on PyPI as [`fleece-cli`](https://pypi.org/project/fleece-cli/) · current version **0.4.0**
12
12
 
13
13
  ---
14
14
 
@@ -43,17 +43,29 @@ Published on PyPI as [`fleece-cli`](https://pypi.org/project/fleece-cli/) · cur
43
43
  | `fleece roi "<name>"` | First-year ROI estimate by spend profile |
44
44
  | `fleece recommend "<profile>"` | Card recommendations for a spending profile |
45
45
 
46
- ### Redemption (no API key needed — work fully offline)
46
+ ### Redemption & Profile (no API key needed — work fully offline)
47
47
  | Command | Description |
48
48
  |---|---|
49
49
  | `fleece mcc <code>` | Offline MCC code lookup (981 codes bundled). Add `--wallet` to cross-reference saved cards |
50
50
  | `fleece flights <ORIGIN> <DEST> --date <YYYY-MM-DD>` | PointsYeah award flight search URL |
51
51
  | `fleece hotels "<location>" --checkin <date> --checkout <date>` | PointsYeah award hotel search URL |
52
+ | `fleece profile show` | Display spending profile |
53
+ | `fleece profile set <field> <value>` | Set a profile field |
54
+ | `fleece profile unset <field>` | Clear a profile field |
55
+ | `fleece profile fields` | List all 10 profile fields |
52
56
 
53
57
  All commands support `--json` for agent-friendly output and `-` to read arguments from stdin.
54
58
 
55
59
  ### BRAVE_API_KEY
56
- Optional at startup — checked only when a research command actually runs. `mcc`, `flights`, and `hotels` work with no key set.
60
+ Optional at startup — checked only when a research command actually runs. `mcc`, `flights`, `hotels`, and `profile` work with no key set.
61
+
62
+ ### Spending Profile
63
+ Stored in `fleece.db` (table: `profile`). Fields: `dining_monthly`, `groceries_monthly`, `travel_monthly`, `gas_monthly`, `other_monthly`, `annual_fee_tolerance`, `points_programs`, `home_airport`, `goal`, `preferences`.
64
+
65
+ Once set, profile context is automatically injected into:
66
+ - `fleece roi` — pulls spend values when flags not passed
67
+ - `fleece wallet` — tailors gap analysis to the user's actual spend
68
+ - `fleece recommend` — prepends profile context to the search query
57
69
 
58
70
  ---
59
71
 
@@ -63,27 +75,57 @@ Optional at startup — checked only when a research command actually runs. `mcc
63
75
  |---|---|
64
76
  | `cli.py` | Main CLI entry point (Typer app) |
65
77
  | `fleece.py` | Streamlit chatbot app |
66
- | `db.py` | SQLite helpers for card portfolio (`fleece.db`) |
78
+ | `db.py` | SQLite helpers for card portfolio and spending profile (`fleece.db`) |
67
79
  | `pointsyeah.py` | PointsYeah URL generation (pure stdlib, merged from archived `pointsyeah-cli`) |
68
80
  | `mcc_codes.jsonl` | Bundled MCC dataset (981 codes, source: greggles/mcc-codes) |
69
81
  | `tools/brave_client.py` | Brave Search API client |
70
82
  | `tools/credit_card_tools.py` | LangChain tools for the chatbot |
71
83
  | `pyproject.toml` | Package config — hatchling build, `fleece` entry point |
72
- | `install.sh` | Installs Claude Code skills and/or agent skill |
84
+ | `install.sh` | Installs skills for Claude Code, OpenClaw, Gemini CLI, Copilot, Cursor, Windsurf |
85
+ | `SKILL.md` | Root-level skill file for `npx skills add chenyuan99/fleece` (skills.sh registry) |
86
+ | `skills/fleece/SKILL.md` | skills.sh directory structure copy |
87
+ | `GEMINI.md` | Gemini CLI project context |
88
+ | `.github/copilot-instructions.md` | GitHub Copilot instructions |
89
+ | `.cursor/rules/fleece.mdc` | Cursor IDE rule |
90
+ | `.windsurfrules` | Windsurf rules |
73
91
 
74
92
  ---
75
93
 
76
94
  ## Agent Skills
77
95
 
96
+ ### Universal install (55+ agents) — recommended
97
+ ```bash
98
+ npx skills add chenyuan99/fleece
99
+ ```
100
+ Installs to Claude Code, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, Codex, Warp, Kiro, Continue, Junie, and more in one command. Requires a valid `SKILL.md` at `skills/fleece/SKILL.md` in the repo root (already present).
101
+
78
102
  ### Claude Code (`/.claude/skills/`)
79
- 12 slash commands installed via `bash install.sh --claude`:
103
+ 13 slash commands installed via `bash install.sh --claude`:
80
104
 
81
105
  **Research:** `/fleece-card` `/fleece-rates` `/fleece-partners` `/fleece-credits` `/fleece-news` `/fleece-compare` `/fleece-wallet` `/fleece-roi` `/fleece-recommend`
82
106
 
83
107
  **Redemption:** `/fleece-mcc` `/fleece-flights` `/fleece-hotels`
84
108
 
109
+ **Profile:** `/fleece-profile`
110
+
111
+ ### Platform-specific install flags
112
+ | Flag | Platform | File installed |
113
+ |---|---|---|
114
+ | `--claude` | Claude Code | `.claude/skills/fleece-*.md` |
115
+ | `--agents` | OpenClaw / Codex | `.agents/skills/fleece/SKILL.md` |
116
+ | `--gemini` | Gemini CLI | `GEMINI.md` |
117
+ | `--copilot` | GitHub Copilot | `.github/copilot-instructions.md` |
118
+ | `--cursor` | Cursor | `.cursor/rules/fleece.mdc` |
119
+ | `--windsurf` | Windsurf | `.windsurfrules` |
120
+ | `--all` | All of the above | — |
121
+
85
122
  ### ClawHub / OpenClaw (`/.agents/skills/fleece/SKILL.md`)
86
- Published on ClawHub as `fleece@1.3.0`. Install via `clawhub install fleece` or `bash install.sh --agents`.
123
+ Published on ClawHub as `fleece@1.6.0`. Install via `clawhub install fleece` or `bash install.sh --agents`.
124
+
125
+ ### skills.sh / Vercel Agent Skills Registry
126
+ `SKILL.md` at repo root and `skills/fleece/SKILL.md` enable `npx skills add chenyuan99/fleece`. Installs to 55+ agents in one command.
127
+
128
+ > **IMPORTANT:** The frontmatter `description` field must never contain embedded quotes — they silently break YAML parsing in both ClawHub's vector indexer and the skills.sh CLI. Always use plain unquoted text.
87
129
 
88
130
  ---
89
131
 
@@ -0,0 +1,44 @@
1
+ # Fleece — Credit Card Research CLI
2
+
3
+ Fleece is a CLI for live US credit card research and award redemption. Use it whenever the user asks about credit cards, rewards, transfer partners, MCC codes, or award flights/hotels.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ pip install fleece-cli
9
+ export BRAVE_API_KEY=<key> # required for research commands
10
+ ```
11
+
12
+ ## When to invoke Fleece
13
+
14
+ - "What are the benefits of [card]?" → `fleece card "<name>" --json`
15
+ - "Which card earns most on [category]?" → `fleece rates "<name>" --category <cat> --json`
16
+ - "What cards can I transfer Chase points to?" → `fleece partners "<name>" --json`
17
+ - "What credits does [card] have?" → `fleece credits "<name>" --json`
18
+ - "Compare [card A] vs [card B]" → `fleece compare "<A>" "<B>" --json`
19
+ - "Analyze my wallet" → `fleece wallet --json`
20
+ - "Is [card] worth it for me?" → `fleece roi "<name>" --json`
21
+ - "What's the best card for my spending?" → `fleece recommend "<profile>" --json`
22
+ - "What card should I use at [merchant]?" → `fleece mcc <code> --wallet --json`
23
+ - "Find business class flights JFK to NRT" → `fleece flights JFK NRT --date <YYYY-MM-DD> --cabin business --open`
24
+ - "Search hotels in Tokyo" → `fleece hotels "Tokyo" --checkin <date> --checkout <date> --open`
25
+ - "What is my spending profile?" → `fleece profile show --json`
26
+
27
+ ## Key facts
28
+
29
+ - All commands output JSON with `--json` — parse `result` field, check `ok` before using
30
+ - `mcc`, `flights`, `hotels`, and `profile` work **offline** — no API key needed
31
+ - `fleece wallet` auto-loads saved cards from `fleece.db` with no arguments
32
+ - Spending profile auto-enriches `wallet`, `roi`, and `recommend` once set
33
+
34
+ ## Common MCCs
35
+
36
+ | MCC | Category |
37
+ |---|---|
38
+ | 5411 | Grocery Stores |
39
+ | 5812 | Restaurants |
40
+ | 5541 | Gas Stations |
41
+ | 4511 | Airlines |
42
+ | 7011 | Hotels |
43
+ | 4111 | Transit |
44
+ | 5912 | Drugstores |
@@ -0,0 +1,160 @@
1
+ Metadata-Version: 2.4
2
+ Name: fleece-cli
3
+ Version: 0.4.1
4
+ Summary: Credit card research and redemption CLI — live data via Brave Search, PointsYeah URL generation, designed for humans and AI agents.
5
+ Author-email: Yuan Chen <cysbc1999@gmail.com>
6
+ License: MIT
7
+ License-File: LICENSE
8
+ Keywords: ai,brave-search,cli,credit-cards,finance
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Environment :: Console
11
+ Classifier: Intended Audience :: End Users/Desktop
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Topic :: Office/Business :: Financial
17
+ Requires-Python: >=3.11
18
+ Requires-Dist: langchain-core>=0.3.0
19
+ Requires-Dist: pydantic>=2.0
20
+ Requires-Dist: python-dotenv>=1.0.0
21
+ Requires-Dist: requests>=2.31.0
22
+ Requires-Dist: typer[all]>=0.12.0
23
+ Description-Content-Type: text/markdown
24
+
25
+ # Fleece — Credit Card Research & Redemption
26
+
27
+ [![PyPI version](https://img.shields.io/pypi/v/fleece-cli?color=FFD100&label=fleece-cli)](https://pypi.org/project/fleece-cli/)
28
+ [![PyPI downloads](https://img.shields.io/pypi/dm/fleece-cli?color=FFD100)](https://pypi.org/project/fleece-cli/)
29
+ [![Python](https://img.shields.io/pypi/pyversions/fleece-cli?color=FFD100)](https://pypi.org/project/fleece-cli/)
30
+ [![License: MIT](https://img.shields.io/badge/License-MIT-FFD100.svg)](https://github.com/chenyuan99/fleece/blob/main/LICENSE)
31
+ [![Publish to PyPI](https://github.com/chenyuan99/fleece/actions/workflows/publish.yml/badge.svg)](https://github.com/chenyuan99/fleece/actions/workflows/publish.yml)
32
+ [![ClawHub](https://img.shields.io/badge/ClawHub-fleece%401.5.0-FFD100)](https://clawhub.ai)
33
+ [![Website](https://img.shields.io/website?url=https%3A%2F%2Fgetfleece.io&color=FFD100&label=getfleece.io)](https://getfleece.io/)
34
+
35
+ > Find the best card for deal saviors.
36
+
37
+ Fleece is a free, open-source credit card research and award redemption toolkit. It provides live data via Brave Search — no stale training data. Every command outputs clean JSON, making it easy to plug into AI agent workflows.
38
+
39
+ ---
40
+
41
+ ## Quick Start
42
+
43
+ ```bash
44
+ pip install fleece-cli
45
+ export BRAVE_API_KEY=<your_key> # optional — offline commands work without it
46
+
47
+ fleece card "Amex Gold" # full card report
48
+ fleece wallet # portfolio analysis
49
+ fleece mcc 5812 # MCC lookup (no API key needed)
50
+ fleece flights JFK NRT --date 2026-06-01 --cabin business --open
51
+ ```
52
+
53
+ ### Install as an agent skill (55+ agents)
54
+
55
+ ```bash
56
+ npx skills add chenyuan99/fleece
57
+ ```
58
+
59
+ Works with Claude Code, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, Codex, Warp, Kiro, and more — all from one command.
60
+
61
+ ## CLI Commands
62
+
63
+ ### Research (requires `BRAVE_API_KEY`)
64
+
65
+ | Command | Description |
66
+ |---|---|
67
+ | `fleece card "<name>"` | Fees, welcome offer, earning rates, credits, benefits |
68
+ | `fleece rates "<name>"` | Earning rates by spend category |
69
+ | `fleece partners "<name>"` | Transfer partners, ratios, and timing |
70
+ | `fleece credits "<name>"` | Statement credits and perks |
71
+ | `fleece news "<name>"` | Recent changes (past month) |
72
+ | `fleece compare "<A>" "<B>"` | Side-by-side card comparison |
73
+ | `fleece wallet` | Portfolio analysis — coverage, overlaps, gaps |
74
+ | `fleece roi "<name>"` | First-year ROI estimate |
75
+ | `fleece recommend "<profile>"` | Personalized card recommendations |
76
+
77
+ ### Offline (no API key needed)
78
+
79
+ | Command | Description |
80
+ |---|---|
81
+ | `fleece mcc <code>` | Look up a Merchant Category Code (981 codes bundled) |
82
+ | `fleece mcc <code> --wallet` | Cross-reference MCC with your saved cards |
83
+ | `fleece flights <ORIGIN> <DEST> --date <YYYY-MM-DD>` | PointsYeah award flight search URL |
84
+ | `fleece hotels "<location>" --checkin <date> --checkout <date>` | PointsYeah award hotel search URL |
85
+ | `fleece profile set <field> <value>` | Save your spending profile |
86
+ | `fleece profile show` | View your profile |
87
+
88
+ All commands support `--json` for agent-friendly output and `-` to read from stdin.
89
+
90
+ ## Spending Profile
91
+
92
+ Set your profile once — `fleece wallet`, `fleece roi`, and `fleece recommend` use it automatically:
93
+
94
+ ```bash
95
+ fleece profile set dining_monthly 600
96
+ fleece profile set travel_monthly 300
97
+ fleece profile set home_airport JFK
98
+ fleece profile set goal "business class to Tokyo 2027"
99
+ fleece profile set annual_fee_tolerance 550
100
+
101
+ fleece roi "Amex Gold" # spend values pulled from profile
102
+ fleece wallet # gap analysis tailored to your spend
103
+ ```
104
+
105
+ ## AI Agent Integration
106
+
107
+ ### Universal (55+ agents) — recommended
108
+ ```bash
109
+ npx skills add chenyuan99/fleece
110
+ ```
111
+ Installs to Claude Code, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, Codex, Warp, Kiro, Continue, and Junie in one command.
112
+
113
+ ### Platform-specific
114
+ ```bash
115
+ bash install.sh --claude # Claude Code slash commands
116
+ bash install.sh --agents # OpenClaw / Codex SKILL.md
117
+ bash install.sh --gemini # Gemini CLI (GEMINI.md)
118
+ bash install.sh --copilot # GitHub Copilot
119
+ bash install.sh --cursor # Cursor
120
+ bash install.sh --windsurf # Windsurf
121
+ bash install.sh --all # everything above
122
+ ```
123
+
124
+ ### ClawHub Registry
125
+ ```bash
126
+ clawhub install fleece # fleece@1.5.0
127
+ ```
128
+
129
+ ## Chatbot
130
+
131
+ A Streamlit conversational interface is also included:
132
+
133
+ ```bash
134
+ pip install -r requirements.txt
135
+ OPENAI_API_KEY=<key> streamlit run fleece.py
136
+ ```
137
+
138
+ ## Development
139
+
140
+ ```bash
141
+ git clone https://github.com/chenyuan99/fleece.git
142
+ cd fleece
143
+ pip install -e .
144
+ export BRAVE_API_KEY=<your_key>
145
+ fleece --help
146
+ ```
147
+
148
+ ### Running tests
149
+ ```bash
150
+ pip install pytest
151
+ pytest -q
152
+ ```
153
+
154
+ ## License
155
+
156
+ MIT — see [LICENSE](LICENSE)
157
+
158
+ ## Author
159
+
160
+ [@chenyuan99](https://github.com/chenyuan99) · [getfleece.io](https://getfleece.io/)
@@ -0,0 +1,136 @@
1
+ # Fleece — Credit Card Research & Redemption
2
+
3
+ [![PyPI version](https://img.shields.io/pypi/v/fleece-cli?color=FFD100&label=fleece-cli)](https://pypi.org/project/fleece-cli/)
4
+ [![PyPI downloads](https://img.shields.io/pypi/dm/fleece-cli?color=FFD100)](https://pypi.org/project/fleece-cli/)
5
+ [![Python](https://img.shields.io/pypi/pyversions/fleece-cli?color=FFD100)](https://pypi.org/project/fleece-cli/)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-FFD100.svg)](https://github.com/chenyuan99/fleece/blob/main/LICENSE)
7
+ [![Publish to PyPI](https://github.com/chenyuan99/fleece/actions/workflows/publish.yml/badge.svg)](https://github.com/chenyuan99/fleece/actions/workflows/publish.yml)
8
+ [![ClawHub](https://img.shields.io/badge/ClawHub-fleece%401.5.0-FFD100)](https://clawhub.ai)
9
+ [![Website](https://img.shields.io/website?url=https%3A%2F%2Fgetfleece.io&color=FFD100&label=getfleece.io)](https://getfleece.io/)
10
+
11
+ > Find the best card for deal saviors.
12
+
13
+ Fleece is a free, open-source credit card research and award redemption toolkit. It provides live data via Brave Search — no stale training data. Every command outputs clean JSON, making it easy to plug into AI agent workflows.
14
+
15
+ ---
16
+
17
+ ## Quick Start
18
+
19
+ ```bash
20
+ pip install fleece-cli
21
+ export BRAVE_API_KEY=<your_key> # optional — offline commands work without it
22
+
23
+ fleece card "Amex Gold" # full card report
24
+ fleece wallet # portfolio analysis
25
+ fleece mcc 5812 # MCC lookup (no API key needed)
26
+ fleece flights JFK NRT --date 2026-06-01 --cabin business --open
27
+ ```
28
+
29
+ ### Install as an agent skill (55+ agents)
30
+
31
+ ```bash
32
+ npx skills add chenyuan99/fleece
33
+ ```
34
+
35
+ Works with Claude Code, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, Codex, Warp, Kiro, and more — all from one command.
36
+
37
+ ## CLI Commands
38
+
39
+ ### Research (requires `BRAVE_API_KEY`)
40
+
41
+ | Command | Description |
42
+ |---|---|
43
+ | `fleece card "<name>"` | Fees, welcome offer, earning rates, credits, benefits |
44
+ | `fleece rates "<name>"` | Earning rates by spend category |
45
+ | `fleece partners "<name>"` | Transfer partners, ratios, and timing |
46
+ | `fleece credits "<name>"` | Statement credits and perks |
47
+ | `fleece news "<name>"` | Recent changes (past month) |
48
+ | `fleece compare "<A>" "<B>"` | Side-by-side card comparison |
49
+ | `fleece wallet` | Portfolio analysis — coverage, overlaps, gaps |
50
+ | `fleece roi "<name>"` | First-year ROI estimate |
51
+ | `fleece recommend "<profile>"` | Personalized card recommendations |
52
+
53
+ ### Offline (no API key needed)
54
+
55
+ | Command | Description |
56
+ |---|---|
57
+ | `fleece mcc <code>` | Look up a Merchant Category Code (981 codes bundled) |
58
+ | `fleece mcc <code> --wallet` | Cross-reference MCC with your saved cards |
59
+ | `fleece flights <ORIGIN> <DEST> --date <YYYY-MM-DD>` | PointsYeah award flight search URL |
60
+ | `fleece hotels "<location>" --checkin <date> --checkout <date>` | PointsYeah award hotel search URL |
61
+ | `fleece profile set <field> <value>` | Save your spending profile |
62
+ | `fleece profile show` | View your profile |
63
+
64
+ All commands support `--json` for agent-friendly output and `-` to read from stdin.
65
+
66
+ ## Spending Profile
67
+
68
+ Set your profile once — `fleece wallet`, `fleece roi`, and `fleece recommend` use it automatically:
69
+
70
+ ```bash
71
+ fleece profile set dining_monthly 600
72
+ fleece profile set travel_monthly 300
73
+ fleece profile set home_airport JFK
74
+ fleece profile set goal "business class to Tokyo 2027"
75
+ fleece profile set annual_fee_tolerance 550
76
+
77
+ fleece roi "Amex Gold" # spend values pulled from profile
78
+ fleece wallet # gap analysis tailored to your spend
79
+ ```
80
+
81
+ ## AI Agent Integration
82
+
83
+ ### Universal (55+ agents) — recommended
84
+ ```bash
85
+ npx skills add chenyuan99/fleece
86
+ ```
87
+ Installs to Claude Code, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, Codex, Warp, Kiro, Continue, and Junie in one command.
88
+
89
+ ### Platform-specific
90
+ ```bash
91
+ bash install.sh --claude # Claude Code slash commands
92
+ bash install.sh --agents # OpenClaw / Codex SKILL.md
93
+ bash install.sh --gemini # Gemini CLI (GEMINI.md)
94
+ bash install.sh --copilot # GitHub Copilot
95
+ bash install.sh --cursor # Cursor
96
+ bash install.sh --windsurf # Windsurf
97
+ bash install.sh --all # everything above
98
+ ```
99
+
100
+ ### ClawHub Registry
101
+ ```bash
102
+ clawhub install fleece # fleece@1.5.0
103
+ ```
104
+
105
+ ## Chatbot
106
+
107
+ A Streamlit conversational interface is also included:
108
+
109
+ ```bash
110
+ pip install -r requirements.txt
111
+ OPENAI_API_KEY=<key> streamlit run fleece.py
112
+ ```
113
+
114
+ ## Development
115
+
116
+ ```bash
117
+ git clone https://github.com/chenyuan99/fleece.git
118
+ cd fleece
119
+ pip install -e .
120
+ export BRAVE_API_KEY=<your_key>
121
+ fleece --help
122
+ ```
123
+
124
+ ### Running tests
125
+ ```bash
126
+ pip install pytest
127
+ pytest -q
128
+ ```
129
+
130
+ ## License
131
+
132
+ MIT — see [LICENSE](LICENSE)
133
+
134
+ ## Author
135
+
136
+ [@chenyuan99](https://github.com/chenyuan99) · [getfleece.io](https://getfleece.io/)