# Contributing We welcome contributions to the TCP Trading Platform! Please follow these guidelines to ensure a smooth development process. ## Development Process 1. **Check for Existing Issues**: Before starting work on a new feature or bugfix, check the issue tracker to see if it has already been reported. 2. **Fork the Repository**: Create your own fork of the repository to work on your changes. 3. **Create a Branch**: Create a new branch for your feature or bugfix. Use a descriptive name (e.g., `feature/add-binance-support`, `fix/chart-rendering-bug`). 4. **Write Code**: * Adhere to the coding standards outlined in `CONTEXT.md`. * Maintain a modular structure and keep components decoupled. * Ensure all new code is well-documented with docstrings and comments. 5. **Update Documentation**: If you add or change a feature, update the relevant documentation in the `docs/` directory. 6. **Write Tests**: Add unit and integration tests for any new functionality. 7. **Submit a Pull Request**: Once your changes are complete, submit a pull request to the `main` branch. Provide a clear description of your changes and reference any related issues. ## Coding Standards * **Style**: Follow PEP 8 for Python code. * **Naming**: Use `PascalCase` for classes and `snake_case` for functions and variables. * **Type Hinting**: All function signatures must include type hints. * **Modularity**: Keep files small and focused on a single responsibility. ## Commit Messages * Use clear and descriptive commit messages. * Start with a verb in the imperative mood (e.g., `Add`, `Fix`, `Update`). * Reference the issue number if applicable (e.g., `Fix: Resolve issue #42`). Thank you for contributing!