/anytype-ts

Official Anytype client for MacOS, Linux, and Windows

Primary LanguageTypeScriptOtherNOASSERTION

Anytype

Official Anytype client for MacOS, Linux, and Windows.

Anytype is a personal knowledge base, a digital brain that allows you to quickly capture, describe, and connect information. You can use Anytype to create books, tasks, notes, ideas, documents, tools and organize them any way you want.

Links

Building the source

Dependencies

Debian-based (Ubuntu / Pop! OS / Mint / ... ):

apt install libsecret-1-dev
apt install jq

Fedora:

dnf install libsecret
dnf install jq

Arch-based (Manjaro / EndeavourOS / ... ):

pacman -S libsecret
pacman -S jq

Alpine (usually for docker-related stuff):

apk add libsecret
apk add jq

Installation

git clone https://github.com/anyproto/anytype-ts
cd anytype-ts
npm install -D

Also, install gitleaks to ensure proper work of pre-commit hooks.

Install middleware library and protobuf bindings

Fetch the latest binary from the github releases.

Warning When building client from source be aware that middleware version in latest release may diverge from current client version, so it is highly recommended to build middleware from source as well.

./update.sh <macos-latest|ubuntu-latest|windows-latest> <arm|amd> # arm/amd only for macos/ubuntu

After ./update.sh downloaded the binary or after compiling it from source, you need to move anytypeHelper into the dist Folder.

OS CPU Type move command
Windows already copied to the dist folder
MacOS <arm | amd> mv darwin-*/anytypeHelper dist/
Linux <arm | amd> mv linux-*/anytypeHelper dist/

Building

Build anytype-heart first.

npm run update:locale
npm run dist:(mac|win|linux)

Options (these options allow building locally and bypass CI-only hooks):

  • ELECTRON_SKIP_NOTARIZE=1 — skip MacOS|Windows notarization and signature process
  • ELECTRON_SKIP_SENTRY=1 - skip source map upload to Sentry

Running

Before running Anytype locally, you need to build anytype-heart.

Info: If you want to switch directory where Anytype stores data for now it is available by adding --user-data-dir="" flag to launch command (i.e. --user-data-dir="D:\Anytype").

MacOS, Linux

SERVER_PORT=<PORT> ANYPROF=:<PROFILER_PORT> npm run start:dev

Windows

SERVER_PORT=<PORT> ANYPROF=:<PROFILER_PORT> npm run start:dev-win

Options:

  • SERVER_PORT — NPM variable, local server port
  • ANYPROF — Go variable, profiler port, access http://localhost:<PORT>/debug/pprof/profile?seconds=30 for profiling

Localisation

Project localisation is managed via Crowdin

npm run update:locale - Update localisation files

Contribution

Thank you for your desire to develop Anytype together!

❤️ This project and everyone involved in it is governed by the Code of Conduct.

🧑‍💻 Check out our contributing guide to learn about asking questions, creating issues, or submitting pull requests.

🫢 For security findings, please email security@anytype.io and refer to our security guide for more information.

🤝 Follow us on Github and join the Contributors Community.


Made by Any — a Swiss association 🇨🇭

Licensed under Any Source Available License 1.0.