We is a Holochain runtime that makes it trivially easy for groups to build collaboration spaces by composing custom "Applet" suites to meet their collaboration needs.
We is composed of a group management DNA, together with a defined pattern on how to build Applet DNAs that can be added to a We group. Each such group as well as each Applet used within a group is its own private peer-to-peer network.
For more about the motivation behind We, read this blogpost.
For details about the design, read the design document.
The details on how to create a we applet can be found here.
Go to the releases page and download the latest release for your Operating System.
- Enter nix shell to get the holochain dev environment (follow holochain's setup instructions if you don't have nix installed yet)
nix develop
- Build the Node Rust-add-ons, install and build all dependencies and download default apps:
yarn setup
- Fetch the holochain or lair binaries for your platform:
# Linux
mkdir resources/bins
yarn fetch-binaries:linux
chmod +x resources/bins/* # give permission to run the binaries
# macOS
mkdir resources/bins
yarn fetch-binaries:macos
chmod +x resources/bins/* # give permission to run the binaries
# Windows
mkdir resources/bins
yarn fetch-binaries:windows
OR
Build the sidecar binaries locally:
bash ./scripts/setup-binaries.sh
The following commands build the example applet and then run we in "applet-dev" mode based on the we.dev.config.example.json
file.
$ yarn build:example-applet
$ yarn applet-dev
We will start up 2 agents each with the same group and 3 applets installed. One of the applets will be in hot-reloading mode, i.e. you can modify the code in the example/ui/
directory and should see the changes immediately. You should also see changes applied to the src/renderer/src
directory immediately reflected.
# For windows
$ yarn build:win
# For macOS
$ yarn build:mac
# For Linux
$ yarn build:linux
Copyright (C) 2021, Harris-Braun Enterprises, LLC
This program is free software: you can redistribute it and/or modify it under the terms of the license provided in the LICENSE file (CAL-1.0). This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.