First off, thank you for considering contributing to FACTIF-AI! It's people like you that make FACTIF-AI such a great tool.
By participating in this project, you are expected to uphold our Code of Conduct.
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.)
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
- Fork the repo and create your branch from
main
- If you've added code that should be tested, add tests
- If you've changed APIs, update the documentation
- Ensure the test suite passes
- Make sure your code follows the existing style
- Issue the pull request
- Clone the repository
- Install dependencies:
npm run install:all
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes
- Run tests:
npm test
- Commit your changes:
git commit -m 'Add some feature'
- Push to your fork:
git push origin feature/your-feature-name
- Submit a pull request
- 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
- 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
- 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
- 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
- Follow security best practices
- Never commit sensitive information
- Report security vulnerabilities privately
- Use secure dependencies
- Keep dependencies updated
bug
: Something isn't workingenhancement
: New feature or requestdocumentation
: Documentation improvementsgood first issue
: Good for newcomershelp wanted
: Extra attention neededsecurity
: Security-related issues
Contributors will be recognized in our README.md and release notes.
Feel free to open an issue with your question or contact the maintainers directly.
Thank you for contributing to FACTIF-AI! 🎉