Initial commit: clients resource scaffold over invoiceninja-sdk

A command-line client for the Invoice Ninja v5 API, built on the
invoiceninja-sdk crate (consumed from crates.io, 0.2.0). Only the
clients resource is wired up so far, as the template the rest follow
- see CLAUDE.md and GOALS.md for the reasoning behind the shape of
things (the update fetch-merge-write pattern, why there's no Cargo
workspace with the SDK, the local-checkout override for
co-development, and the Nix flake packaging via packages.default and
overlays.default).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-10-26 11:47:15 -04:00
co-authored by Claude Sonnet 5
commit dde10e522a
18 changed files with 2308 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
# Copy this file to `.cargo/config.toml` (gitignored, so this stays
# per-developer) to build against a local `../invoiceninjars-sdk` checkout
# instead of the published crates.io release of `invoiceninja-sdk`. Useful
# for testing an SDK change here before it's published.
#
# Cargo's `paths` override requires the local checkout's `[package] version`
# in its Cargo.toml to match the version requirement in this crate's
# Cargo.toml (currently "0.2.0") — if you bump the SDK's version locally
# while working on the next release, this override stops matching until
# this crate's `Cargo.toml` is bumped to match (or the SDK version is reset).
#
# Delete `.cargo/config.toml` (or just this line) to go back to the
# published version.
paths = ["../invoiceninjars-sdk"]