- Fork the repository and clone it to your local machine
- Create a branch for your changes - an optimal name would be
fix/XYZorfeature/XYZwhereXYZis a short description of the changes - Make your changes locally
- Link your local repository to a project you want to test your changes on via
pnpm link path/to/tsky/core - Test your changes
- Write tests if possible and necessary (if you are not sure, ask in the pull request), also make sure your new changes are covered by the existing tests
- Make sure your changes conform to the linting and formatting rules via
pnpm run lint&&pnpm run format, if necessary runpnpm run lint:fixandpnpm run format:fixto automatically fix the issues that are automatically fixable - Commit your changes using Conventional Commits - this will be important for automatic versioning and changelog generation
- Push your changes to your fork
- Create a pull request, describe your changes, link to issues you are fixing and wait for a review
- If your changes are approved, they will be merged into the main repository
- Link your local repository to a project you want to test your changes on via
pnpm link path/to/tsky/core - Run
pnpm run devin your tsky repository to start the development build of the tsky - Run your test project and test your changes
- Write tests if possible and necessary (if you are not sure, ask in the pull request), also make sure your new changes are covered by the existing tests
- If you are satisfied with your changes, you can create a pull request
- Branch naming: When creating a branch for your changes, an optimal name would be
fix/XYZorfeature/XYZwhereXYZis a short description of the changes. - Code quality: Make sure your changes are of high quality and conform to the existing codebase.
- Conventional Commits: We use Conventional Commits for our commit messages. This is important for automatic versioning and changelog generation.
- Issues: If you are fixing an issue, make sure to link the issue in your pull request.
- Linting & Formatting: We use Biome for linting and formatting. Make sure your changes conform to the linting and formatting rules via
pnpm run lint&&pnpm run format, if necessary runpnpm run lint:fixandpnpm run format:fixto automatically fix the issues that are automatically fixable. - Package Management: We use pnpm for package management. Make sure to use
pnpminstead ofnpmoryarnfor installing packages. - Stay respectful: Always stay respectful and constructive in your communication with other contributors and maintainers and respect their opinions and decisions.
- Testing: We use Vitest for testing. Make sure to write tests for your changes if possible and necessary (if you are not sure, ask in the pull request), also make sure your new changes are covered by the existing tests.