anyproto / anytype-ts
git clone https://github.com/anyproto/anytype-ts.git
v0.57.4 · 19d ago
Official Anytype client for MacOS, Linux, and Windows
+14
stars, 24h · #2,572
+~61
stars, 7 days · #3,399
+~260
stars, 30 days · #3,078
9.0k
★ total · +1% this week
597
forks · 225 open issues
Star history (as recorded here)
LanguageTypeScript
License—
Created2023-05-22 (3y ago)
Last push1d ago
Watchers39
OwnerOrganization
GitHub topics
Links
- GitHub: github.com/anyproto/anytype-ts
- Homepage: https://anytype.io
- Releases · Issues · Hacker News mentions
README excerpt
# Anytype Desktop > **Local‑first, peer‑to‑peer & end‑to‑end‑encrypted knowledge OS for macOS, Windows & Linux.** Anytype is a **personal knowledge base**—your digital brain—that lets you gather, connect and remix all kinds of information. Create pages, tasks, wikis, journals—even entire apps—and *define your own data model* while your data stays **offline‑first, private and encrypted** across devices. ## ✨ Key Features - **Offline‑first, local storage** with optional peer‑to‑peer sync. - **Zero‑knowledge encryption** powered by *any‑sync*. - **Composable blocks**: text, databases, kanban, calendar & custom Types. - **Cross‑platform desktop client** built with Electron + TypeScript. - **Extensible** through a gRPC API and AI "Agents" (see `AGENTS.md`). - **Open code** under the Any Source Available License 1.0. ## 📚 Table of Contents - Quick Start - Prerequisites - Building from Source - Development Workflow - Updating Middleware - Updating Protobuf Bindings - Localisation - Contributing - Community & Support - License ## 🚀 Quick Start Just want to try it? Grab the latest installer from the releases page or head to **download.anytype.io** and log in with your *Any‑ID*. ## 🏗 Building from Source On ARM systems, node package `keytar` needs to be rebuilt during installation, so make sure that your system has a C++ compiler, Python3 and Python package `setuptools`. E.g. on Debian/Ubuntu: `sudo apt install python3-setuptools`. Alternatively, on any system, create a Python virtual environment (venv) and inside the venv: `pip install setuptools`. Then build from source inside the venv. **Linux** also needs the protobuf compiler **with** the well-known `.proto` files (used to generate the gRPC bindings in step 5): - **Fedora:** `sudo dnf install protobuf-compiler protobuf-devel jq` - **Debian / Ubuntu:** `sudo apt install protobuf-compiler libprotobuf-dev jq` [code] > Steps 3–5 produce `middleware/` and `src/ts/lib/api/service.ts`, which are git-ignored. Skipping step 5 causes `Failed to resolve import "./service" from src/ts/lib/api/dispatcher.ts`. See Updating Protobuf Bindings and `scripts/README.md` for details. ### Environment flags | Variable | Effect | |--------------------------|--------------------------------------------------| | `ELECTRON_SKIP_NOTARIZE` | Skip macOS / Windows signing & notarizing | | `ELECTRON_SKIP_SENTRY` | Don’t upload sourcemaps to Sentry | ## 🧑💻 Development Workflow You can use nix to install all the required dependencies at once. [code] Start the dev server with hot‑reload (builds Electron bundle, starts Vite, then launches Electron): [code] When you close Electron, the Vite dev server is automatically stopped. For browser-based development without Electron: [code] See Web Mode for details. ### Useful commands [code] ### Environment variables | Name | Purpose | |--------------|---------------------------------------------------| | `SERVER_PORT`| Vite dev server port (default: `8080`) | | `ANYPROF` | Expose Go