Skip to content

Latest commit

 

History

History
113 lines (80 loc) · 3.32 KB

CONTRIBUTING.md

File metadata and controls

113 lines (80 loc) · 3.32 KB

Contributing to FACTIF-AI

First off, thank you for considering contributing to FACTIF-AI! It's people like you that make FACTIF-AI such a great tool.

Code of Conduct

By participating in this project, you are expected to uphold our Code of Conduct.

How Can I Contribute?

Reporting Bugs

Before creating bug reports, please check the existing issues to avoid duplicates. When you create a bug report, include as many details as possible:

  • Use a clear and descriptive title
  • Describe the exact steps to reproduce the problem
  • Describe the behavior you observed and what behavior you expected
  • Include screenshots if possible
  • Include details about your environment (OS, Node.js version, etc.)

Suggesting Enhancements

If you have a suggestion for new features or improvements:

  • Use a clear and descriptive title
  • Provide a detailed description of the proposed functionality
  • Explain why this enhancement would be useful
  • List any alternatives you've considered
  • Include mockups or examples if applicable

Pull Requests

  1. Fork the repo and create your branch from main
  2. If you've added code that should be tested, add tests
  3. If you've changed APIs, update the documentation
  4. Ensure the test suite passes
  5. Make sure your code follows the existing style
  6. Issue the pull request

Development Process

  1. Clone the repository
  2. Install dependencies: npm run install:all
  3. Create a new branch: git checkout -b feature/your-feature-name
  4. Make your changes
  5. Run tests: npm test
  6. Commit your changes: git commit -m 'Add some feature'
  7. Push to your fork: git push origin feature/your-feature-name
  8. Submit a pull request

Style Guide

Git Commit Messages

  • Use the present tense ("Add feature" not "Added feature")
  • Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
  • Limit the first line to 72 characters or less
  • Reference issues and pull requests liberally after the first line

JavaScript/TypeScript Style Guide

  • Use TypeScript for new code
  • Follow the existing code style
  • Use meaningful variable names
  • Add comments for complex logic
  • Keep functions focused and small
  • Use async/await over promises
  • Write unit tests for new functionality

Documentation Style Guide

  • Use Markdown for documentation
  • Keep language clear and concise
  • Include code examples where appropriate
  • Update README.md if necessary
  • Document all new features and changes

Testing

  • Write unit tests for new features
  • Ensure all tests pass before submitting PR
  • Include integration tests where appropriate
  • Test edge cases and error conditions
  • Document test scenarios

Security

  • Follow security best practices
  • Never commit sensitive information
  • Report security vulnerabilities privately
  • Use secure dependencies
  • Keep dependencies updated

Additional Notes

Issue and Pull Request Labels

  • bug: Something isn't working
  • enhancement: New feature or request
  • documentation: Documentation improvements
  • good first issue: Good for newcomers
  • help wanted: Extra attention needed
  • security: Security-related issues

Recognition

Contributors will be recognized in our README.md and release notes.

Questions?

Feel free to open an issue with your question or contact the maintainers directly.

Thank you for contributing to FACTIF-AI! 🎉