Спасибо за интерес к улучшению TLScript! Мы ценим вклад сообщества.
Если вы нашли ошибку:
- Убедитесь, что ошибка не была уже сообщена в Issues
- Создайте новый Issue с подробным описанием:
- Используемая ОС и версия
- Шаги для воспроизведения
- Ожидаемое поведение
- Фактическое поведение
- Логи ошибок
Для новых функций или улучшений:
- Создайте Issue с тегом "enhancement"
- Опишите предлагаемую функцию
- Объясните, зачем она нужна
- Предложите возможную реализацию
- Fork репозитория
- Создайте feature branch (
git checkout -b feature/AmazingFeature) - Commit ваши изменения (
git commit -m 'Add some AmazingFeature') - Push в branch (
git push origin feature/AmazingFeature) - Откройте Pull Request
- Используйте
#!/bin/bashв качестве shebang - Добавляйте комментарии для сложной логики
- Используйте
set -eдля остановки на ошибках в критических частях - Проверяйте возвращаемые значения команд
- Используйте
[[ ]]вместо[ ]для тестов
# Хорошо
if [[ -f "$file" ]]; then
echo "File exists"
fi
# Плохо
if [ -f $file ]
then
echo "File exists"
fi# Именуйте функции описательно
install_dependencies() {
local package="$1"
# код функции
}Перед отправкой PR:
- Протестируйте скрипт на чистой системе
- Убедитесь, что все функции работают
- Проверьте совместимость с разными ОС
- Проверьте, что не сломались существующие функции
Запустите следующие тесты локально перед отправкой PR:
# Проверка синтаксиса Bash
bash -n cert_manager.sh
# ShellCheck анализ (требует установки shellcheck)
sudo apt-get install shellcheck # на Ubuntu/Debian
shellcheck -S warning cert_manager.sh
# Базовый функциональный тест
echo "0" | sudo ./cert_manager.shПри создании Pull Request автоматически запускаются следующие тесты:
- ShellCheck - статический анализ кода Bash
- Синтаксис - проверка корректности синтаксиса
- Безопасность - сканирование на потенциальные уязвимости
- Мультиплатформенность - тесты на Ubuntu, Debian, CentOS, Fedora, Arch, openSUSE
- Качество кода - анализ стиля и лучших практик
Все тесты должны пройти успешно перед слиянием PR.
- Обновляйте README.md при изменении функциональности
- Добавляйте примеры использования для новых функций
- Документируйте любые новые зависимости
- Код протестирован на Ubuntu/Debian
- Код протестирован на CentOS/RHEL
- Обновлена документация
- Добавлены комментарии к сложному коду
- Нет конфликтов с main веткой
- Commit сообщения описательные
Если у вас есть вопросы, создайте Issue с тегом "question" или свяжитесь с мейнтейнерами.
Спасибо за ваш вклад! 🙏
Thank you for your interest in improving TLScript! We value community contributions.
If you found a bug:
- Make sure the bug hasn't been already reported in Issues
- Create a new Issue with detailed description:
- Used OS and version
- Steps to reproduce
- Expected behavior
- Actual behavior
- Error logs
For new features or improvements:
- Create an Issue with "enhancement" tag
- Describe the proposed feature
- Explain why it's needed
- Suggest possible implementation
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Use
#!/bin/bashas shebang - Add comments for complex logic
- Use
set -eto stop on errors in critical parts - Check command return values
- Use
[[ ]]instead of[ ]for tests
# Good
if [[ -f "$file" ]]; then
echo "File exists"
fi
# Bad
if [ -f $file ]
then
echo "File exists"
fi# Name functions descriptively
install_dependencies() {
local package="$1"
# function code
}Before submitting PR:
- Test the script on a clean system
- Ensure all functions work
- Check compatibility with different OS
- Verify existing functions aren't broken
Run the following tests locally before submitting PR:
# Bash syntax check
bash -n cert_manager.sh
# ShellCheck analysis (requires shellcheck installation)
sudo apt-get install shellcheck # on Ubuntu/Debian
shellcheck -S warning cert_manager.sh
# Basic functional test
echo "0" | sudo ./cert_manager.shWhen creating a Pull Request, the following tests run automatically:
- ShellCheck - static analysis of Bash code
- Syntax - validation of script syntax
- Security - scanning for potential vulnerabilities
- Multi-platform - tests on Ubuntu, Debian, CentOS, Fedora, Arch, openSUSE
- Code Quality - analysis of style and best practices
All tests must pass successfully before PR can be merged.
- Update README.md when changing functionality
- Add usage examples for new functions
- Document any new dependencies
- Code tested on Ubuntu/Debian
- Code tested on CentOS/RHEL
- Documentation updated
- Comments added to complex code
- No conflicts with main branch
- Descriptive commit messages
If you have questions, create an Issue with "question" tag or contact maintainers.
Thank you for your contribution! 🙏