Skip to content

Releases: overseers-desk/crude

crude 1.6.6

Choose a tag to compare

@overseers-desk overseers-desk released this 20 Oct 00:36

What changed

  • New site: crude-business-profile, your own Google Business Profile over Google's Business Profile APIs. It lists the locations a Google account manages with their Place IDs, lists a location's reviews (newest update first; --since, --unreplied, --all) and shows one, and writes or removes the business's reply. The credential is a google-auth authorised-user token file in the state directory, made once by crude-business-profile auth or copied from a working token; only auth reads [business-profile] client_id and client_secret. Only locations the signed-in account manages are reachable. Setup and the API notes are in docs/business-profile.md.
  • The browser half of an OAuth consent (the loopback callback and the paste-based fallback) lives in crude_common, shared by crude-xero and crude-business-profile.

Install

Homebrew:

brew tap overseers-desk/od
brew install crude

Debian / Ubuntu:

sudo apt install ./crude_1.6.6_all.deb

Fedora / RHEL:

sudo dnf install ./crude-1.6.6-1.noarch.rpm

After installing by any method, register the Claude Code command so Claude Code
routes the relevant prompts through crude:

crude install-claude-command

crude 1.6.5

Choose a tag to compare

@overseers-desk overseers-desk released this 19 Oct 05:06
  • A crash in any crude binary no longer prints its local variables. Under Typer 0.15, which Debian ships and which shows locals by default, a crash printed the whole config.toml with every site's credentials.
  • crude-facebook: a connection, DNS or SSL failure no longer prints the access token, and an error body whose error is a plain string ends with a FacebookError.
  • A token or session file that cannot be saved ends the command with one line naming the file, instead of a traceback.
  • crude-atdw login and crude-skal login no longer print part of the token or session cookie.
  • The Claude command tells agents to leave config.toml and the token files unread and to check credentials with a site's status or login command, and gives the Xero token's real path.
  • An expired Xero login while resolving the tenant ends any crude-xero command with one line, as crude-xero tenants does.
  • A crude-xero, crude-airwallex or crude-clover write builds its client before the [y/N] prompt, so a config it cannot be built from ends the command with its own error first.
  • A config or tenant helper's own exit ends the command with only its message.
  • A read-only Claude Code tree no longer fails the command the user ran: the per-run refresh of the Claude Code command file skips a write it cannot make.

Homebrew:

brew tap overseers-desk/od
brew install crude

Debian / Ubuntu:

sudo apt install ./crude_1.6.5_all.deb

Fedora / RHEL:

sudo dnf install ./crude-1.6.5-1.noarch.rpm

After installing by any method, register the Claude Code command so Claude Code
routes the relevant prompts through crude:

crude install-claude-command

crude 1.6.4

Choose a tag to compare

@overseers-desk overseers-desk released this 11 Oct 08:06
  • crude-xero: the employee help says it is the Accounting API record and points payroll staff at pay-employee; the Claude command lists the Payroll resources (pay-employee, pay-run, timesheet, leave-application, super-fund, payroll-calendar, pay-item, payslip, payroll-settings).

Install

Homebrew:

brew tap overseers-desk/od
brew install crude

Debian / Ubuntu:

sudo apt install ./crude_1.6.4_all.deb

Fedora / RHEL:

sudo dnf install ./crude-1.6.4-1.noarch.rpm

After installing by any method, register the Claude Code command so Claude Code
routes the relevant prompts through crude:

crude install-claude-command

crude 1.6.3

Choose a tag to compare

@overseers-desk overseers-desk released this 08 Oct 22:55

Changes

  • crude-rezdy: booking create asks Rezdy to email the customer by default. Suppressing the emails (--no-notify, or sendNotifications=false in the body) needs an explicit confirmation whose default is no, and --yes does not answer it.
  • crude-airwallex: transaction list --all fetches every page; it used to stop after 100 rows.

Install

Homebrew:

brew tap overseers-desk/od
brew install crude

Debian / Ubuntu:

sudo apt install ./crude_1.6.3_all.deb

Fedora / RHEL:

sudo dnf install ./crude-1.6.3-1.noarch.rpm

After installing by any method, register the Claude Code command so Claude Code
routes the relevant prompts through crude:

