Thank you for your interest in contributing to Deno Flow Parser! This document provides guidelines and instructions for contributing.
Please be respectful and considerate of others when contributing to this project.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/sf-flow-parser.git cd sf-flow-parser
- Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name
- Deno v1.37.0 or higher
# Run all tests
deno task test
# Run all test with coverage
deno task test:coverage
# Run specific test file
deno task test src/test/flow.test.ts
- Follow the existing code style in the project
- Use meaningful variable and function names
- Add JSDoc comments for all public functions and types
- Keep functions small and focused on a single responsibility
- Use TypeScript types for better code quality and developer experience
- Use clear and descriptive commit messages
- Start with a verb in the present tense (e.g., "Add", "Fix", "Update")
- Reference issue numbers when applicable
Example:
Add support for scheduledPaths connectors
- Update BaseFlowNodeWithConnector interface to include scheduledPaths
- Enhance getConnectors function to handle scheduledPaths
- Add tests for the new functionality
Fixes #42
- Update the README.md with details of changes if applicable
- Add or update tests for any new or modified functionality
- Ensure all tests pass before submitting your PR
- Update documentation for any changed functionality
- The PR should work on the main branch
When adding new features:
- Start by creating an issue describing the feature
- Discuss the feature with maintainers
- Implement the feature with appropriate tests
- Update documentation
- Submit a pull request
When reporting bugs:
- Use the GitHub issue tracker
- Describe the bug in detail
- Include steps to reproduce
- Include information about your environment (Deno version, OS, etc.)
- If possible, provide a minimal code example that reproduces the issue
Feature requests are welcome! Please create an issue describing the feature and why it would be valuable.
- Keep documentation up-to-date with code changes
- Add JSDoc comments for all public functions and types
- Update the README.md for significant changes
- Write tests for all new functionality
- Ensure existing tests pass with your changes
- Aim for high test coverage
By contributing to this project, you agree that your contributions will be licensed under the project's MIT license.