Thank you for your interest in contributing to FlowViz! This project aims to make cybersecurity attack flow analysis more accessible and visual.
- Fork the repository and clone your fork locally
- Install dependencies:
npm install - Set up environment: Copy
.env.exampleto.envand add your Anthropic API key - Start development:
npm run dev:full(runs both frontend and backend)
- Check existing issues to see what's needed
- For major changes, please open an issue first to discuss your approach
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes with clear, focused commits
- Test your changes thoroughly
- Update documentation if needed
- TypeScript: All code should be properly typed
- ESLint: Run
npm run lintto check for issues - Formatting: Follow existing code style and patterns
- Testing: Ensure your changes don't break existing functionality
- Use the issue template if available
- Include steps to reproduce, expected vs actual behavior
- Add relevant error messages and screenshots
- Describe the feature and why it would be useful
- Consider if it aligns with the project's scope
- Be open to discussion about implementation approaches
- UI/UX improvements: Better accessibility, mobile responsiveness, visual polish
- Performance optimizations: Faster loading, better memory usage
- New export formats: Additional ways to export attack flows
- Documentation: README improvements, code comments, examples
- Clarify setup instructions
- Add usage examples
- Improve troubleshooting guides
- Fix typos and broken links
- Test your changes: Make sure everything works as expected
- Update documentation: If you changed functionality, update relevant docs
- Create a pull request with:
- Clear title describing the change
- Description of what you changed and why
- Any relevant issue numbers
- Screenshots for UI changes
- Pull requests will be reviewed for code quality, functionality, and alignment with project goals
- Feedback may be provided - please be open to suggestions
- Once approved, maintainers will merge your changes
- Be respectful: Treat all contributors with kindness and respect
- Stay on topic: Keep discussions focused on the project
- Help others: Share knowledge and assist fellow contributors
- Be patient: Reviews and responses may take time
Feel free to open an issue for questions about contributing, or reach out via the project's communication channels.
By contributing to FlowViz, you agree that your contributions will be licensed under the same MIT License that covers the project.