| name | agent-money-tracker |
| description | Intelligent budget tracking and financial management library for AI agents - expense tracking, income management, budgets, savings goals, and LLM-powered insights |
Agent Money Tracker
A TypeScript library for AI agents to track expenses, income, budgets, and savings goals with LLM-powered natural language parsing. No frontend required - designed for programmatic use by agents and bots.
Installation
npm install agent-money-tracker
Usage
Initialize the Budget Tracker
import { clawhub } from 'agent-money-tracker';
await clawhub.initialize();
await clawhub.initialize('/path/to/data');
Expense Tracking
await clawhub.addExpense(50, 'Food & Dining', 'Grocery shopping', {
date: '2026-01-31',
tags: ['weekly', 'essentials'],
merchant: 'Whole Foods'
});
await clawhub.addFromNaturalLanguage('spent $45 on uber yesterday');
const expenses = clawhub.getExpenses({ limit: 10 });
const foodExpenses = clawhub.getExpenses({
category: 'Food & Dining',
startDate: '2026-01-01',
endDate: '2026-01-31'
});
Income Tracking
await clawhub.addIncome(5000, 'Salary', 'January salary', {
date: '2026-01-15'
});
await clawhub.addIncome(500, 'Freelance', 'Website project');
const income = clawhub.getIncome();
Budget Management
await clawhub.createBudget('Food Budget', 'Food & Dining', 500, 'monthly', 0.8);
const status = clawhub.getBudgetStatus();
const alerts = clawhub.checkBudgetAlerts();
const suggestions = clawhub.suggestBudgetLimits();
Savings Goals
await clawhub.createGoal('Emergency Fund', 10000, {
description: '6 months expenses',
deadline: '2026-12-31',
priority: 'high'
});
await clawhub.contributeToGoal('goal_abc123', 500, 'January savings');
const progress = clawhub.getGoalProgress();
Analytics & Reports
const summary = clawhub.getSpendingSummary();
const trends = clawhub.getMonthlyTrends(12);
const report = clawhub.generateMonthlyReport(2026, 1);
const comparison = clawhub.compareToLastMonth();
Smart Insights
const insights = await clawhub.generateInsights();
const unreadInsights = clawhub.getInsights();
Recurring Transactions
await clawhub.createRecurring(
'expense', 15.99, 'Subscriptions', 'Netflix', 'monthly',
{ startDate: '2026-02-01' }
);
await clawhub.createRecurring(
'income', 5000, 'Salary', 'Monthly salary', 'monthly'
);
await clawhub.processRecurring();
Data Management
const stats = clawhub.getStats();
const categories = clawhub.getCategories();
const jsonData = await clawhub.exportData();
const backupPath = await clawhub.backup();
const dataPath = clawhub.getDataPath();
Default Categories
Expense Categories
| Category | Icon |
|---|
| Food & Dining | 🍔 |
| Transportation | 🚗 |
| Shopping | 🛍️ |
| Bills & Utilities | 💡 |
| Entertainment | 🎬 |
| Health & Fitness | 💪 |
| Education | 📚 |
| Personal Care | 💄 |
| Subscriptions | 📱 |
Income Categories
| Category | Icon |
|---|
| Salary | 💰 |
| Freelance | 💻 |
| Investments | 📈 |
| Gifts | 🎁 |
Cross-Platform Storage
Data is stored in platform-specific locations:
| Platform | Default Path |
|---|
| Windows | %APPDATA%\clawhub |
| macOS | ~/Library/Application Support/clawhub |
| Linux | ~/.local/share/clawhub |
Override with environment variable:
export CLAWHUB_DATA_PATH=/custom/path
API Reference Summary
| Method | Description |
|---|
initialize(path?) | Initialize the budget tracker |
addExpense(amount, category, description, options?) | Add expense |
addIncome(amount, category, description, options?) | Add income |
addFromNaturalLanguage(text) | Parse and add from natural language |
createBudget(name, category, limit, period, threshold?) | Create budget |
getBudgetStatus() | Get all budget statuses |
checkBudgetAlerts() | Get budget warnings/alerts |
createGoal(name, target, options?) | Create savings goal |
contributeToGoal(goalId, amount, note?) | Add to goal |
getGoalProgress() | Get all goal progress |
getSpendingSummary(start?, end?) | Get spending breakdown |
getMonthlyTrends(months?) | Get monthly trend data |
generateMonthlyReport(year?, month?) | Generate full report |
generateInsights() | Generate AI insights |
createRecurring(type, amount, category, desc, freq, options?) | Create recurring |
processRecurring() | Process due recurring transactions |
getStats() | Get transaction statistics |
exportData() | Export all data as JSON |
backup() | Create timestamped backup |