Files
hub-monorepo/README.md
Varun Srinivasan 5e458b10ac chore: fix issues with repository setup (#2153)
## Why is this change needed?

Following the instructions to setup a repository resulted in errors.
This change:

- Adds CMake to setup instructions
- Requires Rust 1.77.0 locally since 1.78.0+ cause build errors
- Requires Rust 1.77.0 in CI for parity
- Requires Node 20+ locally for parity with CI
- Updates some README text for clarity

## Merge Checklist

_Choose all relevant options below by adding an `x` now or at any time
before submitting for review_

- [x] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [ ] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [x] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [ ] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary.

<!-- start pr-codex -->

---

## PR-Codex overview
The focus of this PR is to update Node.js, Rust toolchains, and CI
configurations, ensuring consistency across environments. Additionally,
it enhances documentation clarity and fixes environment issues.

### Detailed summary
- Updated Node.js to version 20.11
- Updated Rust toolchain to version 1.77.0 for consistency
- Aligned CI configurations with local and Docker image setups
- Improved README.md for better understanding
- Fixed environment issue with running `yarn test` in shuttle

>  Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`

<!-- end pr-codex -->
2024-07-11 16:42:06 -07:00

1.7 KiB

Hubble Monorepo

This monorepo contains Hubble, a Farcaster Hub implementation, and other packages used to communicate with Hubble.

Getting Started

See CONTRIBUTING.md to set up your developer environment and learn about how to contribute.

Code Organization

The repository is a monorepo with a primary application in the /apps/ folder that imports several packages /packages/. It is written primarily in Typescript and uses Yarn to orchestrate tasks and TurboRepo as its build system. Some performance intensive code is written in Rust and compiled with Cargo.

Applications

App Name Description
@farcaster/hubble A Farcaster Hub implementation

To run Hubble, please see the Hubble docs.

Packages

Package Name Description
@farcaster/shuttle A package that streams Hubble events to Postgres
@farcaster/hub-nodejs A Node.js client library for Hubble
@farcaster/hub-web A Browser client library for Hubble
@farcaster/core Shared code between all packages