@seethruhead/wish-farm-planner
v0.1.3
Published
Plan your discretionary spending with a YNAB-style wish farm. Uses CRA payroll data to determine true disposable income.
Downloads
431
Maintainers
Readme
@seethruhead/wish-farm-planner
Plan your discretionary spending with a YNAB-style wish farm. Uses @seethruhead/cra-payroll to determine your real take-home pay, subtracts your monthly expenses, and shows you exactly which YNAB categories to fund each paycheck.
Install
npm install -g @seethruhead/wish-farm-plannerRequires cra-payroll in your PATH:
npm install -g @seethruhead/cra-payrollConfig
Create wish-farm.json (or ~/.config/wish-farm.json or ~/.wish-farm.json):
{
"monthlyExpenses": 5000,
"wishes": [
{ "name": "Mac Studio", "cost": 2999, "priority": 1 },
{ "name": "DAC/Amp", "cost": 899, "priority": 2 },
{ "name": "Headphones", "cost": 1599, "priority": 3 },
{ "name": "Motorcycle", "cost": 12000, "priority": 4 }
],
"craPayrollArgs": {
"salary": 263000,
"province": "Ontario",
"rrspMatch": 4,
"rrspUnmatched": 0
}
}monthlyExpenses — everything you spend in a month: rent, food, bills, subscriptions, investment transfers. The money left after this is truly discretionary.
wishes — your wish farm items, prioritized (1 = buy first).
craPayrollArgs — passed to cra-payroll to compute your take-home.
Usage
Per-paycheck allocation table
wish-farm-planner paychecksShows which YNAB categories to fund each paycheck, with rollover when items are funded mid-paycheck:
Paycheck Allocation (Sequential)
══════════════════════════════════════════════════════════════════════════════════
# Take Home Expenses Discretion. │ YNAB Categories
──────────────────────────────────────────────────────────────────────────────────
1 $6,008.01 $2,500.00 $3,508.01 │ $2,999.00 → Mac Studio ✓ │ $509.01 → DAC/Amp
2 $6,008.01 $2,500.00 $3,508.01 │ $389.99 → DAC/Amp ✓ │ $1,599.00 → Headphones ✓ │ $1,519.02 → Motorcycle
3 $6,008.01 $2,500.00 $3,508.01 │ $3,508.01 → Motorcycle
...
Funding Timeline
──────────────────────────────────────────────────────────────────────────
✓ Mac Studio funded by paycheck #1
✓ DAC/Amp funded by paycheck #2
✓ Headphones funded by paycheck #2
✓ Motorcycle funded by paycheck #5Monthly summary
wish-farm-planner plan
wish-farm-planner plan -s proportionalJSON output
Every command supports --json for integration with other tools:
wish-farm-planner paychecks --json
wish-farm-planner plan --jsonOptions
wish-farm-planner paychecks [options]
-c, --config <path> Path to config file
--json Output as JSON
wish-farm-planner plan [options]
-c, --config <path> Path to config file
-s, --strategy sequential (default) or proportional
--json Output as JSONHow it works
- Calls
cra-payroll --table --jsonto get per-paycheck take-home pay (accounts for CPP/EI maxing out later in the year) - Subtracts your per-paycheck share of monthly expenses
- Allocates the discretionary remainder to wish items in priority order
- When an item is fully funded mid-paycheck, leftover rolls to the next item
Development
bun install
bun test
bun run dev -- paychecks -c test-config.jsonLicense
MIT
