15 Repos
Frameworks for building structured command-line applications using the Go programming language.
Distinct from Go CLI Frameworks: The candidates were mostly awesome-lists or unrelated Go libraries; a dedicated framework category under development tools is needed.
Explore 15 awesome GitHub repositories matching development tools & productivity · Go CLI Frameworks. Refine with filters or upvote what's useful.
This is a framework for building structured terminal applications in Go. It provides the core components necessary to define a command-line interface, including a system for managing commands, sub-commands, and their associated flags. The library distinguishes itself through an automated help generator that produces formatted usage instructions and manual pages, and a shell completion generator that creates tab-completion scripts for Bash, Zsh, Fish, and PowerShell. It also features a command lifecycle manager to handle pre- and post-execution logic and process exit codes. The toolkit covers
Provides a complete framework for building structured terminal applications with commands and flags in Go.
Ginkgo is a behavior-driven development testing framework, assertion library, and test runner for Go. It provides a domain-specific language for writing human-readable specifications, organizing tests into hierarchical containers and subjects to describe system behavior. The project distinguishes itself through advanced execution control and observability, featuring a test runner capable of parallel distribution, sharding, and randomized execution order to detect flaky tests. It includes specialized diagnostic tools for goroutine leak detection, hanging spec monitoring, and failure state debu
Implements a hierarchical BDD testing framework specifically for the Go ecosystem.
TechEmpower FrameworkBenchmarks is an open-source project that provides a standardized, reproducible suite for measuring and comparing the performance of web frameworks across many languages. At its core, it defines a set of common server-side tasks—such as JSON serialization, database queries, and server-side template rendering—and executes them uniformly against hundreds of framework implementations to produce comparable throughput and latency metrics. The project is built around a multi-language benchmark harness that automates the full test lifecycle, from dependency installation and serve
Generates file structure and configuration interactively to set up new framework tests.
BATS ist ein Testframework und Verifizierungstool für Bash-Skripte und Unix-Programme. Es dient als Test-Runner, der das Verhalten von Kommandozeilen-Dienstprogrammen durch die Überprüfung von Exit-Status und Befehlsausgaben validiert. Das Framework fungiert als TAP-konformer Test-Runner, dessen Ausgabe dem Test Anything Protocol folgt, um die Integration mit Reporting-Tools und CI/CD-Pipelines zu ermöglichen. Das Tool bietet Funktionen zur Testautomatisierung, einschließlich isolierter Testausführung in separaten Subprozessen und Lebenszyklusverwaltung über Setup- und Teardown-Funktionen. Es deckt die Ergebnisaggregation über Verzeichnisse hinweg, das Erfassen von Befehlsausgaben und das Sourcing gemeinsamer Test-Helper ab. Syntax-Highlighting-Regeln für Testdateien werden bereitgestellt, um die Lesbarkeit und Wartung des Codes in Texteditoren zu unterstützen.
Provides a framework for writing and running tests for Bash scripts using simple syntax for exit statuses and output.
This project is a Go shell scripting library and framework designed for writing automation scripts and CLI tools. It provides a concurrent data pipeline system for chaining sources, filters, and sinks to process text and JSON streams. The library distinguishes itself through a comprehensive toolkit for shell-like operations, including a text processing engine for regular expression filtering and frequency analysis, a filesystem utility toolkit for recursive search and path manipulation, and an integrated HTTP client wrapper for building data pipelines that fetch web content. The capability s
Provides a comprehensive framework for building structured command-line utilities in Go that process text streams.
Promptui is a Go library for building interactive command-line prompts, providing components for collecting text input with validation, presenting scrollable selection lists, and enabling dynamic addition of list items. It serves as a toolkit for creating terminal user interfaces where users can navigate menus, search options, and enter text with live validation and masking. The library implements interactive prompts through a synchronous blocking I/O model combined with ANSI cursor control and terminal-event-driven rendering, allowing for real-time UI updates. Its template-driven output form
Provides a toolkit for creating terminal user interfaces with selectable lists, text input, and validation in Go applications.
The Go Mobile project is a framework and toolchain that enables Go developers to build native mobile applications for Android and iOS entirely in Go, or to compile Go packages into shared libraries that can be called from existing native mobile apps. It provides a complete set of libraries for handling mobile app lifecycle events, rendering 2D and 3D graphics through OpenGL ES, accessing device sensors like accelerometers and gyroscopes, processing touch and keyboard input, playing audio via OpenAL Soft, and reading bundled application assets. The project distinguishes itself by offering two
Compiles Go code into native Android and iOS applications with full lifecycle, input, and sensor support.
PakePlus-Android is a tool that converts any public webpage or static frontend project into a native desktop or mobile application. It wraps web content inside a configurable WebView shell, enabling the creation of cross-platform apps for Windows, Mac, Linux, Android, and iOS from a single source. The project distinguishes itself by automating the entire packaging and compilation pipeline through GitHub Actions, requiring no local development environment or dependencies. Users configure the app name, icon, window behavior, and platform-specific settings through a guided interface or configura
Packages web content into native Android and iOS applications without requiring local development tools.
go-prompt ist eine Bibliothek zum Erstellen interaktiver CLI-Anwendungen in Go. Sie dient als plattformübergreifendes Konsolen-UI-Framework und Terminal-Input-Manager und bietet die notwendigen Werkzeuge, um Benutzereingaben zu erfassen und Befehle über eine persistente interaktive Schleife auszuführen. Die Bibliothek verfügt über eine dedizierte Auto-Completion-Engine, die Befehlsvorschläge in Echtzeit liefert. Sie unterstützt zudem dynamische Prompt-Präfixe, die über Callback-Funktionen aktualisiert werden, sowie ein System zur Verwaltung und zum Abruf der Befehlshistorie. Das Framework deckt ein breites Spektrum an Terminal-Funktionen ab, darunter das Mapping von Tastenkürzeln, Cursor-Steuerung und Terminal-Output-Management für Textfarben und Bildschirmaktualisierungen. Es integriert ein Trie-basiertes System für die Eingabevervollständigung und ein Puffer-basiertes Textmanagement für die Echtzeit-Bearbeitung.
Provides a toolkit for building cross-platform interactive terminal user interfaces and prompt systems in Go.
JASONETTE-iOS ist ein JSON-gesteuertes Mobile-App-Framework, das verwendet wird, um iOS-Anwendungen mittels deklarativem JSON-Markup zu erstellen. Es bildet strukturierte Daten auf native iOS-Komponenten und Systemmethoden ab, was die Definition von Benutzeroberflächen und Ereignisreaktionen ermöglicht, ohne traditionellen imperativen Code schreiben zu müssen. Das Framework enthält eine Engine für die Remote-Logik-Bereitstellung, die Anwendungsstruktur und -verhalten via HTTP lädt. Dies ermöglicht Updates von Schnittstellen und Anwendungslogik „over the air“, ohne dass eine Neuverteilung des App-Binärprogramms erforderlich ist. Das System verwaltet den Anwendungsfluss durch deklaratives State-Management und eine native Bridge-Schnittstelle, die Gerätehardware und System-APIs ausführt. Es kann als eigenständiges Entwicklungstool oder als hybride Erweiterung verwendet werden, um bestehenden nativen iOS-Projekten dynamische Funktionssätze hinzuzufügen.
Provides a framework for building native iOS applications with full lifecycle and sensor support using JSON.
Goravel ist ein voll ausgestattetes Entwicklungs-Scaffold und Framework für die Erstellung von Webanwendungen, REST-APIs und gRPC-Diensten mit der Programmiersprache Go. Es implementiert eine Model-View-Controller-Architektur und bietet ein umfassendes Toolkit für leistungsstarke RPC-Server und -Clients. Das Framework zeichnet sich durch sein umfangreiches integriertes Ökosystem aus, das einen flüssigen Object-Relational-Mapper (ORM) für die Datenbankverwaltung und ein dediziertes CLI-Toolkit für administrative Automatisierung und Projekt-Scaffolding umfasst. Es verfügt über eine treiberbasierte Dienstabstraktion, die es Entwicklern ermöglicht, Speicher-, Cache- und Session-Backends auszutauschen, ohne die Anwendungslogik zu ändern. Die Plattform deckt ein breites Spektrum an Anwendungsfunktionen ab, darunter asynchrone Aufgabenverarbeitung mit verteilten Queues, sicheres Identitätsmanagement mittels tokenbasierter Authentifizierung sowie eine robuste Sicherheitsschicht mit Verschlüsselung und Zugriffskontrolle. Sie bietet zudem Tools für Content-Lokalisierung, Template-Rendering und eine automatisierte Testinfrastruktur mit Dependency-Mocking.
Provides a dedicated framework for building structured command-line tools and administrative automation in Go.
Survey ist eine Go-Bibliothek für interaktive Prompts und ein Terminal-UI-Toolkit zum Erstellen von Kommandozeilenschnittstellen, die strukturierte Daten erfassen. Es bietet ein Framework zum Rendern von tastaturnavigierbaren Menüs und Formularen über verschiedene Betriebssysteme hinweg. Das Toolkit enthält Komponenten zum Einholen von Nutzerbestätigungen, zum Erfassen von Text- und Passworteingaben sowie zur Darstellung paginierter Auswahllisten. Es unterstützt mehrzeilige Eingaben durch Integration mit dem externen Texteditor des Systems und bietet kontextbezogene Hilfeanzeigen zur Nutzerführung. Die Bibliothek implementiert Logik zur Eingabevalidierung, um sicherzustellen, dass Antworten spezifischen Regeln entsprechen, bevor sie verarbeitet werden. Sie übernimmt die zugrunde liegende Terminal-Abstraktion für POSIX- und Windows-Umgebungen und nutzt Raw-Mode-Eingaben sowie ANSI-Rendering für ein interaktives Prompting-Erlebnis.
A comprehensive Go toolkit for building interactive TUIs with selectable lists, text input, and validation.
Kong is a declarative command line interface framework and parser for Go. It maps flags and positional arguments directly into typed Go structures using struct tags, allowing developers to define terminal interfaces through data models rather than manual parsing logic. The project functions as a configuration mapper that populates Go structures from a combination of command-line arguments, environment variables, and JSON files. It distinguishes itself by providing a dependency injection container to pass external services into command handlers and a plugin architecture for dynamic command reg
Provides a Go-specific framework for mapping flags and arguments directly into typed Go structures.
FastDev4Android is an all-in-one development framework for building Android applications. It accelerates app creation by integrating networking, data parsing, dependency injection, image loading, and UI components into a single workflow, bundling these capabilities to speed up mobile app development. The framework provides annotation-driven dependency injection that automatically wires components, views, event handlers, and threading into Android components at compile time. It implements the Model-View-Presenter (MVP) pattern to separate data, UI, and business logic into distinct layers for i
Integrates networking, data parsing, dependency injection, image loading, and UI components into a single development workflow.
ParseUI-iOS ist eine Bibliothek wiederverwendbarer Interface-Komponenten für die Anzeige von Daten, die aus Remote-Backend-Diensten in mobilen Anwendungen abgerufen werden. Sie fungiert als Data-Binding-Framework, das Datenbankdatensätze direkt mit nativen Interface-Elementen verbindet und so den Boilerplate-Code reduziert, der für den Aufbau datengesteuerter Software erforderlich ist. Das Framework zeichnet sich durch vorgefertigte Widgets aus, die direkt in Backend-Datenmodelle integriert werden, wodurch Entwickler Informationen aus Cloud-Datenbanken automatisch rendern können. Durch die Nutzung von modellgesteuertem View-Binding beobachten diese Komponenten Änderungen in den zugrunde liegenden Daten und aktualisieren die Oberfläche entsprechend, was das Rapid Prototyping mobiler Anwendungen erleichtert. Die Bibliothek unterstützt die Standard-Interface-Konstruktion durch die Komposition nativer Plattform-Controls und stellt so ein konsistentes Erscheinungsbild über Geräte hinweg sicher. Sie verwaltet den Datenabruf durch Hintergrundoperationen und inkrementelle Lademuster, um die Reaktionsfähigkeit der Oberfläche zu erhalten und den Speicherverbrauch bei der Anzeige von Remote-Inhalten zu optimieren.
Connects remote database records directly to native interface elements to reduce boilerplate code.