Thank you for considering contributing to HY Vue Gantt! This document provides guidelines and instructions to help you contribute effectively to this project.
- 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
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
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
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
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
develop
branch - Use our Pull Request Template to provide context for your changes
main
- Contains the stable version of the codedevelop
- Integration branch for featuresfeature/*
- For new features or enhancementsbugfix/*
- For bug fixesrelease/*
- For preparing releases
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 colors
fix(timeaxis): resolve issue with incorrect date formatting
docs(readme): update installation instructions
- Run tests before submitting a pull request:
npm run test
- Add new tests for your changes when applicable
- We use Vitest for unit tests
- 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
- 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
- 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!