mirror of
https://github.com/farcasterxyz/hub-monorepo.git
synced 2026-01-14 15:47:57 -05:00
## 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 -->
1.7 KiB
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 |