How oulael-laabi/budgetroom works
BudgetRoom is a chat-based budgeting coach: people describe spending or ask budget questions, an external Switch/Claude Code agent translates messages into budget.py commands, and the script returns deterministic results for the agent to relay. The README documents the chat integration and broader coaching behavior; the excerpt shows CLI dispatch, budget calculations, file-backed ledgers, and household approvals. The repository does not contain the Switch integration itself, and the source excerpt omits parts of the CLI and rendering logic, so those links rely on README documentation.
Main entry points: budget.py Command-line interface · CLAUDE.md Claude Code agent · profiles Profile plans · ledgers Expense and income ledgers
Components 15
Chat interaction
- Mattermost / Switch
- Claude Code agent
CLAUDE.md
Budget commands
- Command-line interface
budget.py - Expense and income logging
budget.py - Budget status
budget.py - Affordability check
budget.py - Text and PNG reports
budget.py
Budget analysis
- Budget snapshot
budget.py - Response rendering
budget.py
Household transfers
- Allowance requests
budget.py - Approve or deny
budget.py
File-backed state
- Profile plans
seed/profiles - Expense and income ledgers
seed/ledgers - Household request data
seed/households
Other components
- Students and parents
Connections 23
- Students and parents → Mattermost / Switch: message
README.md - Mattermost / Switch → Claude Code agent: forwards message
README.md - Claude Code agent → Command-line interface: runs commands
README.md - Command-line interface → Expense and income logging: dispatches logging
budget.py - Command-line interface → Budget status: dispatches status
README.md - Command-line interface → Affordability check: dispatches check
README.md - Command-line interface → Text and PNG reports: dispatches report
README.md - Expense and income logging → Profile plans: loads plan
budget.py - Expense and income logging → Expense and income ledgers: appends entry
budget.py - Budget status → Budget snapshot: calculates
README.md - Affordability check → Budget snapshot: checks budget
budget.py - Text and PNG reports → Budget snapshot: uses snapshot
budget.py - Budget snapshot → Profile plans: reads plan
budget.py - Budget snapshot → Expense and income ledgers: reads entries
budget.py - Budget status → Response rendering: formats status
budget.py - Affordability check → Response rendering: formats result
budget.py - Command-line interface → Allowance requests: dispatches request
README.md - Command-line interface → Approve or deny: dispatches decision
README.md - Allowance requests → Household request data: records request
budget.py - Allowance requests → Profile plans: loads parent plan
budget.py - Approve or deny → Household request data: reads request
budget.py - Approve or deny → Expense and income ledgers: records both sides
budget.py - Claude Code agent → Mattermost / Switch: relays reply
README.md