crude install-claude-command

crude 1.6.2

Choose a tag to compare

@mill-master mill-master released this 02 Oct 09:52

crude 1.6.2

Every time crude shows now follows the config's timezone. 1.6.1 converted the list tables and the dates you type; this release reaches the places that still printed what the API sent.

  • Single-record views. get commands show their timestamps in the config's timezone: every crude-rezdy get (a booking made at 9 pm Brisbane time showed 11 am), crude-clover payments, refunds, credits and cash-events get (epoch milliseconds before), crude-wise profile get and transfer get, and the crude-atdw listing's published and updated times. --json stays as the API sent it.
  • crude-xero: readable dates. Xero sends a date as /Date(1633564800000+0000)/, and every table and record view printed that. A date now shows as the day (2021-10-07) and a field whose name ends in UTC as a time in the config's timezone. history list shows when each entry was made.
  • crude-deputy: readable shifts. A roster's or timesheet's start and end are Unix seconds in the API and printed as such; they show as times in the config's timezone. A business date shows as the day in place of 2026-10-03T00:00:00+10:00.
  • crude-rezdy: voucher dates. voucher list and voucher get show the issue and expiry instants in the account's timezone; an issue date at the start of a Brisbane day read as the previous day.
  • crude-skal: an event's start, which Odoo sends as a UTC time with no offset, shows in the config's timezone.
  • crude-airwallex, crude-wise: a time typed on --from or --to (2026-09-01T09:00) is read in the config's timezone; it used to reach the API with no zone at all.
  • crude-clover: --tz on orders list, flatten and status defaults to the config's timezone, with Australia/Brisbane as the last resort; the generic resource list shows its timestamps as the registry lists do.
  • LDIF exports on a computer in a daylight-saving zone, with no timezone in the config, carried the current offset on every record; each record now carries the offset of its own instant.

Install

Homebrew:

brew tap overseers-desk/od
brew install crude

Debian / Ubuntu:

sudo apt install ./crude_1.6.2_all.deb

Fedora / RHEL:

sudo dnf install ./crude-1.6.2-1.noarch.rpm

After installing by any method, register the Claude Code command so Claude Code
routes the relevant prompts through crude:

crude install-claude-command

crude 1.6.1

Choose a tag to compare

@mill-master mill-master released this 02 Oct 08:22

crude 1.6.1

  • One timezone for every site. A timezone key in the config (an IANA name such as Australia/Brisbane) names the zone crude works in. Typed dates are read in it and times are shown in it, whatever the computer's own clock is set to. At the top level of the config the key covers every site; inside a site's section it wins for that site; with no key, the computer's zone applies. crude-airwallex, crude-wise, crude-sonas, crude-facebook, crude-mautic and crude-clover's record lists now follow it. crude-rezdy already did, through the key its own section requires. A team that shares one config gets the same rows and the same times on every computer.
  • crude-rezdy: a typed date is the account's day. On booking list and booking cancellations, a bare date used to reach Rezdy as midnight UTC. For a Brisbane account a range lost the first ten hours of its first day and all but the first ten hours of its last. A time typed without an offset is account-local too; Z or an offset is honoured.
  • crude-rezdy: the filters of Rezdy's current Supplier API. booking list takes --source-channel, --reseller-reference, --role and a repeatable --product. category list takes --search and --visible/--private. resource sessions takes --from/--to/--limit/--offset. availability list takes --offset.
  • crude-rezdy: the API key travels in the apiKey header, out of URLs and error text.
  • crude-sonas: dates are the venue's days once the timezone key is set. On a computer west of the venue an event showed a day early, and a day's range took in the next day's events. A timeline time typed without an offset is venue time under the same key.
  • crude-deputy: resource list pages. It honours --limit and --start, and --all stops at the last page. Before, it ignored both, and --all did not finish on an object of 500 rows or more.
  • crude-facebook and crude-mautic: local times. Tables and record views show times in the working timezone in place of the API's UTC strings; --json stays raw. crude-facebook post create --schedule reads an ISO time typed without an offset in the same zone.

Install

Homebrew:

brew tap overseers-desk/od
brew install crude

Debian / Ubuntu:

sudo apt install ./crude_1.6.1_all.deb

