31 lines
1.7 KiB
Markdown
31 lines
1.7 KiB
Markdown
|
|
# 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!
|