Session Websites is a collection of websites and libraries for the Session Web ecosystem.
This repository is a monorepo that contains multiple apps and packages. Each app and package is located in its own directory.
apps
directory contains all the apps.packages
directory contains all the packages.
An app is a standalone application that can be run independently. A package is a library that can be used by other apps or packages.
This repository contains the following apps and packages:
staking
: Session Staking Next.js app.@session/ui
: Session UI component library.@session/eslint-config
:eslint
configurations.@session/typescript-config
:tsconfig.json
configurations.@session/contracts
: Session smart contract js library for interacting with the Session smart contracts.@session/sent-staking-js
: Session Token Staking js library for interacting with the Session Token staking backend.@session/wallet
: A wallet library for interacting with the Session Token.@session/util
: A utility library for common functions.@session/testing
: A testing library.
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
- Tailwind CSS for styling
To build all apps and packages, run the following command:
pnpm build
- Node.js (v22 or higher)
- pnpm (v9 or higher)
- jq (see jq for mac)
We recommend using a node version manager like asdf to manage your node versions. The .tool-versions
file in the root of the project specifies the node version to use. We also have an .nvmrc
file that specifies the same node version to use. You can enable support for Using Existing Tool Version Files in asdf to use these files.
To get started, install the dependencies:
pnpm install
This will install all the dependencies for all the apps and packages.
You can find a README.md
file in each app and package directory that explains how to develop and test that specific app or package.