Leanpub Header

Skip to main content

Nasdanika SDK Runtime - Declarative Command Lines

Command Lines That Assemble Themselves from Java Modules with Picocli

Nasdanika SDK Runtime - Declarative Command Lines
This book is 100% completeLast updated on 2026-11-10

Command lines that assemble themselves from the modules present: picocli commands that find their parents and sub-commands by the generic types they declare.

Minimum price

Free!

$9.00

You pay

Author earns

$

Also available for 1 book credit with a Reader Membership

PDF
EPUB
About

About

About the Book

A command line tool usually knows all of its commands. The main class lists them, and adding a command means changing the tool. That is right for a tool with one purpose and one team. A platform is different: its capabilities come from modules written by different people and released at different times, and its command line should be the sum of the modules it runs with.

This book describes the cli module of the Nasdanika SDK Runtime, which builds a picocli command tree from whatever modules are on the module path. Nothing lists all the commands. Add a module and its commands appear; remove it and they are gone, with no other change.

Placed by type

The harder question is where each command goes. A command that saves a model needs a parent that can give it model objects; it does not care whether they come from a file, a Draw.io diagram or a database. So it says so, with generic types, and the runtime places it under every parent that can provide what it needs, before anything runs. Supplier<String> and Supplier<EObject> are one class at run time, but here they are two different contracts, matched the way the Java compiler matches them.

  • Commands and factories contributed as capabilities, through the module descriptor.
  • Wiring by type: what a command needs from its parent, what it asks for lazily, and what it accepts as sub-commands.
  • Mix-ins contributed and matched by type, and overriding commands by subclassing or by declaration.
  • The runtime's own commands, shell, distributions and launcher.

Commands placed by what they need form pipelines that read as sentences: load a diagram, turn it into a model, generate a site, each word from a module that knows nothing of the others. The last part shows the pipelines being rebuilt on this foundation.

Built on picocli, not beside it

picocli does argument parsing, help and completion superbly, and the runtime does not redo any of it. Commands are written with picocli's annotations; what this module adds is assembly by type.

Who it is for

  • Java developers who build command line tools that grow by modules.
  • Developers contributing commands to a modular platform.
  • Architects who want a command line as the first user interface of a platform, for people, build pipelines and AI agents. The first part needs no code.

How it keeps you honest

Every listing is included from the module's sources or tests and runs when the book is built. Status labels mark what is PLANNED and what is a SKETCH.

This is a Nasdanika Zephyr Book, an in-depth manual for one module of the Nasdanika SDK Runtime, and it stands on its own. The code needs Java 25, and some familiarity with picocli helps. The text is licensed under CC BY 4.0 and the code under EPL-2.0.

Author

About the Author

Pavel Vlasov

Over 30 years of experience in Information Technology with 25 of them in the Financial Services industry, which includes 20 years in banking.

Model-Based Systems Engineering, Java, Architecture As Code

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub