Skip to content

Latest commit

 

History

History
83 lines (61 loc) · 2.96 KB

File metadata and controls

83 lines (61 loc) · 2.96 KB

Contributing to FlowViz

Thank you for your interest in contributing to FlowViz! This project aims to make cybersecurity attack flow analysis more accessible and visual.

Getting Started

  1. Fork the repository and clone your fork locally
  2. Install dependencies: npm install
  3. Set up environment: Copy .env.example to .env and add your Anthropic API key
  4. Start development: npm run dev:full (runs both frontend and backend)

Development Process

Before You Start

  • Check existing issues to see what's needed
  • For major changes, please open an issue first to discuss your approach

Making Changes

  1. Create a feature branch: git checkout -b feature/your-feature-name
  2. Make your changes with clear, focused commits
  3. Test your changes thoroughly
  4. Update documentation if needed

Code Standards

  • TypeScript: All code should be properly typed
  • ESLint: Run npm run lint to check for issues
  • Formatting: Follow existing code style and patterns
  • Testing: Ensure your changes don't break existing functionality

Types of Contributions

🐛 Bug Reports

  • Use the issue template if available
  • Include steps to reproduce, expected vs actual behavior
  • Add relevant error messages and screenshots

🚀 Feature Requests

  • 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

🔧 Code Contributions

  • 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

📖 Documentation

  • Clarify setup instructions
  • Add usage examples
  • Improve troubleshooting guides
  • Fix typos and broken links

Submitting Changes

  1. Test your changes: Make sure everything works as expected
  2. Update documentation: If you changed functionality, update relevant docs
  3. 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

Review Process

  • 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

Community Guidelines

  • 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

Questions?

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.