Thank you for considering contributing to Folo! We welcome contributions from the community to help improve and expand the project.
Before you start contributing, please ensure you have enabled Corepack. Corepack ensures you are using the correct version of the package manager specified in the package.json.
corepack enable && corepack prepareTo install the necessary dependencies, run:
pnpm installFor a more convenient development experience, we recommend developing in the browser:
cd apps/desktop && pnpm run dev:webThis will open the browser at https://app.folo.is/__debug_proxy, allowing you to access the online API environment for development and debugging.
If you prefer to develop in Electron, follow these steps:
-
Go to the
apps/desktopdirectory:cd apps/desktop -
Copy the example environment variables file:
cp .env.example .env
-
Set
VITE_API_URLtohttps://api.follow.isin your.envfile. -
Run the development server:
pnpm run dev:electron
Tip: If you encounter login issues, copy the
__Secure-better-auth.session_tokenfrom your browser's cookies into the app.
To develop in SSR, follow these steps:
-
Go to the
apps/ssrdirectory:cd apps/ssr -
Run the development server:
pnpm run dev
To develop in the mobile app, follow these steps:
Note
You need to have a Mac device to develop in the mobile app.
And already installed Xcode and the necessary dependencies.
-
Go to the
apps/mobiledirectory:cd apps/mobile -
Copy the example environment variables file:
cp .env.example .env
Then set the required environment variables in your
.envfile:echo 'EXPO_PUBLIC_APP_CHECK_DEBUG_TOKEN="xxx"' >> .env
Or manually edit the
.envfile to add:EXPO_PUBLIC_APP_CHECK_DEBUG_TOKEN="xxx"the value is any string.
-
Build and install Folo(dev) app from source: (This step will take a while and only need to be done once)
pnpm expo prebuild --clean # Optional pnpm run ios -
Run the development server:
pnpm run dev
To develop native iOS modules, follow these steps:
-
Go to the
apps/mobiledirectory:cd apps/mobile/ios -
Open project in Xcode:
open Folo.xcworkspace
-
Open
Podsin left sidebar and selectFollowNative:
- Build and run the project.
- Ensure your code follows the project's coding standards and conventions.
- Write clear, concise commit messages.
- Include relevant tests for your changes.
- Update documentation as necessary.
Join our community to discuss ideas, ask questions, and share your contributions:
We look forward to your contributions!
By contributing to Folo, you agree that your contributions will be licensed under the GNU Affero General Public License version 3, with the special exceptions noted in the README.md.
