Official Anytype client for MacOS, Linux, and Windows.
Debian-based (Ubuntu / Pop! OS / Mint / ... ):
apt install libsecret-1-dev
apt install jq
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
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.
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
Or compile from the source code. Follow instructions at anytype-heart
.
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/ |
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 processELECTRON_SKIP_SENTRY=1
- skip source map upload to Sentry
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").
SERVER_PORT=<PORT> ANYPROF=:<PROFILER_PORT> npm run start:dev
SERVER_PORT=<PORT> ANYPROF=:<PROFILER_PORT> npm run start:dev-win
Options:
SERVER_PORT
— NPM variable, local server portANYPROF
— Go variable, profiler port, accesshttp://localhost:<PORT>/debug/pprof/profile?seconds=30
for profiling
Project localisation is managed via Crowdin
npm run update:locale
- Update localisation files
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 [email protected] 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.