data-structure-typed/CONTRIBUTING.md

2.7 KiB

Contributing

General Rules

  • As much as possible, try to follow the existing format of markdown and code.
  • Don't forget to run npm run check,npm run lint and npm test before submitting pull requests.
  • Make sure that 100% of your code is covered by tests.

Conventional Commits

Identifier Purpose
feat Introduce a new feature
fix Fix an error or defect
chore General maintenance tasks (e.g., build, configuration, dependencies)
docs Documentation changes (additions, updates, fixes)
style Changes in code style, formatting, whitespace, etc. (no impact on functionality)
refactor Code refactoring (typically, no functional changes)
perf Performance optimizations
test Changes related to tests (additions, updates, fixes)
build Changes to the build system or external dependencies
ci Changes related to continuous integration and deployment (CI/CD)
revert Revert a previous commit
merge Merge branches or pull requests
release Commits related to version releases

Contributing new features

  • To ensure that there are no conflicts when merging the branch into the main branch,
  • it is necessary to perform the following steps each time new development is going to be conducted on non-main branches:
  • git pull,
  • git rebase main
  • resolve conflicts before continuing the development.
  • After new features developed
  • git add .
  • git commit -m "feat(rbtree): features
  • feat(rbtree): needs to be replaced by the module you have modified
  • features must be replaced by the detailed description about the features you implemented
  • git push
  • click the New pull request on Github https://github.com/zrwusa/data-structure-typed/branches

Contributing New Data Structures

  • Make your pull requests to be specific and focused. Instead of contributing "several data structures" all at once contribute them all one by one separately (i.e. one pull request for "RedBlackTree", another one for "AATree" and so on).
  • Modify README.md for each of the data structure with explanations of the algorithm and with links to further readings.
  • Describe what you do in code using comments.