Thank you for your interest in contributing to StepGuide! This document provides guidelines for contributing to the project.
- Check if the bug has already been reported in Issues
- If not, create a new issue with:
- Clear, descriptive title
- Detailed description of the bug
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, Python/Node version, etc.)
- Screenshots if applicable
- Check existing issues for similar suggestions
- Create a new issue describing:
- Use case for the enhancement
- Proposed solution or implementation
- Potential impact on existing functionality
- Fork the repository and create your branch from
master - Make your changes:
- Follow existing code style
- Add tests if applicable
- Update documentation
- Test your changes:
- Ensure all tests pass
- Test in your local environment
- Commit your changes:
- Use clear, descriptive commit messages
- Follow conventional commits format (optional but preferred)
- Push to your fork and submit a pull request
- Wait for review and address any feedback
- Follow PEP 8 style guide
- Use
blackfor code formatting - Use
pylintfor linting - Add docstrings for functions and classes
- Type hints are encouraged
- Follow the existing ESLint configuration
- Use meaningful variable and function names
- Prefer functional components in React
- Use TypeScript types/interfaces
<type>(<scope>): <subject>
<body>
<footer>
Types: feat, fix, docs, style, refactor, test, chore
Example:
feat(dashboard): add file deletion functionality
- Added delete button to file list
- Implemented confirmation dialog
- Updated API endpoint to handle deletion
Closes #123
- Run all tests and ensure they pass
- Test your changes in a local environment
- Check for any console errors or warnings
- Add tests for new functionality
- Update existing tests if you modify functionality
- Aim for good test coverage
- Update README.md if you add new features
- Update JSDoc/docstrings for code changes
- Add comments for complex logic
- Update SECURITY.md for security-related changes
- Never commit API keys, secrets, or credentials
- Report security vulnerabilities privately (see SECURITY.md)
- Follow security best practices outlined in SECURITY.md
- Be respectful and constructive
- Ask questions if anything is unclear
- Provide context in discussions
- Be patient - maintainers may take time to respond
See README.md for detailed setup instructions.
- Code follows the project's style guidelines
- I have tested my changes thoroughly
- I have added/updated tests as needed
- I have updated documentation as needed
- My commits have clear messages
- I have checked for merge conflicts
- All tests pass
- No new warnings or errors introduced
By contributing, you agree that your contributions will be licensed under the MIT License.
Your contributions help make this project better for everyone!