15 repository-uri
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 is a testing framework and verification tool designed for Bash scripts and Unix programs. It serves as a test runner that validates the behavior of command line utilities by verifying exit statuses and command output. The framework functions as a TAP compliant test runner, producing output that follows the Test Anything Protocol for integration with reporting tools and continuous integration pipelines. The tool provides test automation capabilities including isolated test execution in separate subprocesses and lifecycle management via setup and teardown functions. It covers result aggre
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 este o bibliotecă pentru construirea de interfețe CLI interactive în Go. Servește ca un framework UI de consolă cross-platform și manager de input pentru terminal, oferind instrumentele necesare pentru a captura input-ul utilizatorului și a executa comenzi printr-o buclă interactivă persistentă. Biblioteca dispune de un motor dedicat de auto-completare care oferă sugestii de comenzi în timp real. De asemenea, suportă prefixe dinamice de prompt actualizate prin funcții callback și un sistem pentru gestionarea și rechemarea istoricului comenzilor. Framework-ul acoperă o gamă largă de capabilități de terminal, inclusiv maparea scurtăturilor de tastatură, controlul cursorului și gestionarea output-ului terminalului pentru culori și actualizări de ecran. Încorporează un sistem bazat pe trie pentru completarea input-ului și gestionarea textului bazată pe buffer pentru editare în timp real.
Provides a toolkit for building cross-platform interactive terminal user interfaces and prompt systems in Go.
JASONETTE-iOS este un framework de aplicații mobile bazat pe JSON utilizat pentru a construi aplicații iOS folosind markup JSON declarativ. Acesta mapează datele structurate către componente native iOS și metode de sistem, permițând definirea interfețelor de utilizator și a răspunsurilor la evenimente fără a scrie cod imperativ tradițional. Framework-ul include un motor de livrare a logicii la distanță care încarcă structura și comportamentul aplicației prin HTTP. Acest lucru permite actualizări ale interfețelor și ale logicii aplicației "over the air" fără a necesita redistribuirea binarului aplicației. Sistemul gestionează fluxul aplicației prin gestionarea declarativă a stării și o interfață de tip bridge nativ care execută API-urile hardware și de sistem ale dispozitivului. Poate fi utilizat ca instrument de dezvoltare de sine stătător sau ca extensie hibridă pentru a adăuga seturi de funcționalități dinamice proiectelor native iOS existente.
Provides a framework for building native iOS applications with full lifecycle and sensor support using JSON.
Goravel este un scaffold de dezvoltare complet și un framework pentru construirea de aplicații web, API-uri REST și servicii gRPC folosind limbajul de programare Go. Implementează o arhitectură model-view-controller și oferă un set de instrumente cuprinzător pentru servere și clienți de tip remote procedure call (RPC) de înaltă performanță. Framework-ul se distinge prin ecosistemul său integrat extins, care include un ORM (object-relational mapper) fluent pentru gestionarea bazelor de date și un toolkit CLI dedicat pentru automatizarea administrativă și scaffolding-ul proiectelor. Dispune de o abstractizare a serviciilor bazată pe drivere, care permite dezvoltatorilor să schimbe backend-urile de stocare, cache și sesiune fără a altera logica aplicației. Platforma acoperă o suprafață largă de capabilități pentru aplicații, inclusiv procesarea asincronă a sarcinilor cu cozi distribuite, gestionarea securizată a identității prin autentificare bazată pe token-uri și un strat robust de securitate cu criptare și control al accesului. Oferă, de asemenea, instrumente pentru localizarea conținutului, randarea de template-uri și o infrastructură de testare automatizată cu dependency mocking.
Provides a dedicated framework for building structured command-line tools and administrative automation in Go.
Survey este o bibliotecă Go pentru prompt-uri interactive și un toolkit de interfață terminală utilizat pentru a construi interfețe în linie de comandă care colectează date structurate. Acesta oferă un framework pentru randarea meniurilor și formularelor navigabile prin tastatură pe diferite sisteme de operare. Toolkit-ul include componente pentru colectarea confirmării utilizatorului, capturarea intrărilor de text și parolă și prezentarea listelor paginate de opțiuni. Suportă introducerea pe mai multe linii prin integrarea cu editorul de text extern al sistemului și oferă afișaje de ajutor contextual pentru a ghida utilizatorii. Biblioteca implementează logica de validare a intrărilor pentru a se asigura că răspunsurile respectă reguli specifice înainte de a fi procesate. Gestionează abstractizarea terminalului subiacent pentru medii POSIX și Windows, utilizând input în mod raw și randare ANSI pentru a crea o experiență de prompt interactivă.
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 este o bibliotecă de componente de interfață reutilizabile, concepute pentru a afișa datele preluate de la servicii backend la distanță în aplicațiile mobile. Funcționează ca un framework de data binding care conectează înregistrările din baza de date direct la elementele native de interfață, reducând cantitatea de cod boilerplate necesară pentru a construi software bazat pe date. Framework-ul se distinge prin furnizarea de widget-uri pre-construite care se integrează direct cu modelele de date backend, permițând dezvoltatorilor să randeze automat informațiile din bazele de date cloud. Utilizând binding-ul de vizualizare bazat pe model, aceste componente observă modificările în datele subiacente și actualizează interfața în consecință, facilitând prototiparea rapidă a aplicațiilor mobile. Biblioteca susține construcția standard a interfeței prin compunerea controalelor native ale platformei, asigurând un aspect consistent pe toate dispozitivele. Gestionează regăsirea datelor prin operațiuni de fundal și modele de încărcare incrementală pentru a menține responsivitatea interfeței și a optimiza utilizarea memoriei în timpul afișării conținutului la distanță.
Connects remote database records directly to native interface elements to reduce boilerplate code.