{"id":16102727,"url":"https://github.com/icyflame/terminal-wallet","last_synced_at":"2026-02-18T23:32:23.928Z","repository":{"id":65374693,"uuid":"38613279","full_name":"icyflame/terminal-wallet","owner":"icyflame","description":"Manage your wallet, from the terminal","archived":false,"fork":false,"pushed_at":"2017-10-03T18:02:23.000Z","size":286,"stargazers_count":8,"open_issues_count":1,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-26T20:45:38.788Z","etag":null,"topics":["cli","expense-tracker","expenses-manager","manager","nodejs","wallet"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/terminal-wallet","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/icyflame.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-06T10:54:47.000Z","updated_at":"2020-07-10T05:38:19.000Z","dependencies_parsed_at":"2023-01-20T01:25:20.853Z","dependency_job_id":null,"html_url":"https://github.com/icyflame/terminal-wallet","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/icyflame/terminal-wallet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icyflame%2Fterminal-wallet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icyflame%2Fterminal-wallet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icyflame%2Fterminal-wallet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icyflame%2Fterminal-wallet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/icyflame","download_url":"https://codeload.github.com/icyflame/terminal-wallet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icyflame%2Fterminal-wallet/sbom","scorecard":{"id":480752,"data":{"date":"2025-08-11","repo":{"name":"github.com/icyflame/terminal-wallet","commit":"34b3d66c7a00221b29d33e5776e21dda78a6b536"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: license:0","Info: FSF or OSI recognized license: MIT License: license:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-19T16:33:25.761Z","repository_id":65374693,"created_at":"2025-08-19T16:33:25.762Z","updated_at":"2025-08-19T16:33:25.762Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29598240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T22:25:43.180Z","status":"ssl_error","status_checked_at":"2026-02-18T22:25:42.766Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","expense-tracker","expenses-manager","manager","nodejs","wallet"],"created_at":"2024-10-09T18:54:32.949Z","updated_at":"2026-02-18T23:32:23.894Z","avatar_url":"https://github.com/icyflame.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terminal-wallet\n\n\u003e Manage your wallet, from the terminal\n\n[![Build Status](https://travis-ci.org/icyflame/terminal-wallet.svg?branch=master)](https://travis-ci.org/icyflame/terminal-wallet)\n\n[![js-semistandard-style](https://img.shields.io/badge/code%20style-semistandard-brightgreen.svg)](https://github.com/Flet/semistandard)\n\n[![node-4-and-above](https://img.shields.io/badge/node.js-%3E%204.0-brightgreen.svg)](https://nodejs.org/en/download/)\n\nProject page (for screenshots and explanation): [terminal-wallet](http://icyflame.github.io/terminal-wallet/)\n\n\n### Why?\n\nNot a long time ago, I used a Google Sheet to manage my wallet, and as a matter of\nfact, it got tedious soon. Opening the browser, waiting for the page to load,\nand not being able to update stuff when there's no connectivity, all of that\nhas led me to write this small CLI application, that can be used by anyone to\nmanage their wallet right from the terminal.\n\n\n## CLI\n\n```\n$ npm install --global terminal-wallet\n```\n```\n$ wallet --help\n\n  Usage\n    wallet debit \u003cvalue\u003e \u003cpurchase details\u003e [-c \u003ccategory\u003e][-d \u003cdate in yyyy-mm-dd format\u003e]\n    wallet credit \u003cvalue\u003e \u003csource details\u003e [-c \u003ccategory\u003e][-d \u003cdate in yyyy-mm-dd format\u003e]\n    wallet export\n    wallet clear\n\n  Example\n    wallet debit 10 'Breakfast, Coffee at Canteen' -c 'Food'\n\n    ✔ Expense written to file!\n\n    wallet credit 2000 'Salary for July 2015' -c 'Salary'\n\n    ✔ Expense written to file!\n\n    wallet export\n\n    ✔ Your file can be found at\n    /home/siddharth/.local/share/wallet/exported/export-2015-07-06.csv\n\n    wallet clear\n\n    ✔ Account closed. Expense details have been exported to :-\n    /home/siddharth/.local/share/wallet/closed/closed-2015-07-06.csv\n    Prepared a clean slate, for the next accounting period.\n\n    wallet-open # or just wo\n      This will open the wallet csv file in a less session, in a\n      in a reverse chronographic order, which is convenient for viewing\n      latest transactions\n\n  Options\n    -c Category   ; Default: ''          ; Optional\n    -d yyyy-mm-dd ; Default: Today's date; Optional\n```\n\n\n## CLI\n\n##### `wallet debit \u003cvalue\u003e \u003cpurchase details\u003e [-c \u003ccategory\u003e] [-d date]`\n\n_`Made a purchase of \u003cvalue\u003e for \u003cpurchase details\u003e under the category \u003ccategory\u003e`_  \nAdd a debit entry to your account book. Date can be written as, `yesterday`, `day before yesterday`,\netc. Check [this list](https://github.com/icyflame/relative-date-reverse/blob/master/supported.md) for \nsupported date phrases.\n\n##### `wallet credit \u003cvalue\u003e \u003csource details\u003e [-c \u003ccategory\u003e]`\n\n`\u003cvalue\u003e credited to the wallet from \u003csource details\u003e under the category \u003ccategory\u003e`  \nAdd a credit entry to your account book.\n\n##### `wallet export`\n\nExport the current state of your account book to a timestamped file.  \n(Path to the file will be printed when the command completes execution)\n\n##### `wallet clear`\n\nClose the account for the last period, and start with a clean slate.  \nThe expenses will be exported to a timestamped file, and can be retrieved.\n(Typically, This operation can be used at the end of each month, or any period that is convenient for the user.)\n\n##### `wallet stash \u003cvalue\u003e`\n\nRemove money from wallet and stash it for later use.\n\n##### `wallet unstash \u003cvalue\u003e`\n\nWithdraw money from your stash, and credit it to the wallet.\n\n##### `wallet file_path`\n\nThe filepath of the CSV file in which all the expenses are being stored.\n\n##### `wallet-open` or just `wo`\n\nOpen the CSV file where everything is stored in a reverse chronological order\nwhich is convenient for viewing latest credit / debit transactions.\n\n\n## License\n\nMIT © [Siddharth Kannan](http://icyflame.github.io)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficyflame%2Fterminal-wallet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficyflame%2Fterminal-wallet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficyflame%2Fterminal-wallet/lists"}