Contribute

    1. Create a fork on GitHub
    2. Clone your fork to your machine
    • For ssh:

    • For https:

      • This means you can push/pull as normal to your own repo, but also easily track & update from the NvChad repo
      • For ssh:

        1. $ git remote add upstream git@github.com:NvChad/NvChad.git
      • For https:

        1. $ git remote add upstream https://github.com/NvChad/NvChad.git
    1. Any time you create a branch to do some work, use

      • This means that there are no Merge NvChad/main into devBranch commits, which are to be avoided
      1. $ git pull upstream --rebase
    • When making a PR (pull request), please be very descriptive about what you’ve done!

    • PR’s are always welcomed however NvChad aims to be less bloated. So PR’s regarding existing plugin’s enhancement and creating new features with existing plugins itself (without adding a new plugin), bug fixes and corrections are more encouraged.

    • NvChad won’t keep adding more and more features (like adding new plugins) as requested if they feel unneeded and aren’t usable by the majority!! If you think the plugin you want to be added is very useful and many NvChaders would find it useful, then such feature’s PR is welcomed!

    • But adding specific features like adding config for wakatime etc will be added in this . This lets the user select the things only they want (adding configs from extra configs).

    1. Run the following:

      1. $ git rebase -i HEAD~<NUMBER OF COMMITS TO GO BACK>

      Example

      1. $ git rebase -i HEAD~4
    2. Change the pick commands to whatever you wish, you may wish to d drop or e edit a commit. Then save & quit this git file to run it.

      Example

      1. pick 28b2dcb statusline add lsp status
      2. pick dad9a39 feat: Added lsp radial progress
      3. d b281b53 avoid using q! for quitting vim
      4. # Rebase 52b655b..b281b53 onto 52b655b (4 commands)
      5. #
      6. # Commands:
      7. # p, pick <commit> = use commit
      8. # r, reword <commit> = use commit, but edit the commit message
      9. # e, edit <commit> = use commit, but stop for amending
      10. # s, squash <commit> = use commit, but meld into previous commit
      11. # x, exec <command> = run command (the rest of the line) using shell
      12. # b, break = stop here (continue rebase later with 'git rebase --continue')
      13. # d, drop <commit> = remove commit
      14. # l, label <label> = label current HEAD with a name
      15. # t, reset <label> = reset HEAD to a label
      16. # . create a merge commit using the original merge commit's
      17. # . message (or the oneline, if no original merge commit was
      18. # . specified). Use -c <commit> to reword the commit message.
      19. #
      20. # These lines can be re-ordered; they are executed from top to bottom.
      21. #
      22. # If you remove a line here THAT COMMIT WILL BE LOST.
      23. #
      24. # However, if you remove everything, the rebase will be aborted.
      25. #
      26. # Note that empty commits are commented out
    3. If you picked drop you are done, if you picked edit then edit your files, then run:

      1. $ git add <files>
    4. Once you have edited & added your files, run: