@@ -10,13 +10,24 @@ import { insightsAction } from "./commands/insights.js";
1010import { banksAction , subscriptionAction } from "./commands/account.js" ;
1111import { progressAction } from "./commands/progress.js" ;
1212import { skillInstallAction , skillStatusAction , skillUninstallAction , skillShowAction } from "./commands/skill.js" ;
13+ import {
14+ classifyAction ,
15+ renameAction ,
16+ commentAction ,
17+ excludeAction ,
18+ includeAction ,
19+ mergeAction ,
20+ unclassifiedAction ,
21+ setBudgetTypeAction ,
22+ adjustAction ,
23+ } from "./commands/manage.js" ;
1324
1425const program = new Command ( ) ;
1526
1627program
1728 . name ( "riseup" )
1829 . description ( "Unofficial RiseUp Finance CLI" )
19- . version ( "0.1 .0" ) ;
30+ . version ( "0.4 .0" ) ;
2031
2132// Global options
2233program . option ( "--json" , "Output as JSON" ) ;
@@ -96,6 +107,58 @@ program
96107 . description ( "Show financial health & savings progress" )
97108 . action ( progressAction ) ;
98109
110+ // Transaction management (write) commands
111+ program
112+ . command ( "classify <transactionId> <category>" )
113+ . description ( "Classify a transaction into a category" )
114+ . option ( "--apply-to <scope>" , "Apply to: single or all (future matching)" , "all" )
115+ . action ( classifyAction ) ;
116+
117+ program
118+ . command ( "rename <transactionId> <name>" )
119+ . description ( "Rename a transaction display name" )
120+ . option ( "--apply-to <scope>" , "Apply to: single or all" , "single" )
121+ . action ( renameAction ) ;
122+
123+ program
124+ . command ( "comment <transactionId> <text>" )
125+ . description ( "Add a comment/note to a transaction" )
126+ . action ( commentAction ) ;
127+
128+ program
129+ . command ( "exclude <transactionId>" )
130+ . description ( "Exclude a transaction from budget" )
131+ . action ( excludeAction ) ;
132+
133+ program
134+ . command ( "include <transactionId>" )
135+ . description ( "Re-include an excluded transaction in budget" )
136+ . action ( includeAction ) ;
137+
138+ program
139+ . command ( "merge <transactionId>" )
140+ . description ( "Approve a credit card billing merge" )
141+ . option ( "--input <type>" , "Merge type: approved, loan, clearing, addCreds, bug" , "approved" )
142+ . action ( mergeAction ) ;
143+
144+ program
145+ . command ( "unclassified [month]" )
146+ . description ( "List unclassified transactions" )
147+ . action ( unclassifiedAction ) ;
148+
149+ program
150+ . command ( "set-budget-type <transactionId> <type>" )
151+ . description ( "Set transaction as fixed or variable expense" )
152+ . action ( setBudgetTypeAction ) ;
153+
154+ program
155+ . command ( "adjust <envelopeId> <amount>" )
156+ . description ( "Adjust a predicted transaction amount" )
157+ . option ( "--sequence-id <id>" , "Sequence ID (required)" )
158+ . option ( "--budget-date <date>" , "Budget month (YYYY-MM, default: current)" )
159+ . option ( "--no-permanent" , "Apply only for this month" )
160+ . action ( adjustAction ) ;
161+
99162const accountCmd = program
100163 . command ( "account" )
101164 . description ( "Account settings" ) ;
0 commit comments