Table of Contents

Overview

What is pi-cli?

pi-cli is the most flexible cross-platform framework for building modern terminals.

Build enterprise-grade unicode terminals for your company, product, service, or developer tools. We support customers across engineering, manufacturing, semiconductors, technology, hardware, software, automation, digital industries, artificial intelligence, machine learning, finance, media, and creative design.

Start with simple terminal apps with a few flags or build advanced terminals with groups, sub-commands, arguments, and options.

Take your app or service to the command line with Unicode support and build terminals in a user language of your choice.

Craftsmanship

We crafted the pi-cli framework to be cross-platform, modular, deployment agnostic, and fully customizable. .NET provides a rich set of DDD tools and languages. pi-cli directly supports the .NET (traditional), .NET Standard, .NET6+ (.NET Core), and ASP.NET Core. It lets enterprises build ground-up terminals or migrate their existing console apps to terminals. Thus it is the de-facto standard in developing cross-platform terminals for your apps, services, and developer tools in the entire .NET ecosystem.

  • Build and configure your terminal using microservices-based architecture principles, Dependency Injection(DI services), and options pattern.
  • Use default handlers or provide custom implementations to handle terminal UX, command parsing, error handling, command validations, storage, and type checking.
  • Use default console routing, default TCP/IP client-server routing, or define your custom HTTP, Named-Pipes, or gRPC routing.
  • Provide self-hosting implementations for stores and hosts in an environment of your choice, e.g., Windows, Linux, macOS, Docker, Kubernetes, etc.
  • Build deployment agnostic terminals with all dependencies, test them in local environments, and deploy the production terminals on-premise, cloud (public, private, or government), or hybrid.
  • Enable enterprise-grade secured terminal applications for your products and services similar to Github CLI, .NET CLI, Stripe CLI or terminals with custom formats.
  • Collaborate in an open-source environment, troubleshoot issues, and provide your feedback on the features and documentation
  • Use demo license for quick onboarding, testing, and evaluating ready-to-use samples on GitHub. No account is needed.

The framework handles the entire terminal infrastructure, so your focus is building modern terminal apps and services.

In short, if what you want to achieve is doable in the .NET ecosystem, it is possible with pi-cli.

Open Source

Our entire source code is on GitHub. It enables community collaboration, troubleshoot issues, and helps get us your feedback on the features and documentation. It also promotes a better understanding of architecture and design.

See our licenses and pricing.

OS

Our DevOps builds the framework with Github hosted runners for the following OS platform. However, it supports all the additional platforms that .NET supports.

macOS ubuntu windows

Packaging

The licensed libraries can be accessed via Nuget:

Nuget

Repo

The GitHub repo contains the artifacts to build, test and publish the pi-cli source.

repo

Terminal UX

The pi-cli framework does not enforce any specific terminal UX experience because this is always custom to the project. However, we provide you with a hosted service to manage the terminal application lifetime and UX customization.

Classes

Classes and Object browser

Learn to Use

With the pi-cli framework, you don't have to be a microservices or distributed systems expert to build a modern and scalable terminal apps. You create and learn as you go on, and eventually, you become an expert :) similar to an eventually-consistent system. Build terminals for simple use cases, terminals that provides complex commands or options, or terminals that interact with a complex distributed system via protected APIs. We believe in agile development and agile learning. So, pick a learning model that works for you!

I want to explore the samples on GitHub

  • Use our demo license for quick onboarding, evaluation, and testing sample code base on GitHub
  • No account is needed

I want to create my first modern terminal

I want to understand the concepts first

Continue reading, and we will explain all the concepts. We recommend you get familiar with the typical architectural principles first. They enable our framework to be extensible, customizable and remain scalable.

Code Samples and Tutorials

Our ready-to-use templates and sample tutorials will get you started in no time.

Licensing and Pricing

The software license and pricing model is flexible and fits all, whether you are a developer, solo entrepreneur, small-medium business, large enterprise, or a service vendor.

Issues and feature requests

Please report issue or feature request directly on our official github repo.

References