[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"workflow-asset-8faae6f2":3,"seo:featured-workflow:8faae6f2-4ee7-11f1-9bc6-00163e2b0d79:fr":85,"workflow-related-asset-8faae6f2-8faae6f2-4ee7-11f1-9bc6-00163e2b0d79":86},{"id":4,"uuid":5,"slug":6,"title":7,"description":8,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":14,"parent_id":12,"parent_uuid":13,"lang_type":15,"steps":16,"tags":23,"has_voted":29,"visibility":19,"share_token":13,"is_featured":12,"content_hash":30,"asset_kind":31,"target_tools":32,"install_mode":36,"entrypoint":20,"risk_profile":37,"dependencies":39,"verification":44,"agent_metadata":47,"agent_fit":60,"trust":72,"provenance":81,"created_at":83,"updated_at":84},3653,"8faae6f2-4ee7-11f1-9bc6-00163e2b0d79","asset-8faae6f2","Wish — Build SSH Apps in Go with Charm","A Go library from Charm that lets you build SSH-accessible applications with Bubble Tea TUIs, middleware, and access control out of the box.","8a911193-3180-11f1-9bc6-00163e2b0d79","AI Open Source","https:\u002F\u002Ftokrepo.com\u002Fapple-touch-icon.png",0,"",2,"en",[17],{"id":18,"step_order":19,"title":20,"description":13,"prompt_template":21,"variables":13,"depends_on":22,"expected_output":13},4226,1,"Wish Overview","# Wish — Build SSH Apps in Go with Charm\n\n## Quick Use\n```bash\ngo get github.com\u002Fcharmbracelet\u002Fwish\n```\n```go\ns, _ := wish.NewServer(\n    wish.WithAddress(\":2222\"),\n    wish.WithHostKeyPath(\".ssh\u002Fhost_key\"),\n    wish.WithMiddleware(bubbletea.Middleware(teaHandler)),\n)\ns.ListenAndServe()\n```\n\n## Introduction\nWish is a Go library from Charm for building SSH servers that host interactive applications. Instead of serving web pages, you serve terminal user interfaces over SSH. Users connect with any standard SSH client and get a full Bubble Tea TUI, Git server, or custom interactive experience without installing anything on their machine.\n\n## What Wish Does\n- Creates SSH servers in Go with minimal boilerplate and sensible defaults\n- Serves Bubble Tea TUI applications directly to any SSH client\n- Provides a middleware stack for authentication, logging, and access control\n- Supports SCP and SFTP subsystems for file transfers alongside interactive sessions\n- Handles host key management, client key authentication, and password auth\n\n## Architecture Overview\nWish wraps the Go crypto\u002Fssh library in a higher-level API inspired by HTTP middleware patterns. An SSH server is configured with a chain of middleware functions that process each incoming session. The Bubble Tea middleware adapts any Bubble Tea program into an SSH-served application by connecting the SSH channel to the TUI input and output. The library manages PTY allocation, window resize events, and session lifecycle.\n\n## Self-Hosting & Configuration\n- Add Wish to your Go module and create a server with host key and address options\n- Write a Bubble Tea program and wrap it with the bubbletea.Middleware adapter\n- Add authentication middleware to restrict access by SSH key or password\n- Deploy as a single binary on any server with an open SSH port\n- Use the ActiveTerminal middleware to detect terminal capabilities and adapt the UI\n\n## Key Features\n- Ship interactive CLI apps that users access via ssh without installing anything locally\n- Middleware pattern lets you compose auth, logging, rate limiting, and custom logic\n- Built-in Git server middleware for hosting repositories over SSH\n- Automatic PTY handling and terminal resize propagation to Bubble Tea programs\n- Works with standard SSH clients on every platform (OpenSSH, PuTTY, Windows Terminal)\n\n## Comparison with Similar Tools\n- **OpenSSH** — the standard SSH server for remote shell access, not designed for custom TUI applications\n- **Teleport** — enterprise SSH access management platform, not a library for building SSH apps\n- **Soft Serve** — a Git server built with Wish, demonstrating the library in action\n- **Gliderlabs SSH** — lower-level Go SSH server library without the middleware and Bubble Tea integration\n\n## FAQ\n**Q: Do users need to install anything to use a Wish app?**\nA: No. Users connect with any SSH client they already have. The application runs entirely on the server.\n\n**Q: Can I serve multiple applications on one SSH server?**\nA: Yes. Use middleware routing to direct users to different Bubble Tea programs based on the SSH command or username.\n\n**Q: How does authentication work?**\nA: Wish supports public key authentication, password authentication, and keyboard-interactive auth. You can implement custom logic in middleware.\n\n**Q: Is Wish production-ready?**\nA: Yes. Charm uses it in production for services like Soft Serve (Git hosting) and charm.sh cloud. The library handles concurrent sessions and connection management.\n\n## Sources\n- https:\u002F\u002Fgithub.com\u002Fcharmbracelet\u002Fwish\n- https:\u002F\u002Fcharm.sh","0",[24],{"id":25,"name":26,"slug":27,"icon":28},12,"Configs","config","⚙️",false,"78b865876af9fbcab892d9bd1f278b2eb76d62ef2a66bd781a2de4e8898af9cd","skill",[33,34,35],"claude_code","codex","gemini_cli","single",{"executes_code":29,"modifies_global_config":29,"requires_secrets":38,"uses_absolute_paths":29,"network_access":29},[],{"npm":40,"pip":41,"brew":42,"system":43},[],[],[],[],{"commands":45,"expected_files":46},[],[20],{"asset_kind":31,"target_tools":48,"install_mode":36,"entrypoint":20,"risk_profile":49,"dependencies":51,"content_hash":30,"verification":56,"inferred":59},[33,34,35],{"executes_code":29,"modifies_global_config":29,"requires_secrets":50,"uses_absolute_paths":29,"network_access":29},[],{"npm":52,"pip":53,"brew":54,"system":55},[],[],[],[],{"commands":57,"expected_files":58},[],[20],true,{"target":34,"score":61,"status":62,"policy":63,"why":64,"asset_kind":31,"install_mode":36},98,"native","allow",[65,66,67,68,69,70,71],"target_tools includes codex","asset_kind skill","install_mode single","markdown-only","policy allow","safe markdown-only Codex install","trust established",{"author_trust_level":73,"verified_publisher":29,"asset_signed_hash":30,"signature_status":74,"install_count":12,"report_count":12,"dangerous_capability_badges":75,"review_status":76,"signals":77},"established","hash_only",[],"unreviewed",[78,79,80],"author has published assets","content hash available","no dangerous capability badges",{"owner_uuid":9,"owner_name":10,"source_url":82,"content_hash":30,"visibility":19,"created_at":83,"updated_at":84},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fasset-8faae6f2","2026-05-14 00:19:47","2026-05-14 05:48:40",null,[87,145,192,245],{"id":88,"uuid":89,"slug":90,"title":91,"description":92,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":93,"parent_id":12,"parent_uuid":13,"lang_type":15,"steps":94,"tags":95,"has_voted":29,"visibility":19,"share_token":13,"is_featured":12,"content_hash":97,"asset_kind":31,"target_tools":98,"install_mode":36,"entrypoint":99,"risk_profile":100,"dependencies":102,"verification":107,"agent_metadata":110,"agent_fit":122,"trust":129,"provenance":133,"created_at":135,"updated_at":136,"__relatedScore":137,"__relatedReasons":138,"__sharedTags":143},1694,"3edf3c13-3a9b-11f1-9bc6-00163e2b0d79","pants-scalable-polyglot-build-system-monorepos-3edf3c13","Pants — Scalable Polyglot Build System for Monorepos","A fast, ergonomic build system that handles Python, Go, Java, Kotlin, Scala, Shell, Docker, and more in large monorepo codebases.",83,[],[96],{"id":25,"name":26,"slug":27,"icon":28},"4dca3860296353c134daf5e405af713cf5725d5f502012fd580e6fe27ec2df21",[33,34,35],"Pants Build System",{"executes_code":29,"modifies_global_config":29,"requires_secrets":101,"uses_absolute_paths":29,"network_access":59},[],{"npm":103,"pip":104,"brew":105,"system":106},[],[],[],[],{"commands":108,"expected_files":109},[],[99],{"asset_kind":31,"target_tools":111,"install_mode":36,"entrypoint":99,"risk_profile":112,"dependencies":114,"content_hash":97,"verification":119},[33,34,35],{"executes_code":29,"modifies_global_config":29,"requires_secrets":113,"uses_absolute_paths":29,"network_access":59},[],{"npm":115,"pip":116,"brew":117,"system":118},[],[],[],[],{"commands":120,"expected_files":121},[],[99],{"target":34,"score":123,"status":124,"policy":125,"why":126,"asset_kind":31,"install_mode":36},64,"needs_confirmation","confirm",[65,66,67,127,128,71],"policy confirm","risk_profile.network_access is true",{"author_trust_level":73,"verified_publisher":29,"asset_signed_hash":97,"signature_status":74,"install_count":12,"report_count":12,"dangerous_capability_badges":130,"review_status":76,"signals":132},[131],"network_access",[78,79],{"owner_uuid":9,"owner_name":10,"source_url":134,"content_hash":97,"visibility":19,"created_at":135,"updated_at":136},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fpants-scalable-polyglot-build-system-monorepos-3edf3c13","2026-04-18 04:23:07","2026-05-13 16:12:28",91.88641892909283,[139,140,141,142],"topic-match","same-kind","same-target","same-author",[27,144],"configs",{"id":146,"uuid":147,"slug":148,"title":149,"description":150,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":151,"parent_id":12,"parent_uuid":13,"lang_type":15,"steps":152,"tags":153,"has_voted":29,"visibility":19,"share_token":13,"is_featured":12,"content_hash":155,"asset_kind":31,"target_tools":156,"install_mode":36,"entrypoint":157,"risk_profile":158,"dependencies":160,"verification":165,"agent_metadata":168,"agent_fit":180,"trust":182,"provenance":185,"created_at":187,"updated_at":188,"__relatedScore":189,"__relatedReasons":190,"__sharedTags":191},2141,"d56dff04-4105-11f1-9bc6-00163e2b0d79","chisel-fast-tcp-udp-tunnel-over-http-ssh-d56dff04","Chisel — Fast TCP\u002FUDP Tunnel Over HTTP and SSH","Chisel is a single-binary tool written in Go that creates encrypted tunnels for TCP and UDP traffic over HTTP or SSH. It works through firewalls and proxies, making it useful for accessing internal services, bypassing NAT, and securing connections without a full VPN.",41,[],[154],{"id":25,"name":26,"slug":27,"icon":28},"89a4cb8d6f18fd412efd02d9548c8f07e4856813d0f070575568792d4c02de18",[33,34,35],"Chisel Tunnel Tool",{"executes_code":29,"modifies_global_config":29,"requires_secrets":159,"uses_absolute_paths":29,"network_access":29},[],{"npm":161,"pip":162,"brew":163,"system":164},[],[],[],[],{"commands":166,"expected_files":167},[],[157],{"asset_kind":31,"target_tools":169,"install_mode":36,"entrypoint":157,"risk_profile":170,"dependencies":172,"content_hash":155,"verification":177},[33,34,35],{"executes_code":29,"modifies_global_config":29,"requires_secrets":171,"uses_absolute_paths":29,"network_access":29},[],{"npm":173,"pip":174,"brew":175,"system":176},[],[],[],[],{"commands":178,"expected_files":179},[],[157],{"target":34,"score":61,"status":62,"policy":63,"why":181,"asset_kind":31,"install_mode":36},[65,66,67,68,69,70,71],{"author_trust_level":73,"verified_publisher":29,"asset_signed_hash":155,"signature_status":74,"install_count":12,"report_count":12,"dangerous_capability_badges":183,"review_status":76,"signals":184},[],[78,79,80],{"owner_uuid":9,"owner_name":10,"source_url":186,"content_hash":155,"visibility":19,"created_at":187,"updated_at":188},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fchisel-fast-tcp-udp-tunnel-over-http-ssh-d56dff04","2026-04-26 08:21:13","2026-05-14 00:59:14",91.43487393559685,[139,140,141,142],[27,144],{"id":193,"uuid":194,"slug":195,"title":196,"description":197,"author_id":198,"author_name":199,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":200,"parent_id":12,"parent_uuid":13,"lang_type":15,"steps":201,"tags":202,"has_voted":29,"visibility":19,"share_token":13,"is_featured":12,"content_hash":208,"asset_kind":31,"target_tools":209,"install_mode":36,"entrypoint":210,"risk_profile":211,"dependencies":213,"verification":218,"agent_metadata":221,"agent_fit":233,"trust":235,"provenance":238,"created_at":240,"updated_at":241,"__relatedScore":242,"__relatedReasons":243,"__sharedTags":244},2122,"4cd900ae-40c3-11f1-9bc6-00163e2b0d79","capacitor-build-cross-platform-apps-web-technologies-4cd900ae","Capacitor — Build Cross-Platform Apps with Web Technologies","Capacitor is an open-source runtime by Ionic that lets you build native iOS, Android, and Progressive Web Apps using standard web technologies like HTML, CSS, and JavaScript.","8a910e34-3180-11f1-9bc6-00163e2b0d79","Script Depot",92,[],[203],{"id":204,"name":205,"slug":206,"icon":207},11,"Scripts","script","📜","db14badec9a10a8838021d423c746087dc2c8f3cf4ee8de64ae4889c39566414",[33,34,35],"Capacitor Overview",{"executes_code":29,"modifies_global_config":29,"requires_secrets":212,"uses_absolute_paths":29,"network_access":29},[],{"npm":214,"pip":215,"brew":216,"system":217},[],[],[],[],{"commands":219,"expected_files":220},[],[210],{"asset_kind":31,"target_tools":222,"install_mode":36,"entrypoint":210,"risk_profile":223,"dependencies":225,"content_hash":208,"verification":230},[33,34,35],{"executes_code":29,"modifies_global_config":29,"requires_secrets":224,"uses_absolute_paths":29,"network_access":29},[],{"npm":226,"pip":227,"brew":228,"system":229},[],[],[],[],{"commands":231,"expected_files":232},[],[210],{"target":34,"score":61,"status":62,"policy":63,"why":234,"asset_kind":31,"install_mode":36},[65,66,67,68,69,70,71],{"author_trust_level":73,"verified_publisher":29,"asset_signed_hash":208,"signature_status":74,"install_count":12,"report_count":12,"dangerous_capability_badges":236,"review_status":76,"signals":237},[],[78,79,80],{"owner_uuid":198,"owner_name":199,"source_url":239,"content_hash":208,"visibility":19,"created_at":240,"updated_at":241},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fcapacitor-build-cross-platform-apps-web-technologies-4cd900ae","2026-04-26 00:24:57","2026-05-14 02:07:32",88.9527244228309,[139,140,141],[],{"id":246,"uuid":247,"slug":248,"title":249,"description":250,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":251,"parent_id":12,"parent_uuid":13,"lang_type":15,"steps":252,"tags":253,"has_voted":29,"visibility":19,"share_token":13,"is_featured":12,"content_hash":255,"asset_kind":31,"target_tools":256,"install_mode":36,"entrypoint":257,"risk_profile":258,"dependencies":260,"verification":265,"agent_metadata":268,"agent_fit":280,"trust":282,"provenance":285,"created_at":287,"updated_at":288,"__relatedScore":289,"__relatedReasons":290,"__sharedTags":291},3328,"2bd666df-4e1f-11f1-9bc6-00163e2b0d79","asset-2bd666df","Uno Platform — Pixel-Perfect Multi-Platform Apps with .NET","Build native mobile, desktop, and web applications from a single C# and XAML codebase targeting Windows, iOS, Android, macOS, Linux, and WebAssembly with pixel-perfect fidelity.",13,[],[254],{"id":25,"name":26,"slug":27,"icon":28},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",[33,34,35],"SKILL.md",{"executes_code":29,"modifies_global_config":29,"requires_secrets":259,"uses_absolute_paths":29,"network_access":29},[],{"npm":261,"pip":262,"brew":263,"system":264},[],[],[],[],{"commands":266,"expected_files":267},[],[],{"asset_kind":31,"target_tools":269,"install_mode":36,"entrypoint":257,"risk_profile":270,"dependencies":272,"content_hash":255,"verification":277,"inferred":59},[33,34,35],{"executes_code":29,"modifies_global_config":29,"requires_secrets":271,"uses_absolute_paths":29,"network_access":29},[],{"npm":273,"pip":274,"brew":275,"system":276},[],[],[],[],{"commands":278,"expected_files":279},[],[],{"target":34,"score":61,"status":62,"policy":63,"why":281,"asset_kind":31,"install_mode":36},[65,66,67,68,69,70,71],{"author_trust_level":73,"verified_publisher":29,"asset_signed_hash":255,"signature_status":74,"install_count":12,"report_count":12,"dangerous_capability_badges":283,"review_status":76,"signals":284},[],[78,79,80],{"owner_uuid":9,"owner_name":10,"source_url":286,"content_hash":255,"visibility":19,"created_at":287,"updated_at":288},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fasset-2bd666df","2026-05-13 00:25:21","2026-05-14 00:47:55",87.71919205351736,[139,140,141,142],[27,144]]