Skip to content

heyverse/hey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Hey Monorepo

Requirements

To start working with the Hey monorepo, make sure the following tools are installed:

  • Node.js (v18 or higher) – the JavaScript runtime used by the project.
  • pnpm – the package manager used throughout the 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:heyverse/hey.git

Install NVM and pnpm

On macOS you can install both with Homebrew:

brew install nvm pnpm

Install Node.js

Use nvm to install the required Node.js version:

nvm install

Install Dependencies

From the repository root, install dependencies with pnpm:

pnpm install

Set up Environment Variables

Copy the .env.example file to .env for each package or application that requires configuration:

cp .env.example .env

Repeat 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)

  • NEXT_PUBLIC_LENS_NETWORK – Lens network to use (mainnet, testnet, or staging).
  • DATABASE_URL – Connection string for the main Postgres database.
  • LENS_DATABASE_URL – Read-only Postgres connection for Lens data.
  • REDIS_URL – Redis connection string for caching.
  • PRIVATE_KEY – Private key used to sign Lens requests.
  • EVER_ACCESS_KEY – Access key for 4EVERLAND storage.
  • EVER_ACCESS_SECRET – Secret key for 4EVERLAND storage.
  • SHARED_SECRET – Token for internal API authorization.
  • OPENROUTER_API_KEY – API key for OpenRouter AI services.

Web (apps/web/.env.example)

  • VITE_IS_PRODUCTION – Boolean flag indicating production mode for Vite.
  • NEXT_PUBLIC_LENS_NETWORK – Lens network used by the web app.

Start the Development Server

To run the application in development mode:

pnpm dev

Code Generation

Generate Prisma clients and GraphQL types across all workspaces:

pnpm codegen

Build and Test

Build the application

Compile the application:

pnpm build

Type-check the project

Validate the codebase with the TypeScript type checker:

pnpm typecheck

Lint and Format Code

Check code quality and formatting with Biome:

pnpm biome:check

Automatically fix linting and formatting issues:

pnpm biome:fix

Maintenance Scripts

Convenient Node.js helpers are in the script directory:

  • node script/clean.mjs removes all node_modules, .next directories, pnpm-lock.yaml, and tsconfig.tsbuildinfo files.
  • node script/update-dependencies.mjs updates packages across the monorepo, removes old installs and commits the changes in a new branch.

License

This project is released under the GNU AGPL-3.0 license. See the LICENSE file for details.

🌸

Contributors 119

Languages