Skip to content

Latest commit

 

History

History
138 lines (97 loc) · 3.47 KB

File metadata and controls

138 lines (97 loc) · 3.47 KB

Contributing to StepGuide

Thank you for your interest in contributing to StepGuide! This document provides guidelines for contributing to the project.

🤝 How to Contribute

Reporting Bugs

  1. Check if the bug has already been reported in Issues
  2. 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

Suggesting Enhancements

  1. Check existing issues for similar suggestions
  2. Create a new issue describing:
    • Use case for the enhancement
    • Proposed solution or implementation
    • Potential impact on existing functionality

Pull Requests

  1. Fork the repository and create your branch from master
  2. Make your changes:
    • Follow existing code style
    • Add tests if applicable
    • Update documentation
  3. Test your changes:
    • Ensure all tests pass
    • Test in your local environment
  4. Commit your changes:
    • Use clear, descriptive commit messages
    • Follow conventional commits format (optional but preferred)
  5. Push to your fork and submit a pull request
  6. Wait for review and address any feedback

📝 Code Style Guidelines

Python

  • Follow PEP 8 style guide
  • Use black for code formatting
  • Use pylint for linting
  • Add docstrings for functions and classes
  • Type hints are encouraged

TypeScript/JavaScript

  • Follow the existing ESLint configuration
  • Use meaningful variable and function names
  • Prefer functional components in React
  • Use TypeScript types/interfaces

Commit Messages

<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

🧪 Testing

Before Submitting

  • Run all tests and ensure they pass
  • Test your changes in a local environment
  • Check for any console errors or warnings

Writing Tests

  • Add tests for new functionality
  • Update existing tests if you modify functionality
  • Aim for good test coverage

📚 Documentation

  • 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

🔒 Security

  • Never commit API keys, secrets, or credentials
  • Report security vulnerabilities privately (see SECURITY.md)
  • Follow security best practices outlined in SECURITY.md

💬 Communication

  • Be respectful and constructive
  • Ask questions if anything is unclear
  • Provide context in discussions
  • Be patient - maintainers may take time to respond

📋 Development Setup

See README.md for detailed setup instructions.

✅ Checklist Before Submitting PR

  • 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

📜 License

By contributing, you agree that your contributions will be licensed under the MIT License.

🙏 Thank You!

Your contributions help make this project better for everyone!