{"id":48289332,"url":"https://github.com/empathic/workshop","last_synced_at":"2026-04-04T23:01:20.524Z","repository":{"id":348952822,"uuid":"1187538516","full_name":"empathic/workshop","owner":"empathic","description":"This is your team on agents","archived":false,"fork":false,"pushed_at":"2026-04-03T13:47:57.000Z","size":1847,"stargazers_count":2,"open_issues_count":21,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T17:56:42.459Z","etag":null,"topics":["agents","ai","collaboration"],"latest_commit_sha":null,"homepage":"https://empathic.dev","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/empathic.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-20T21:00:26.000Z","updated_at":"2026-04-03T13:47:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/empathic/workshop","commit_stats":null,"previous_names":["empathic/workshop"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/empathic/workshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/empathic%2Fworkshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/empathic%2Fworkshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/empathic%2Fworkshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/empathic%2Fworkshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/empathic","download_url":"https://codeload.github.com/empathic/workshop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/empathic%2Fworkshop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31418286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: 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":["agents","ai","collaboration"],"created_at":"2026-04-04T23:01:14.285Z","updated_at":"2026-04-04T23:01:20.511Z","avatar_url":"https://github.com/empathic.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Workshop\n\nCollaborative Claude Code for teams.\n\nRun multiple Claude instances, share them with teammates in real time, and\nsearch across every conversation you've ever had — from the terminal or the\nbrowser.\n\n\u003c!-- TODO: screenshot / demo GIF --\u003e\n\n## Install\n\n```sh\ncurl -fsSL https://raw.githubusercontent.com/empathic/workshop/main/scripts/install.sh | bash\n```\n\nInstalls the `work` binary to `~/.local/bin`. Requires\n[Claude Code](https://docs.anthropic.com/en/docs/claude-code).\n\n## Get Started\n\n```sh\nwork\n```\n\nA TUI opens where you create and switch between Claude Code sessions. Press\n`Ctrl+]` to move between sessions and the overview. A background daemon keeps\neverything running — close the TUI and your sessions stay alive.\n\nFor the web UI:\n\n```sh\nwork server\n```\n\nThen open the URL it prints. You get live terminals, a conversation viewer,\ntask board, and fleet overview — all in the browser. The CLI and web UI talk\nto the same daemon, so use whichever you prefer.\n\n## Invite Your Team\n\nWorkshop is built for collaboration. To share over a tunnel:\n\n```sh\nwork server --profile tunnel\nwork auth enable\n```\n\nOr on your LAN:\n\n```sh\nwork server --profile server\nwork auth enable\n```\n\nShare the URL. The first person to register becomes admin. From there:\n\n- **Shared terminals** — watch what Claude is doing on a teammate's instance,\n  with a lock to coordinate who's typing\n- **Live presence** — see who's connected and which instance they're focused on\n- **Chat** — real-time messaging, per-instance or global\n- **Task board** — create and assign tasks tied to instances, synced to every\n  client\n\nYour local CLI always bypasses auth, so `work attach` keeps working without\ncredentials.\n\n## Search Everything\n\nWorkshop automatically syncs conversation history from Claude Code into a\nlocal SQLite database — every session, every project, fully searchable.\n\n```sh\nwork server --import-all           # sync all projects\nwork server --import-from ~/myapp  # sync one project\n```\n\nThe web UI gives you full-text search with syntax-highlighted code and diffs.\nFind that conversation from three weeks ago where Claude solved the exact\nproblem you're looking at now.\n\n## Configuration\n\nAll config lives in `~/.workshop/config.toml`. See\n[docs/configuration.md](docs/configuration.md) for the full reference —\nprofiles, env vars, auth settings, server tuning.\n\n## FAQ\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWhat happens when I type \u003ccode\u003ework\u003c/code\u003e?\u003c/strong\u003e\u003c/summary\u003e\n\nA daemon starts in the background (if one isn't already running) and manages\nall your Claude instances. The TUI connects to it. So does the web UI.\nClosing the TUI doesn't kill anything — instances keep running until you\n`work kill` them or `work kill-server`.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eHow is this different from tmux?\u003c/strong\u003e\u003c/summary\u003e\n\nWorkshop understands Claude's protocol. It detects state (thinking, tool use,\nidle), imports conversations into a searchable database, provides multi-user\nauth with live presence, and gives you a web dashboard. tmux sees raw bytes.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eDoes my data leave my machine?\u003c/strong\u003e\u003c/summary\u003e\n\nNo. Everything is local: SQLite database, conversation history, config. The\n`tunnel` and `server` profiles bind to a network interface so teammates can\nconnect, but the data stays on your machine.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWhat platforms are supported?\u003c/strong\u003e\u003c/summary\u003e\n\nLinux (x86_64, aarch64) and macOS (Apple Silicon, Intel).\n\u003c/details\u003e\n\n## Learn More\n\n- [Configuration](docs/configuration.md) — profiles, env vars, CLI options\n- [Architecture](docs/architecture.md) — system design, protocols, state\n  detection\n- [Operations](docs/operations.md) — endpoints, metrics, troubleshooting\n- [Contributing](CONTRIBUTING.md) — building from source, dev setup, testing\n\n## License\n\nApache 2.0 — Copyright 2025-2026 Empathic, Inc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fempathic%2Fworkshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fempathic%2Fworkshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fempathic%2Fworkshop/lists"}