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.
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.agents/skills/fleece/SKILL.md +34 -1
- fleece_cli-0.4.1/.cursor/rules/fleece.mdc +35 -0
- fleece_cli-0.4.1/.github/copilot-instructions.md +28 -0
- fleece_cli-0.4.1/.windsurfrules +31 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/CLAUDE.md +50 -8
- fleece_cli-0.4.1/GEMINI.md +44 -0
- fleece_cli-0.4.1/PKG-INFO +160 -0
- fleece_cli-0.4.1/README.md +136 -0
- fleece_cli-0.4.1/SKILL.md +219 -0
- fleece_cli-0.4.1/docs/DESIGN.md +109 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/docs/SEO.md +59 -1
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/docs/index.html +127 -13
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/docs/sitemap.xml +1 -1
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/fleece.py +84 -30
- fleece_cli-0.4.1/install.sh +99 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/prompts/agent_system_prompt.py +8 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/pyproject.toml +1 -1
- fleece_cli-0.4.1/skills/fleece/SKILL.md +219 -0
- fleece_cli-0.4.1/style.css +213 -0
- fleece_cli-0.4.0/PKG-INFO +0 -151
- fleece_cli-0.4.0/README.md +0 -127
- fleece_cli-0.4.0/install.sh +0 -63
- fleece_cli-0.4.0/style.css +0 -81
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-card.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-compare.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-credits.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-flights.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-hotels.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-mcc.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-news.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-partners.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-profile.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-rates.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-recommend.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-roi.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.claude/skills/fleece-wallet.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.devcontainer/devcontainer.json +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.github/workflows/publish-skills.yml +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.github/workflows/publish.yml +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.gitignore +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/.streamlit/config.toml +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/Advertiser Disclosure.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/KnowledgeCatalog.json +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/LICENSE +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/MyCards.json +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/app.yaml +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/assets/default_card.png +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/assets/default_card.svg +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/cli.py +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/db.py +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/docs/CNAME +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/docs/robots.txt +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/fleece poc.ipynb +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/image_service.py +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/mcc_codes.jsonl +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/migrate.py +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/pages/credit_cards.py +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/pages/my_credit_cards.py +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/plan.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/pointsyeah.py +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/reference/Analyzer.md +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/requirements-test.txt +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/requirements.txt +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/test_fleece.py +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tests/__init__.py +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tests/test_brave_client.py +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tests/test_cli.py +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tests/test_pointsyeah.py +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tests/test_tools.py +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tools/__init__.py +0 -0
- {fleece_cli-0.4.0 → fleece_cli-0.4.1}/tools/brave_client.py +0 -0
- {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:
|
|
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`) —
|
|
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.
|
|
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 `
|
|
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
|
|
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
|
-
|
|
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.
|
|
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
|
+
[](https://pypi.org/project/fleece-cli/)
|
|
28
|
+
[](https://pypi.org/project/fleece-cli/)
|
|
29
|
+
[](https://pypi.org/project/fleece-cli/)
|
|
30
|
+
[](https://github.com/chenyuan99/fleece/blob/main/LICENSE)
|
|
31
|
+
[](https://github.com/chenyuan99/fleece/actions/workflows/publish.yml)
|
|
32
|
+
[](https://clawhub.ai)
|
|
33
|
+
[](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
|
+
[](https://pypi.org/project/fleece-cli/)
|
|
4
|
+
[](https://pypi.org/project/fleece-cli/)
|
|
5
|
+
[](https://pypi.org/project/fleece-cli/)
|
|
6
|
+
[](https://github.com/chenyuan99/fleece/blob/main/LICENSE)
|
|
7
|
+
[](https://github.com/chenyuan99/fleece/actions/workflows/publish.yml)
|
|
8
|
+
[](https://clawhub.ai)
|
|
9
|
+
[](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/)
|