Thank you for your interest in contributing to ymsdk! This document provides guidelines for contributing.
- Fork and clone the repository
- Install Go 1.25+ and golangci-lint
- Run tests:
go test ./... - Run linter:
golangci-lint run --config .golangci.yml
- Create a feature branch from
master - Make your changes with tests
- Ensure all tests pass and linter is clean
- Submit a pull request
- Follow existing code patterns and architecture
- All public APIs must have doc comments
- Table-driven tests are preferred
- Use
internal/testutil.FakeDoerfor HTTP mocking in tests - Line length limit: 180 characters
- Import order: stdlib → external →
github.com/rekurt/packages
- Keep PRs focused on a single change
- Include tests for new functionality
- Update documentation if adding public API
- Reference related issues in the PR description
Use GitHub Issues with the provided templates for bug reports and feature requests.
Спасибо за интерес к проекту! Ниже описаны правила для контрибьюторов.
- Форкните и клонируйте репозиторий
- Установите Go 1.25+ и golangci-lint
- Запустите тесты:
go test ./... - Запустите линтер:
golangci-lint run --config .golangci.yml
- Создайте feature-ветку от
master - Внесите изменения с тестами
- Убедитесь, что тесты проходят и линтер чист
- Отправьте pull request
- Следуйте существующим паттернам и архитектуре
- Все публичные API должны иметь doc-комментарии
- Предпочтительны table-driven тесты
- Используйте
internal/testutil.FakeDoerдля мокирования HTTP в тестах - Ограничение длины строки: 180 символов
- Порядок импортов: stdlib → external →
github.com/rekurt/
- PR должен быть сфокусирован на одном изменении
- Включайте тесты для новой функциональности
- Обновляйте документацию при добавлении публичного API
- Ссылайтесь на связанные issues в описании PR
Используйте GitHub Issues с предоставленными шаблонами для баг-репортов и запросов функциональности.