Skip to content

tuist/SwiftTerminal

Repository files navigation

SwiftTerminal ⭐️

Command Line Interfaces (CLIs), though graphically limited due to terminal capabilities, can still benefit significantly from well-designed and consistent aesthetics across various commands. This is a role traditionally filled by design systems in Graphical User Interfaces (GUIs), but it remains largely unexplored in the context of terminals.

Tuist's terminal experiences, for a long time, suffered from the lack of a design system, leading to issues like inconsistent spacing, information overload, and difficult-to-parse outputs. This situation motivated us to create SwiftTerminal, a design system specifically for Swift-powered CLIs.

SwiftTerminal, leveraging SwiftTUI, offers a set of aesthetically pleasing, customizable, and uniform UI components for developing terminal experiences. It encapsulates our extensive experience in crafting the Tuist CLI. We are delighted to share it with the Swift community, aiming to make building terminal experiences an enjoyable process.

Note: that the project is currently in an early stage of development. Our plan is to create a basic set of components and then iterate on them based on the feedback we receive from the community. We'll also have a documentation website that acts as a catalog of components and their usage.

Development

Using Tuist

  1. Clone the repository: git clone https://github.com/tuist/SwiftTerminal.git
  2. Generate the project: tuist generate

Using Swift Package Manager

  1. Clone the repository: git clone https://github.com/tuist/SwiftTerminal.git
  2. Open the Package.swift with Xcode

About

🚀 A set of UI components for building terminal applications in Swift

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published