Fedora / RHEL:

sudo dnf install ./crude-1.6.1-1.noarch.rpm

After installing by any method, register the Claude Code command so Claude Code
routes the relevant prompts through crude:

crude install-claude-command

crude 1.6.0

Choose a tag to compare

@overseers-desk overseers-desk released this 30 Sep 09:58

crude 1.6.0

  • crude-wise: a Wise Business backend for balances, the balance statement, transfers, recipients and the activity feed, under the crude-wise <resource> <verb> grammar and shipped in the .deb and the .rpm. The personal API token is sent as an opaque bearer, so the UUID tokens Wise issues today and the JWT tokens it is migrating to both work unchanged. The statement is SCA-protected for profiles registered outside US/AU/NZ/SG/CA/MY; with private_key configured, crude signs Wise's one-time token through openssl and resends the request, and without one it reports the key setup.

Install

Homebrew:

brew tap overseers-desk/od
brew install crude

Debian / Ubuntu:

sudo apt install ./crude_1.6.0_all.deb

Fedora / RHEL:

sudo dnf install ./crude-1.6.0-1.noarch.rpm

After installing by any method, register the Claude Code command so Claude Code
routes the relevant prompts through crude:

crude install-claude-command

crude 1.5.0

Choose a tag to compare

@overseers-desk overseers-desk released this 20 Aug 12:21

What's new

  • crude-mautic: a Mautic backend for forms, submissions, contacts, segments, campaigns and email send counts. A form is addressed by numeric id or by the alias its page markup carries, and --where / --group-by slice a shared form by the hidden field a page marks its traffic with.
  • crude-sonas event leads: counts enquiries by lead source and enquiry date.
  • crude-xero: PKCE auth for mobile-or-desktop Xero apps (client_id only); a config client_secret selects the confidential web-app flow instead. Default consent uses Xero's granular scopes, the only kind apps created on or after 2 March 2026 can consent. Journal commands explain the Advanced-tier gate instead of failing with a bare 403.
  • Claude Code registration installs into the configuration directory the session actually reads: $CLAUDE_CONFIG_DIR when it is set, ~/.claude otherwise. A machine with several configuration trees no longer takes the install in one and leaves the others without it.

Install

Homebrew:

brew tap overseers-desk/od
brew install crude

Debian / Ubuntu:

sudo apt install ./crude_1.5.0_all.deb

Fedora / RHEL:

sudo dnf install ./crude-1.5.0-1.noarch.rpm

After installing by any method, register the Claude Code command so Claude Code routes the relevant prompts through crude:

crude install-claude-command

crude 1.4.2

Choose a tag to compare

@overseers-desk overseers-desk released this 20 Jul 22:37

People commands across all sites gain --ldif: LDIF (inetOrgPerson) output for rezdy customers, skal members, deputy employees, sonas guests, xero contacts and pay-employees, airwallex beneficiaries, and clover customers and employees. Streams from separate runs concatenate into one loadable LDIF file, and created/modified timestamps are rendered in the configured timezone. Two new optional config keys: top-level timezone and base_dn.

Install:

Homebrew:

brew tap overseers-desk/od
brew install crude

Debian / Ubuntu:

sudo apt install ./crude_1.4.2_all.deb

Fedora / RHEL:

sudo dnf install ./crude-1.4.2-1.noarch.rpm

After installing by any method, register the Claude Code command so Claude Code routes the relevant prompts through crude:

crude install-claude-command

crude 1.4

Choose a tag to compare

@overseers-desk overseers-desk released this 24 Jun 06:34

Add crude-facebook: a Facebook Pages client via the Meta Graph API. Covers posts (list, get, create, edit, hide/unhide, delete), page insights, and comments. Auth via a System User token stored in the durable state store. The binary replaces crude-meta; Instagram support is deferred to a future release.

Install

Homebrew:

brew tap SmartLayer/crude https://github.com/SmartLayer/crude
brew install crude

Debian / Ubuntu:

sudo apt install ./crude_1.4_all.deb

Fedora / RHEL:

sudo dnf install ./crude-1.4-1.noarch.rpm

After installing by any method, register the Claude Code command so Claude Code routes the relevant prompts through crude:

crude install-claude-command