Dendron Review Process

Summary

This goes into how we do code review (via pull requests)

Prerequisites

We recommend using the github cli to work on pull requests (not required but helpful). More details on the setup here

Steps

Starting work

To start work on a new feature, clone the dendron repo and checkout a new branch. This should be in the format of {category}/{feature-description}

See Assign Category to Task (Private) for picking out the category

Work in Progress

  • if your still iterating on your pull request or if your working on feedback but its not ready yet, put your PR into draft mode until it is ready

Branch Style

All prs should start with [feat|fix|enhance|]/[{description-of-pr-in-kebab-case}]

- `eg. feat/add-thisthing`

Commit Style

We follow conventional commits.

This means commits have the following format:

{category}({scope}): {description}

{additional details}

An example commit:

enhance(publish): speed up publishing by 500%

Use cached version of notes to generate metadata instead of building from scratch

Pull Request

  • dendron discord: where you can go for help and talk to other contributors

first time pull request

  • if its your first pull request to Dendron, watch out for the CLA bot that will ask you to agree to Dendron's CLA
  • if its your first pull request and you're on our Discord, make sure that Kevin gives you the horticulturalist role by adding your discord as part of the description πŸ‘¨β€πŸŒΎπŸ‘©β€πŸŒΎ
  • (optional) ping @Dendron Team in the #dev channel of our discord - we usually respond to PRs within 24h

history

  • make sure the commit message follows Dendron's commit style
  • make sure the commit message is in front of the pull request
  • make sure your branch names adhere to our branch style
  • if this pull request is addressing an existing issue, make sure to link this PR to the issue that it is resolving.

docs

  • if your change reflects documentation changes, also submit a PR to dendron-site and mention the doc PR link in your current PR

code

implementation

  • can this be simplified?
  • does a similar function already exist in the codebase? if so, why can't it be reused?

performance

  • does this change adversely impact performance?

testing

analytics

  • if you are adding analytics related changes, make sure the Telemetry docs are updated

area specific

css

If you are introducing CSS changes, please confirm that

  • display is correct for following dimensions
    • sm: screen β‰₯ 576px, eg. iphonex, (375x812)
    • lg: screen β‰₯ 992px
    • xxl: screen β‰₯ 1600px eg. mac (1600x900)
  • display is correct for following browsers (across the various dimensions)
    • safari
    • firefox
    • chrome

Correspondence

A conversation should only be resolved when the comment has been addressed and is reflected in the pull request. At that point, the conversation should be resolved by the person that made the pull request.


Backlinks