Thank you for your interest in contributing to Scriptlog! We welcome contributions from the community.
There are several ways you can help improve Scriptlog:
- Reporting Issues: Report bugs, request features, or suggest improvements
- Documentation: Improve existing docs or create new documentation
- Code Contributions: Submit bug fixes, new features, or improvements
- Testing: Test existing features and report issues
Before contributing, ensure you have:
- A GitHub account
- Basic understanding of Git and GitHub workflows
- Familiarity with PHP 7.4+ and MySQL/MariaDB
- Search first: Check if the issue already exists before creating a new one
- Be detailed: Include as much information as possible:
- PHP version
- Database version (MySQL/MariaDB)
- Steps to reproduce
- Expected vs actual behavior
- Error messages/screenshots
- Security issues: For security vulnerabilities, do not open a public issue. Contact us at
scriptlog@yandex.cominstead
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes following our Developer Guide
- Write tests for new functionality (if applicable)
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Follow PSR coding standards
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions focused and single-purpose
Scriptlog follows a layered architecture:
Controller → Service → DAO → Database
When contributing new features:
- Database: Add table definitions to
install/include/dbtable.php - DAO: Create class in
lib/dao/ - Service: Create class in
lib/service/ - Controller: Create class in
lib/controller/ - Routes: Add route patterns in
lib/core/Bootstrap.php
- Always use prepared statements for database queries
- Sanitize user input using existing utility functions
- Include CSRF protection for forms
- Never commit secrets or credentials
Run tests before submitting:
vendor/bin/phpunitContributions to documentation are welcome:
- Improve existing guides in
docs/ - Fix typos and unclear explanations
- Add examples where helpful
By contributing to Scriptlog, you agree that your contributions will be licensed under the MIT License.
- For security issues:
scriptlog@yandex.com - For general questions: Use GitHub Discussions
- Issue tracker: https://github.com/cakmoel/Scriptlog/issues