# Contributing to OnChain Sage
Thank you for your interest in contributing to OnChain Sage! We welcome contributions from developers, designers, writers, and anyone passionate about building a better crypto trading tool.
## Code of Conduct
Please read and follow our [Code of Conduct](./CODE_OF_CONDUCT.md) to ensure a welcoming and supportive community.
## How to Contribute
### Reporting Issues
- **Search Existing Issues:** Before creating a new issue, please search the issue tracker to see if the issue has already been reported.
- **New Issues:** When reporting a new issue, please include as much detail as possible (e.g., steps to reproduce, expected behavior, screenshots, logs).
### Submitting Pull Requests (PRs)
1. **Fork the Repository**
- Click the "Fork" button on GitHub to create your own copy of the repository.
2. **Clone Your Fork**
```bash
git clone https://github.com/your-username/onchainsage.git
cd onchainsage
Create a Feature Branch
3. **Create a branch with a descriptive name (e.g., feature/twitter-integration or bugfix/login-error).**
```bash
git checkout -b feature/your-feature-name
Commit Your Changes
4. **Follow our commit message conventions:**
Feature: feat: [brief description]
Fix: fix: [brief description]
Docs: docs: [brief description]
Write clear, concise commit messages that explain what changes were made and why.
Push and Create a Pull Request
```bash
git push origin feature/your-feature-name
5. **Open a pull request (PR) on GitHub against the main branch.**
Include a detailed description of the changes, referencing any related issues.
Branching Strategy
Main Branch: Contains production-ready code.
Feature Branches: Create a new branch from main for every new feature or bugfix.
PR Reviews: All pull requests must be reviewed by at least one other contributor before merging.
6. **Code Standards & Testing**
Formatting & Linting: Use the provided linters and formatters (e.g., ESLint, Prettier for JavaScript/TypeScript, Flake8 for Python).
Testing: Write unit and integration tests for your changes. Ensure all tests pass before submitting a PR.
Documentation: Update the relevant documentation when making changes to code or adding new features.
7. **Communication**
Issues & PRs: Use GitHub Issues and Pull Requests for discussions and updates.
Community Channels: Join our [telegram] group (https://t.me/+Tg-UnlqyEcAxODBk) for real-time discussions and support.
Meetings: We may host community calls or developer meetings periodically. Keep an eye on the GitHub repo and community channels for announcements.
**Thank You!**
Your contributions are vital to the success of OnChain Sage. We appreciate your effort and commitment to building a robust, community-driven crypto trading tool. Happy coding!