Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lightningrodlabs/moss
Creating group coherence with holochain apps
https://github.com/lightningrodlabs/moss
Last synced: 3 months ago
JSON representation
Creating group coherence with holochain apps
- Host: GitHub
- URL: https://github.com/lightningrodlabs/moss
- Owner: lightningrodlabs
- Created: 2023-12-06T14:58:02.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-29T11:07:05.000Z (3 months ago)
- Last Synced: 2024-10-29T12:12:05.338Z (3 months ago)
- Language: TypeScript
- Homepage: https://theweave.social
- Size: 46.6 MB
- Stars: 22
- Watchers: 5
- Forks: 5
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-weave - Moss monorepo
README
# Moss
_Moss_ is a reference implementation of a Frame for [The Weave](https://theweave.social), which can also be understood as a Holochain runtime that makes it trivially easy for groups to build collaboration spaces by composing custom "Tool" suites to meet their collaboration needs.
_Moss_ is composed of a group management DNA, together with a defined pattern on how to build _Tool_ DNAs that can be added to a _Moss_ group. Each such group as well as each _Tool_ used within a group is its own private peer-to-peer network.
_Moss_ used to be called _We_, and you can read about it's early instantiation in [this blogpost](https://eric.harris-braun.com/blog/2022/07/26/id-390).
## Installation
You can download the latest public release [here](https://theweave.social/moss/#download).
If you want to install an unstable dev release, you can pick one on [the releases page](https://github.com/lightningrodlabs/moss/releases).
## Developers
### Creating a Moss Tool
The details on how to create a _Tool_ can be found [here](docs/how-to-create-a-tool.md).
### Developering on Moss itself
#### Environment Setup
0. Enter nix shell to get the holochain dev environment (follow [holochain's setup instructions](https://developer.holochain.org/get-started/) if you don't have nix installed yet).
```bash
nix develop
```1. Run the following command to set up the dev environment:
```bash
yarn setup
```This command will
- install all npm dependencies
- build the required local libraries
- build the Moss group DNA and the zomes in the crates folder
- fetch the required `holochain` and `lair-keystore` binaries from [here](https://github.com/matthme/holochain-binaries/releases)
- fetch the default apps (at the time of writing those are the app library and the feedback board)
- run the necessary commands to link the packages in `libs/api` and `libs/we-elements` with `yarn link` to have them be hot-reloaded in the example applet#### Development
The following commands build the example applet and then run we in "applet-dev" mode based on the `we.dev.config.example.ts` file.
```bash
yarn build
yarn build:example-applet
yarn applet-dev-example
```Moss 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.
##### Rust add-ons
The Rust add-ons used in the main process are maintained in a [separate repository](https://github.com/lightningrodlabs/we-rust-utils)
#### Build
```bash
# For windows
yarn build:win# For macOS
yarn build:mac# For Linux
yarn build:linux
```## License
[![License: CAL 1.0](https://img.shields.io/badge/License-CAL%201.0-blue.svg)](https://github.com/holochain/cryptographic-autonomy-license)
Copyright (C) 2021-2024, 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.