Cove is an unofficial, open-source compatible client for Sharkord, not a standalone communication platform or an independent server project. It connects to a Sharkord server: Sharkord provides the backend, accounts, channels and media infrastructure; Cove focuses on the native client experience.
Development status: Android has an MVP. Apple-platform development is currently blocked while the maintainer works with Apple Developer after the maintainer’s social identification number was misused. Native macOS and Windows clients are in progress. We welcome contributors to build Cove together.
Languages: English | 中文
A single maintainer cannot sustainably develop five native platforms at once. Sharkord already provides a web UI for desktop use: on Windows and macOS, open your Sharkord instance in a browser to access the upstream web client's features. Native mobile interaction and wrist-based voice are the more urgent gaps Cove aims to address.
| Platform | Current direction |
|---|---|
| Android | MVP available: native Kotlin / Jetpack Compose client in apps/android |
| iOS (iPhone; iPad in the existing Apple project) | Apple-platform development is currently blocked while the maintainer resolves an identity misuse issue with Apple Developer |
| Apple Watch | Apple-platform development is currently blocked; wrist push-to-talk remains a planned direction, subject to real-device validation |
| Windows / macOS native clients | In progress; status and feature completeness vary by platform |
| Desktop web | Use Sharkord's existing web UI; Cove is not building a separate desktop web platform |
These are priorities, not a claim that all three clients are complete or have feature parity. Apple Watch's intended experience is to join one voice channel, hold to talk, hear the channel and leave. Persistent voice, background behaviour and battery impact must be tested on real hardware; UI or simulator success is not proof that voice works. See docs/APPLE_WATCH.md.
- Required backend: an existing Sharkord server. Cove does not offer its own independent server or hosted service.
- This repository retains upstream server (
apps/server), web client (apps/client), shared packages and Git history for development, compatibility testing and attribution. Their presence does not make Cove a new server product. - Preserve compatibility with Sharkord's existing protocol. Do not require a Cove-only backend as the default client path.
- General server fixes and web / PWA improvements should be discussed and contributed upstream; client-specific work belongs here.
- The repository URL is currently
TimmySheep/sharkord-next; Cove is the client product name. Original upstream documents remain inupstream-notes/.
- Set up or use an existing Sharkord instance following the official documentation and upstream releases.
- On desktop, open that instance's web UI in your browser. You do not need to wait for Cove's native desktop clients.
- For Cove development, use the Android build guide or the Apple mobile build guide. Client support and acceptance status must be checked per platform; this README is not a release announcement.
Do not include owner tokens, session tokens, private messages or other secrets in issues, screenshots or logs.
Contributions are welcome: Android, iOS, Apple Watch feasibility work, bug reports, UI / accessibility improvements, tests, compatibility checks and documentation.
Before opening a PR, create or link an Issue in this repository. Describe the problem or use case, affected platform, intended change and verification plan. For larger features, architecture changes, dependencies or desktop-native work, agree on scope with the maintainer before implementing. One focused problem per PR makes review and merging easier.
Read CONTRIBUTING.md and ROADMAP.md. The Issue forms and PR template help identify what problem you are solving, what changed, and what was actually tested. Roadmap inclusion or an open Issue is not a promise of merge or release.
Prerequisites
- Bun
1.3.14— pinned by upstream CI (.github/workflows/ci.yml) and by@types/buninpackage.json. Other versions usually work, but this is the tested one. - Node for the Vite dev server (Vite 7 requires Node
20.19+/22.12+).
bun install
bun run test # 1458 server + 84 client + 209 shared tests
cd apps/server && bun run dev # API + signalling + media → :4991
cd apps/client && bun run dev # Vite dev server → :5173Or run both in tmux with ./start.sh. From source, the server redirects / to the Vite dev server.
Full check before you push
bun run magic # format + check-types + lint
bun run testOne environment gotcha worth knowing. Do not run the test suite with HTTP_PROXY / HTTPS_PROXY
set: Bun's fetch routes the test client's localhost requests through the proxy, and one assertion
(apps/server/src/http/__tests__/plugin-routes.test.ts, the "drops the connection" case) fails
deterministically. Either unset the proxy or add NO_PROXY=localhost,127.0.0.1. Full analysis in
docs/ARCHITECTURE.md §9. This bit us once; it is not an upstream bug.
- Roadmap and contribution guide
- Architecture and RTC architecture
- Ecosystem research
- Native strategy research: historical design, not the current priority order
- Apple Watch research and feasibility plan
- AGENTS.md: code conventions; DEVELOPMENT.md: upstream development notes
Research documents describe the revisions they inspected, not a guarantee about current releases. Current product priorities are defined by this README and the roadmap.
Cove is an independent, open-source client designed to work with "Sharkord" (https://github.com/Sharkord/sharkord).
Cove is not an official Sharkord application and is not affiliated with, endorsed by, or maintained by the Sharkord team.
Special thanks to the Sharkord developers and contributors for creating and maintaining the open-source communication platform that makes this project possible.
Cove is independently developed and maintained. Please report Cove-specific issues to this repository rather than the upstream Sharkord project.
Any reused upstream code remains subject to its original copyright notices and license terms.
Sharkord's name and branding belong to the upstream project. MIT: see LICENSE; preserve upstream copyright notices. Contributions to Cove are accepted under the same MIT terms.