Help us shape the future of Go! Take the 2026 Go Developer Survey

clickclack

module
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2026 License: MIT

README

ClickClack 🦞 — Tiny chat. Big claws.

CI Release License Docs

ClickClack banner

ClickClack is self-hostable team chat for people, bots, and agents. It combines a Go server, Svelte web app, scriptable CLI, and TypeScript SDK behind one API-first chat service.

ClickClack chat

Install

The smallest path is the hosted service: open app.clickclack.chat in a browser.

For a desktop client or self-hosted server, download the matching artifact from the latest GitHub release. Releases contain desktop installers for macOS, Windows, and Linux, plus server archives or packages for macOS, Linux, Windows, and FreeBSD.

For source builds and package details, see the install guide.

Quick start

After downloading the clickclack server binary, start a local instance:

./clickclack serve --dev-bootstrap=true

Open http://localhost:8080/app. On an empty data directory, development bootstrap creates a local owner, workspace, and channel; data stays in ./data by default.

The full quickstart continues with real accounts, sessions, channels, and a bot.

What runs where

The server is one Go binary with the web app, SQLite migrations, and static assets embedded. SQLite and local uploads are the defaults; Postgres and Cloudflare R2 are available for deployments that need external storage.

Durable chat state and the event log live in the database. WebSockets carry live updates, and clients recover missed events with cursors after reconnecting.

Surface Use it for Guide
Web and desktop Channels, threads, search, uploads, direct messages, and moderation Feature index
CLI Server administration, backups, exports, and scripted chat CLI reference
TypeScript SDK Typed HTTP and realtime clients for bots and integrations SDK guide
REST and WebSocket API Clients in other languages and direct integrations API overview

Self-hosting

ClickClack can run from a release binary, a multi-stage Docker image built from this repository, or a source build. Production deployments disable development bootstrap and configure authentication, storage, TLS termination, and backups explicitly.

Start with the deployment guide, then use the configuration reference for flag, environment, and file precedence. The architecture overview describes the server, storage, realtime, and embedded frontend boundaries.

Documentation

The complete documentation is at docs.clickclack.chat and in docs/.

Development

Source builds use Go 1.27.2, Node.js 24 or newer, and pnpm 12.7.0. The module minimum remains Go 1.26.6 so managed CodeQL can build with its preinstalled compiler; the toolchain directive selects Go 1.27.2 for normal builds.

pnpm install --frozen-lockfile
pnpm build
pnpm check

See the development guide for the two-process web loop, repository layout, focused scripts, and test details.

License

MIT.

Directories

Path Synopsis
apps
api/internal/passwordauth
Package passwordauth hashes and verifies local account passwords with argon2id.
Package passwordauth hashes and verifies local account passwords with argon2id.
api/internal/store/identitysynctest
Package identitysynctest proves the same import contract against each SQL backend.
Package identitysynctest proves the same import contract against each SQL backend.
api/internal/store/workspacetest
Package workspacetest checks workspace settings against each SQL backend.
Package workspacetest checks workspace settings against each SQL backend.
api/internal/webpush
Package webpush sends RFC 8030 Web Push messages to the browser push services: RFC 8291 payload encryption, RFC 8292 application server identification, and nothing else.
Package webpush sends RFC 8030 Web Push messages to the browser push services: RFC 8291 payload encryption, RFC 8292 application server identification, and nothing else.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL