@pdekruif The github repo 404s. Perhaps it's private?
I've built an inspector feature (among other things) for plain SSR web development with ring/hiccup. This code is published and described (on request, @neumann et al), you can find details here https://mapidentity.github.io/parens-to-production/11-inspector.html and the repo here https://github.com/mapidentity/parens-to-production in an effort to collect useful knowledge (original intent personal use). Disclaimer: very rough state, mechanical hamsters 🤖🐹 heavily involved. Feedback welcomed.
Sorry bad link, should be fixed now.
io.github.hlship/cli-tools 1.0.0
https://github.com/hlship/cli-tools
cli-tools is a complement to Babashka used to create tools with sub-commands, much like Babashka tasks.
It is effectively a layer on top of org.clojure/tools.cli.
BREAKING CHANGES (since 0.15.1)
• JDK 17 is now required when using Clojure
• Groups are now defined in the options passed to net.lewisship.cli-tools/dispatch, not in
namespace metadata
• Command names are matched as prefixes (not substrings)
• The tool's documentation must now be specified in top-level :doc option key (not from namespace meta-data)
• net.lewisship.cli-tools:
◦ In a defcommand:
▪︎ The :summary key has been renamed to :title
▪︎ The :as keyword is no longer supported
◦ abort has been stripped down, it no longer writes the tool name, command path, etc.
◦ The two-arg variant of print-errors has been removed
◦ dispatch* has been removed
◦ expand-dispatch-options has been removed
• When an arg is ambiguous during dispatch, the error text now says "could match" and uses "or" as the conjunction, e.g. "ex could match exhume or extract"
• Tool and command help is now printed to *out*, not *err*
• The builtin help command now as an option, -c / --commands, that can be one of none, root, or all, and the --flat switch was removed
• Dependencies no longer include those provided by Babashka itself, reverting the change in 0.15.1; new documentation identifies what to add back in
• The :in-order key in a command interface results in parsing with option :subcommand :implicit; previously it was
(equivalent to) :subcommand :explicit.
Changes (since 0.15.1)
• Groups may now be nested, to arbitrary depth
• You may now enter -h or --help after a group to get help for just that group
• Tool help output has been reordered, with top-level tool commands first (previously, those were in a "Builtin" group and listed last)
• Tool help now displays just root-level commands and groups by default (add --commands all to list nested commands)
• When extracting the first sentence as the single-line title, embedded periods are no longer considered the end of the sentence
• net.lewisship.cli-tools:
◦ Added function tool-name
◦ Added function command-root
◦ Added function read-password
◦ New command-path function returns a composed string of the tool name and command path (useful for error messages)
◦ dispatch function has new options:
▪︎ :extra-tool-options - vector of additional tool options to prefix the default
▪︎ :tool-options-handler - callback function for handling extra tool options
▪︎ :transformer - a function to add additional commands and groups after namespaces are loaded
▪︎ :source-dirs - specifies extra directories to consider when caching
▪︎ :pre-dispatch - callback function invoked before dispatch
▪︎ :pre-invoke - callback function invoked before the dispatched command function is invoked
◦ Can now handle the case where a command has the same name as a group
• Cache files are now stored in ~/.cache/net.lewisship.cli-tools by default
• Added initial support for commands defined as Babashka CLI functions
• Added net.lewisship.cli-tools.test namespace
• Added net.lewisship.cli-tools.styles namespace
• When a :version dispatch option is provided, a --version (or -V) tool option is added that prints the version and exits
• Command interface option :in-order has been deprecated and replaced with :pass-through
https://github.com/hlship/cli-tools/milestone/9?closed=1
🎉 Released kontor 0.1.2 to Clojars — a double-entry accounting kernel on #CB7GJAN0L.
Postings, balances, periods, sealing, audit, tax — all queryable as Datalog in the same connection as your business state. Statute-as-data tax substrate covers 11 jurisdictions (CIT / PIT / CGT) matching authority worked examples to the cent; 11 payroll adapters; bank-CSV importers; e-invoicing for DE (Factur-X / XRechnung).
We use it ourselves — for our own business work, and as the accounting layer for http://simm.is, where the books are part of the business simulation. The engineering is real (~3,000 tests, bitemporal end-to-end) but hasn't been pounded by anyone else's workload yet.
If you're building a business app in Clojure that needs accounting underneath — try it. The fastest way to get on the same page is here in Slack in the #C09622F337D channel, ping us with what you're trying to do, what worked, what didn't. We'll try to address requirements and features you need to our abilities.
Repo: https://github.com/replikativ/kontor
Clojars: https://clojars.org/org.replikativ/kontor
It is out https://github.com/replikativ/dvergr/, feedback very welcome.