{"id":20639261,"url":"https://github.com/marianogappa/truco","last_synced_at":"2026-05-03T05:33:02.499Z","repository":{"id":245737224,"uuid":"816989742","full_name":"marianogappa/truco","owner":"marianogappa","description":"Truco argentino implementation","archived":false,"fork":false,"pushed_at":"2024-08-12T19:17:18.000Z","size":201,"stargazers_count":2,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-09T21:45:41.439Z","etag":null,"topics":["card-game","gh-pages","golang","react","truco","truco-argentino","webassembly","websocket"],"latest_commit_sha":null,"homepage":"https://marianogappa.github.io/truco-argentino/","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/marianogappa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-18T19:41:08.000Z","updated_at":"2025-06-30T05:10:44.000Z","dependencies_parsed_at":"2024-08-10T14:25:06.517Z","dependency_job_id":"f2445cf2-e716-4f7b-90f6-fee8a1f8cd30","html_url":"https://github.com/marianogappa/truco","commit_stats":null,"previous_names":["marianogappa/truco"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/marianogappa/truco","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marianogappa%2Ftruco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marianogappa%2Ftruco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marianogappa%2Ftruco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marianogappa%2Ftruco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marianogappa","download_url":"https://codeload.github.com/marianogappa/truco/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marianogappa%2Ftruco/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32559715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T03:21:47.309Z","status":"ssl_error","status_checked_at":"2026-05-03T03:21:43.884Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["card-game","gh-pages","golang","react","truco","truco-argentino","webassembly","websocket"],"created_at":"2024-11-16T15:23:09.976Z","updated_at":"2026-05-03T05:33:02.485Z","avatar_url":"https://github.com/marianogappa.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Truco\n\nhttps://marianogappa.github.io/truco-argentino/\n\nTruco argentino implementation, featuring:\n\n- [websocket-based client/server architecture](https://github.com/marianogappa/truco/tree/main/server)\n- [example terminal-based frontend](https://github.com/marianogappa/truco/blob/main/exampleclient/websocket_client.go)\n- [example React-based frontend](https://github.com/marianogappa/truco-argentino), and a simple, [documented](https://github.com/marianogappa/truco/blob/main/CONTRIBUTING.md#making-your-own-frontend) interface for making your own frontend\n- [example bot](https://github.com/marianogappa/truco/blob/main/examplebot/newbot/bot.go), and a simple, [documented](https://github.com/marianogappa/truco/blob/main/CONTRIBUTING.md#making-your-own-bot) interface for making your own\n\n![game](https://github.com/user-attachments/assets/c85b7a6d-a6c9-4556-a1ac-da74150478e6)\n\n\n\n\u003cimg width=\"1512\" alt=\"Screenshot 2024-06-23 at 19 26 11\" src=\"https://github.com/marianogappa/truco/assets/1078546/881e7204-f1a6-4de2-a0b5-60faa43b4fac\"\u003e\n\n### Installation\n\nEither install using Go\n\n```bash\n$ go install https://github.com/marianogappa/truco@latest\n```\n\nOr download the [latest release binary](https://github.com/marianogappa/truco/releases) for your OS.\n\n### Usage\n\nStart a server\n\n```bash\n$ truco server\n```\n\nYou may change the port (default is 8080) via environment variable\n\n```bash\n$ PORT=1234 truco server\n```\n\nIf you want to play via example terminal-based frontend, start two clients on separate terminals\n\n```bash\n$ truco player 1\n```\n\n```bash\n$ truco player 2\n```\n\n### Playing with someone else over the Internet\n\nWhoever starts the server may expose it to the Internet somehow, e.g. via `cloudflared` tunnels\n\n```bash\n$ cloudflared tunnel --url localhost:8080\n```\n\nThen, the clients can connect to the address the tunnel provides, e.g. if tunnel says\n\n```bash\n...\n2024-06-23T18:35:10Z INF +--------------------------------------------------------------------------------------------+\n2024-06-23T18:35:10Z INF |  Your quick Tunnel has been created! Visit it at (it may take some time to be reachable):  |\n2024-06-23T18:35:10Z INF |  https://retail-curves-bernard-affairs.trycloudflare.com                                   |\n2024-06-23T18:35:10Z INF +--------------------------------------------------------------------------------------------+\n```\n\nStart the clients with\n\n```bash\n$ truco player 1 retail-curves-bernard-affairs.trycloudflare.com\n```\n\n```bash\n$ truco player 2 retail-curves-bernard-affairs.trycloudflare.com\n```\n\n### Reconnect after issue\n\nIf the server dies, state is gone. If client dies, you can simply reconnect to the same server and game goes on.\n\n### I don't like your UI\n\nIt's just an example UI. I encourage you to [implement your own frontend](https://github.com/marianogappa/truco/blob/main/CONTRIBUTING.md#making-your-own-frontend). You may [browse the documentation](https://github.com/marianogappa/truco/blob/main/CONTRIBUTING.md) and the [existing React-based UI code](https://github.com/marianogappa/truco-argentino) and [terminal UI code](https://github.com/marianogappa/truco/blob/main/exampleclient/ui.go) to guide your implementation.\n\n### I don't like your Bot\n\nIt's just an example bot, which beats me. I encourage you to [implement your own bot](https://github.com/marianogappa/truco/blob/main/CONTRIBUTING.md#making-your-own-bot). You may [browse the documentation](https://github.com/marianogappa/truco/blob/main/CONTRIBUTING.md) and the [existing bot code](https://github.com/marianogappa/truco/blob/main/examplebot/newbot/bot.go) to guide your implementation.\n\n## Technology stack\n\n- This truco engine is written 100% in Go\n- Terminal-based UI uses [Termbox](https://github.com/nsf/termbox-go)\n- React-based UI uses [TinyGo](https://tinygo.org/) with WASM target to transpile to WebAssembly, and the frontend itself is built in React\n\n### Known issues / limitations\n\n- Don't resize your terminal. This is a go-termbox issue. Also, have a terminal with a decent viewport. That is on me mostly.\n\n### Issues / Improvements\n\nPlease do [create issues](https://github.com/marianogappa/truco/issues) and send PRs. Also feel free to reach me for comments / discussions. I'm not hard to find.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarianogappa%2Ftruco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarianogappa%2Ftruco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarianogappa%2Ftruco/lists"}