{"id":13471737,"url":"https://github.com/tj/go-tea","last_synced_at":"2025-04-07T11:10:36.113Z","repository":{"id":57753609,"uuid":"211865048","full_name":"tj/go-tea","owner":"tj","description":"Tea provides an Elm inspired functional framework for interactive command-line programs.","archived":false,"fork":false,"pushed_at":"2020-08-04T11:23:08.000Z","size":47,"stargazers_count":378,"open_issues_count":5,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T10:05:28.447Z","etag":null,"topics":["cli","command-line","elm","functional","go","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tj.png","metadata":{"files":{"readme":"Readme.md","changelog":"History.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"tj"}},"created_at":"2019-09-30T13:22:19.000Z","updated_at":"2024-12-05T12:00:08.000Z","dependencies_parsed_at":"2022-08-22T20:20:30.327Z","dependency_job_id":null,"html_url":"https://github.com/tj/go-tea","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj%2Fgo-tea","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj%2Fgo-tea/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj%2Fgo-tea/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj%2Fgo-tea/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tj","download_url":"https://codeload.github.com/tj/go-tea/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247640465,"owners_count":20971557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","command-line","elm","functional","go","golang"],"created_at":"2024-07-31T16:00:48.838Z","updated_at":"2025-04-07T11:10:36.094Z","avatar_url":"https://github.com/tj.png","language":"Go","funding_links":["https://github.com/sponsors/tj"],"categories":["Go","cli"],"sub_categories":[],"readme":"# Tea\n\n Tea provides an Elm inspired functional framework for interactive command-line programs. Works great for inline and full-screen interactivity.\n \n## Examples\n\nSee the [examples](./examples) directory.\n\n---\n\n[![GoDoc](https://godoc.org/github.com/tj/go-tea?status.svg)](https://godoc.org/github.com/tj/go-tea)\n![](https://img.shields.io/badge/license-MIT-blue.svg)\n![](https://img.shields.io/badge/status-experimental-orange.svg)\n\n## Sponsors\n\nThis project is sponsored by [CTO.ai](https://cto.ai/), making it easy for development teams to create and share workflow automations without leaving the command line.\n\n[![](https://apex-software.imgix.net/github/sponsors/cto.png)](https://cto.ai/)\n\nAnd my [GitHub sponsors](https://github.com/sponsors/tj):\n\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/0\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/0)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/1\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/1)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/2\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/2)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/3\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/3)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/4\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/4)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/5\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/5)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/6\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/6)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/7\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/7)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/8\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/8)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/9\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/9)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/10\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/10)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/11\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/11)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/12\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/12)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/13\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/13)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/14\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/14)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/15\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/15)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/16\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/16)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/17\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/17)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/18\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/18)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/19\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/19)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/20\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/20)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/21\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/21)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/22\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/22)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/23\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/23)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/24\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/24)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/25\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/25)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/26\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/26)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/27\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/27)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/28\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/28)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/29\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/29)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/30\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/30)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/31\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/31)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/32\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/32)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/33\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/33)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/34\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/34)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/35\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/35)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/36\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/36)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/37\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/37)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/38\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/38)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/39\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/39)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/40\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/40)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/41\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/41)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/42\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/42)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/43\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/43)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/44\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/44)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/45\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/45)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/46\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/46)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/47\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/47)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/48\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/48)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/49\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/49)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/50\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/50)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/51\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/51)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/52\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/52)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/53\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/53)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/54\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/54)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/55\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/55)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/56\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/56)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/57\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/57)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/58\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/58)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/59\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/59)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/60\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/60)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/61\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/61)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/62\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/62)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/63\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/63)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/64\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/64)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/65\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/65)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/66\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/66)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/67\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/67)\n[\u003cimg src=\"https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/68\" width=\"35\"\u003e](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/68)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftj%2Fgo-tea","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftj%2Fgo-tea","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftj%2Fgo-tea/lists"}