# Contributing to LangTrace 🚀

Thank you for your interest in contributing to the LangTrace project! We welcome contributions from the community to help improve and expand this tool.

## Table of Contents 
- [Getting Started](#getting-started)
- [Development Setup](#development-setup)
- [Reporting Issues 🐛](#reporting-issues) 
- [Submitting Changes 📝](#submitting-changes) 
- [Coding Standards 🤖](#coding-standards) 
- [Documentation 📚](#documentation) 
- [Community 👥](#community) 

## Getting Started

Before contributing, please take a moment to review this contributing guide and the project's [README](README.md) to understand the goals, architecture, and current state of the LangTrace project.

## Development Setup

1. Fork the repository on GitHub.
2. Clone your forked repository to your local machine.
3. Ensure you have the required dependencies installed, as outlined in the project README.
4. Create a new branch for your changes, using a descriptive name (e.g., `feature/add-new-metric` or `fix/handle-edge-case`).
5. Make your changes, ensuring they align with the project's coding standards and architecture.
6. Test your changes thoroughly, both locally and in the context of the full project.
7. Update the relevant documentation, including the README, if necessary.

## Reporting Issues 🐛

If you encounter any bugs, issues, or have feature requests, please open a new issue on the [GitHub repository](https://github.com/Scale3-Labs/langtrace/issues/new/choose). When reporting an issue, please provide the following information:

- A clear and descriptive title
- A detailed description of the problem, including any error messages or unexpected behavior
- Steps to reproduce the issue
- Your system information (operating system, Python version, etc.)

## Submitting Changes 📝

1. Commit your changes to your feature branch, using clear and descriptive commit messages.
2. Push your branch to your forked repository.
3. Create a new pull request (PR) on the original LangTrace repository, targeting the `main` branch.
4. In the PR description, provide a summary of the changes and any relevant information.
5. Address any feedback or requested changes from the project maintainers.

## Coding Standards 🤖

Please ensure your code adheres to the following coding standards:

- Follow the [PEP 8 style guide](https://www.python.org/dev/peps/pep-0008/) for Python code.
- Use type hints and docstrings to document your code.
- Write clear, concise, and informative commit messages.
- Ensure your code is well-tested and maintains or improves the project's overall test coverage.

## Documentation 📚

Good documentation is essential for the success of the LangTrace project. If your contribution involves changes to the project's functionality, please update the relevant sections of the README file or any other documentation as needed.

## Community 👥

We encourage you to join the LangTrace community and participate in discussions, ask questions, and share your ideas. You can connect with us through the following channels:

- [GitHub Discussions](https://github.com/Scale3-Labs/langtrace/discussions)
- [Discord Server](https://discord.langtrace.ai/)

Thank you for your interest in contributing to LangTrace! We look forward to collaborating with you. 
