We welcome Pull Requests for general contributions! If you have a larger new feature or any questions on how to develop a fix, we recommend you open an [issue][issues] before starting.
To ensure a smooth integration of your contributions, it's important that your fork is kept up-to-date with the main repository. This helps avoid conflicts and allows us to merge your pull requests more quickly. Here’s how you can sync your fork:
### Syncing Your Fork with the Main Repository
1.**Add the Main Repository as a Remote** (Skip if you have already set this up):
2. **Fetch the Latest Changes from the Main Repository**:
```bash
git fetch upstream
```
3. **Checkout Your Development Branch**:
```bash
git checkout your-branch-name
```
4. **Merge Changes from the Main Branch into Your Branch**:
```bash
git merge upstream/main
```
Resolve any conflicts that arise and commit the changes.
5. **Push the Merged Changes to Your Fork**:
```bash
git push origin your-branch-name
```
This process will help you keep your branch aligned with the ongoing changes in the main repository, minimizing integration issues when it comes time to merge!
### Before Submitting a Pull Request
Before you submit a pull request, please ensure your fork is synchronized as described above. This check ensures your changes are compatible with the latest in the main repository and streamlines the review process.
If you encounter any issues during this process or have any questions, please reach out by opening an issue [here][issues], and we'll be happy to help.
- Run `just langfuse-server` to start your local Langfuse server. It requires Docker.
- Go to http://localhost:3000 and log in with the default email/password output by the shell script (values can also be found in the `.env.langfuse.local` file).
- Set the environment variables so that rust can connect to the langfuse server
This project follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification for PR titles. Conventional Commits make it easier to understand the history of a project and facilitate automation around versioning and changelog generation.