{"id":21071850,"url":"https://github.com/mawkler/maconomy-cli","last_synced_at":"2026-05-21T09:04:32.145Z","repository":{"id":207814807,"uuid":"700238871","full_name":"mawkler/maconomy-cli","owner":"mawkler","description":"Maconomy CLI client written in Rust for Omegapoint","archived":false,"fork":false,"pushed_at":"2026-03-26T19:40:27.000Z","size":295,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-27T08:21:26.549Z","etag":null,"topics":["cli","maconomy","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/mawkler.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-04T08:06:17.000Z","updated_at":"2026-03-26T19:40:32.000Z","dependencies_parsed_at":"2024-11-04T14:19:51.152Z","dependency_job_id":"5599e540-e0f7-4ab4-a430-ba734355ef2d","html_url":"https://github.com/mawkler/maconomy-cli","commit_stats":null,"previous_names":["mawkler/maconomy-cli"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mawkler/maconomy-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawkler%2Fmaconomy-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawkler%2Fmaconomy-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawkler%2Fmaconomy-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawkler%2Fmaconomy-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mawkler","download_url":"https://codeload.github.com/mawkler/maconomy-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawkler%2Fmaconomy-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33295268,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T02:57:32.698Z","status":"ssl_error","status_checked_at":"2026-05-21T02:57:31.990Z","response_time":62,"last_error":"SSL_read: 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","maconomy","rust"],"created_at":"2024-11-19T18:54:24.851Z","updated_at":"2026-05-21T09:04:32.126Z","avatar_url":"https://github.com/mawkler.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Maconomy CLI\n\nMaconomy command-line interface for interacting with time sheets.\n\n## Features\n\n- Editing time sheet\n  - Editing multiple days at once\n- Viewing time sheet, both as table and as JSON\n- Automatically instantiating new week if it hasn't been created yet\n- Automatically creating new lines if the job/task combination isn't in the time sheet\n- Submitting time sheet\n\n## Usage\n\n```\n\u003e maconomy set 8 --job 'Some Company' --task 'Development' --day friday\n\u003e maconomy get\n╭────────────────────────────────────────────────────────────────────╮\n│ Job name      Task name         Mon  Tue  Wed  Thu  Fri   Sat  Sun │\n├────────────────────────────────────────────────────────────────────┤\n│ Some Company  Development                           8:00           │\n├────────────────────────────────────────────────────────────────────┤\n│ Some Company  More development                                     │\n╰────────────────────────────────────────────────────────────────────╯\n```\n\nOutput of `maconomy --help`:\n\n```\nMaconomy command-line interface for interacting with time sheets\n\nUsage: maconomy \u003cCOMMAND\u003e\n\nCommands:\n  get     Get the time sheet for the current week\n  set     Set number of hours on day(s) for a given job and task\n  clear   Remove hours on day(s) for a given job and task\n  submit  Submit time sheet for week\n  logout  Log out\n  line    Operate on entire lines in the time sheet\n  help    Print this message or the help of the given subcommand(s)\n\nOptions:\n  -h, --help     Print help\n  -V, --version  Print version\n\nExamples:\n  maconomy get\n  maconomy set 8 --job '\u003cjob name\u003e' --task '\u003ctask name\u003e'\n  maconomy set 8 --job '\u003cjob name\u003e' --task '\u003ctask name\u003e' --day 'mon-wed, fri' --week 46\n  maconomy clear --job '\u003cjob name\u003e' --task '\u003ctask name\u003e' --day tuesday\n  maconomy line delete 2\n```\n\nYou can also run `maconomy get --help`, `maconomy set --help`, etc. to see more info on how to use each command.\n\n## Running/installing\n\nRequires a [configuration](#configuration).\n\n### Option 1: running as a Nix flake\n\nRequires having [Nix](https://github.com/NixOS/nix) installed [with flakes enabled](https://wiki.nixos.org/wiki/Flakes#Setup).\n\n```sh\nnix run github:mawkler/maconomy-cli --\n```\n\n### Option 2: installing with Cargo\n\nRequires:\n\n- [Cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html)\n- [Chromium](https://chromium.woolyss.com/download/) or Google Chrome (used in the current authentication implementation)\n\n```sh\ngit clone https://github.com/mawkler/maconomy-cli\ncargo install --path maconomy-cli/\n```\n\n### Configuration\n\nConfiguration is done in the file `~/.config/maconomy-cli/config.toml`. Here's what the config file should look like. All fields except `cookie_path` are required:\n\n```toml\n# ~/.config/maconomy-cli/config.toml\nmaconomy_url = \"\u003cURL to company's Maconomy API\u003e\"\ncompany_id = \"\u003ccompany ID\u003e\"\n\n[authentication.sso]\nlogin_url = \"\u003cURL to your company's SSO login web page for Maconomy\u003e\"\ncookie_path = \"\u003cpath to where auth cookie should be stored\u003e\" # Optional, defaults to ~/.local/share/maconomy-cli/maconomy_cookie\n```\n\n## Known issues\n\n### \"Request failed with status 401 Unauthorized\"\n\n**Solution:** Log out with `maconomy logout` and then re-run your previous command.\n\nSometimes maconomy-cli is unable reauthenticate after your session has expired. maconomy-cli currently authenticates you by opening a browser window, letting you sign in with single-sign on, and then stores your session cookie. It seems like it sometimes it fetches the incorrect authentication cookie. I'll try to fix this, but the optimal solution is to switch to a proper [PKCE](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce) authentication flow, or similar. However, Maconomy seem to be using some custom authentication on top of SSO that I couldn't get working. That's why I went with the jankier web-browser-cookie-snatching solution.\n\n## Development\n\nTo compile and run:\n\n```sh\ncargo run\n\n# To pass arguments to maconomy-cli you can use `--`:\ncargo run -- set --job '\u003cjob name\u003e' --task '\u003ctask name\u003e' 8\n\n# To get the full debug log printed to stderr\nRUST_LOG=debug cargo run -- ...\n```\n\nTo run tests:\n\n```sh\ncargo test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmawkler%2Fmaconomy-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmawkler%2Fmaconomy-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmawkler%2Fmaconomy-cli/lists"}