bigint/hey
Hey is a decentralized and permissionless social media app built with Lens Protocol ๐ฟ
README
Hey Monorepo
Requirements
To start working with the Hey monorepo, ensure the following tools are installed:
- Node.js (v22 or higher) - the JavaScript runtime used in this project.
- pnpm - the package manager used throughout this repository.
- Postgres App - the Postgres database used in development.
Installation
This repository uses pnpm workspaces to manage multiple packages within a monorepo structure.
Clone the Repository
git clone git@github.com:bigint/hey.gitInstall NVM and pnpm
On macOS, you can install both with Homebrew:
brew install nvm pnpmInstall Node.js
Use nvm to install the required Node.js version:
nvm installInstall Dependencies
From the repository root, install dependencies with pnpm:
pnpm installSet up Environment Variables
Copy the .env.example file to .env for each package or application that requires configuration:
cp .env.example .envRepeat this process for all relevant packages and applications in the monorepo.
Environment Variables
The example environment files define the following variables:
API (apps/api/.env.example)
PRIVATE_KEY- Private key used to sign Lens requests.SHARED_SECRET- Token for internal API authorization.
Start the Development Server
To run the application in development mode:
pnpm devBuild
Build the application
Compile the application:
pnpm buildType-check the project
Validate the codebase with the TypeScript type checker:
pnpm typecheckLint and Format Code
Check code quality and formatting with Biome:
pnpm biome:checkAutomatically fix linting and formatting issues:
pnpm biome:fixMaintenance Scripts
Convenient Node.js helpers are in the script directory:
node script/clean.mjsremoves allnode_modules,.nextdirectories,
pnpm-lock.yaml, andtsconfig.tsbuildinfofiles.node script/update-dependencies.mjsupdates packages across the monorepo,
removes old installs and commits the changes in a new branch.node script/sort-package-json.mjssorts allpackage.jsonfiles in the
repository.
License
This project is released under the GNU AGPL-3.0 license. See the LICENSE file for details
๐ธ