Contributing to HY Vue Gantt
February 25, 2025 ยท View on GitHub
Thank you for considering contributing to HY Vue Gantt! This document provides guidelines and instructions to help you contribute effectively to this project.
Table of Contents
Getting Started
Setting Up the Development Environment
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/Xeyos88/HyVueGantt.git cd hy-vue-gantt - Install dependencies:
npm install - Create a branch for your work:
git checkout -b feature/your-feature-name - Start the development server:
npm run dev
Understanding the Project Structure
The project is organized as follows:
/src
/components # Vue components
/composables # Vue composables (custom hooks)
/provider # Dependency injection providers
/types # TypeScript type definitions
/color-schemes.ts # Color scheme definitions
How to Contribute
Reporting Bugs
If you find a bug, please report it by creating an issue using our Bug Report Template. Before creating a new issue, please check if the bug has already been reported.
When reporting a bug, include:
- A clear and descriptive title
- Steps to reproduce the issue
- Expected behavior and actual behavior
- Screenshots if applicable
- Any relevant code snippets or error messages
Suggesting Features
We welcome suggestions for new features or enhancements! Please use our Feature Request Template to submit your ideas.
Feature requests should:
- Clearly describe the problem or need the feature addresses
- Explain how the feature would benefit users
- Include examples of how the feature might be used
- Consider potential implementation challenges
Pull Requests
Follow these steps to submit a pull request:
- Ensure your code follows our Style Guide
- Update or add tests for your changes
- Update documentation to reflect your changes
- Make sure all tests pass
- Create a pull request against the
developbranch - Use our Pull Request Template to provide context for your changes
Development Workflow
Branching Strategy
main- Contains the stable version of the codedevelop- Integration branch for featuresfeature/*- For new features or enhancementsbugfix/*- For bug fixesrelease/*- For preparing releases
Commit Guidelines
We follow Conventional Commits for commit messages. This helps us generate changelogs and understand the purpose of each commit.
Format: type(scope): description
Types:
feat: A new featurefix: A bug fixdocs: Documentation only changesstyle: Changes that do not affect the meaning of the coderefactor: A code change that neither fixes a bug nor adds a featureperf: A code change that improves performancetest: Adding missing tests or correcting existing testschore: Changes to the build process or auxiliary tools
Examples:
feat(grid): add ability to customize grid line colorsfix(timeaxis): resolve issue with incorrect date formattingdocs(readme): update installation instructions
Testing
- Run tests before submitting a pull request:
npm run test - Add new tests for your changes when applicable
- We use Vitest for unit tests
Style Guide
Code Style
- We use ESLint and Prettier for code formatting
- Run linting before submitting a PR:
npm run lint - TypeScript is preferred for all new code
- Vue 3 Composition API is our standard for components
- Follow Vue style guide for component structure
Documentation Style
- Use JSDoc comments for functions, classes, and methods
- Keep comments up-to-date with code changes
- Write clear, concise documentation that explains the "why" not just the "how"
- Include examples where helpful
Release Process
- We use semantic versioning (MAJOR.MINOR.PATCH)
- Changes are documented in CHANGELOG.md
- Release branches are created from develop for final testing
- After testing, releases are merged to main and tagged
Thank you for contributing to HY Vue Gantt!