Thank you for your interest in contributing to frames.js! This guide will help you get started.
Ensure that the following are installed globally on your machine:
- Node.js 18.7+
- Yarn (1.22.x)
-
Clone the repository:
git clone https://github.com/framesjs/frames.js.git cd frames.js -
Install dependencies:
yarn install
-
Run all packages in development mode:
yarn dev
-
To run any individual package from its directory:
cd packages/<package-name> yarn dev
Note: You may need to rebuild other packages first.
Run the full test suite:
yarn test:ciRun tests in watch mode (for development):
yarn test- We use Prettier for code formatting. Run
yarn formatto format your code. - Follow TypeScript best practices and ensure your code passes linting with
yarn lint. - Add JSDoc comments to public functions and classes.
All PRs with meaningful changes should have a changeset which is a short description of the modifications being made to each package. Changesets are automatically converted into a changelog when the repo manager runs a release process.
yarn changesetyarn changeset versionyarn changeset publish
git push --follow-tags origin mainBefore submitting your PR, please ensure:
- Code follows the project's coding standards
- All tests pass (
yarn test:ci) - Linting passes (
yarn lint) - You've added a changeset if applicable
- You've added/updated tests for your changes
- You've updated documentation if needed
- Your commit messages follow conventional commits format
If you encounter TypeScript configuration errors, try:
yarn build:ciThis will build all packages and resolve type dependencies.
If packages aren't resolving correctly:
rm -rf node_modules
yarn install- Join the /frames-dev channel on Farcaster
- Check existing issues on GitHub
- Read the documentation