summaryrefslogtreecommitdiff
path: root/mac/.config/LunarVim/CONTRIBUTING.md
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-08-23 12:42:37 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-08-23 12:42:37 +0900
commit07d294425a98ee5d1e22d03e2b24ae2c76e487c0 (patch)
treea6818f0d64438c5fdb88b00a35d944f80c056213 /mac/.config/LunarVim/CONTRIBUTING.md
parent6fc28cdb3529ca8ee864cb5c41674cb0a4af72a1 (diff)
updates
Diffstat (limited to 'mac/.config/LunarVim/CONTRIBUTING.md')
-rw-r--r--mac/.config/LunarVim/CONTRIBUTING.md116
1 files changed, 116 insertions, 0 deletions
diff --git a/mac/.config/LunarVim/CONTRIBUTING.md b/mac/.config/LunarVim/CONTRIBUTING.md
new file mode 100644
index 0000000..d7ab961
--- /dev/null
+++ b/mac/.config/LunarVim/CONTRIBUTING.md
@@ -0,0 +1,116 @@
+# Contributing to LunarVim
+
+Welcome to the LunarVim contributing guide. We are excited about the prospect of you joining our [community](https://github.com/lunarvim/LunarVim/graphs/contributors)!
+
+There are many opportunities to contributing to the project at any level. Every contribution is highly valued and no contribution is too small.
+
+You do not need to write code to contribute to this project. Documentation, demos, and feature design advancements are a key part of this project's growth.
+
+One of the best ways to begin contributing in a meaningful way is by helping find bugs and filing issues for them.
+
+## Getting Started
+
+1. Follow the [Installation](https://www.lunarvim.org/docs/installation) guide
+2. Link your fork with the repository `git remote add upstream https://github.com/lunarvim/LunarVim.git`, or use `gh fork`
+3. That's it! You can now `git fetch upstream` and `git rebase [-i] upstream/master` to update your branches with the latest contributions.
+
+<br />
+
+## Setting up development tools
+
+### For editing Lua files
+
+1. Formatter: [stylua](https://github.com/johnnymorganz/stylua#installation).
+2. Linter: [luacheck](https://github.com/luarocks/luacheck).
+
+### For editing shell scripts
+
+1. Formatter: [shfmt](https://github.com/mvdan/sh#shfmt).
+2. Linter: [shellcheck](https://github.com/koalaman/shellcheck).
+
+### (Optional)
+
+Install [pre-commit](https://github.com/pre-commit/pre-commit) which will run all linters and formatters for you as a pre-commit-hook.
+
+<br />
+
+## Code Conventions
+
+All lua code is formatted with [Stylua](https://github.com/JohnnyMorganz/StyLua).
+```bash
+# configurations are already stored in .stylua.toml
+stylua -c .
+```
+
+All shell code is formatted according to [Google Shell Style Guide](https://google.github.io/styleguide/shellguide.html)
+* use two spaces instead of tabs
+```bash
+shfmt -i 2 -ci -bn -l -d .
+```
+
+<br />
+
+## Pull Requests (PRs)
+
+- To avoid duplicate work, create a draft pull request.
+- Your PR must pass all the [automated-ci-tests](https://github.com/neovim/neovim/actions).
+- Use a [git-feature-branch](https://www.atlassian.com/git/tutorials/comparing-workflows) instead of the master/rolling branch.
+- Use a [rebase-workflow](http://git-scm.com/book/en/v2/Git-Branching-Rebasing).
+- Title the PR the same way as commit headers
+
+### Commit Messages
+* Commit header is limited to 72 characters.
+* Commit body and footer is limited to 100 characters per line.
+
+**Commit header format:**
+```
+<type>(<scope>?): <summary>
+ │ │ │
+ │ │ └─> Present tense. 'add something...'(O) vs 'added something...'(X)
+ │ │ Imperative mood. 'move cursor to...'(O) vs 'moves cursor to...'(X)
+ │ │ Not capitalized.
+ │ │ No period at the end.
+ │ │
+ │ └─> Commit Scope is optional, but strongly recommended.
+ │ Use lower case.
+ │ 'plugin', 'file', or 'directory' name is suggested, but not limited.
+ │
+ └─> Commit Type: build|ci|docs|feat|fix|perf|refactor|test
+```
+
+##### Commit Type Guideline
+
+* **build**: changes that affect the build system or external dependencies (example scopes: npm, pip, rg)
+* **ci**: changes to CI configuration files and scripts (example scopes: format, lint, issue_templates)
+* **docs**: changes to the documentation only
+* **feat**: new feature for the user
+* **fix**: bug fix
+* **perf**: performance improvement
+* **refactor**: code change that neither fixes a bug nor adds a feature
+* **test**: adding missing tests or correcting existing tests
+* **chore**: all the rest, including version bump for plugins
+
+**Real world examples:**
+```
+feat(quickfix): add 'q' binding to quit quickfix window when focused
+```
+```
+fix(installer): add missing "HOME" variable
+```
+
+
+### Branch Naming
+
+Name your branches meaningfully.
+
+ex)
+```(feature|bugfix|hotfix)/what-my-pr-does```
+
+<br />
+
+## Communication
+
+Members of the community have multiple ways to collaborate on the project.
+We encourage you to join the community:
+- [Discord server](https://discord.gg/Xb9B4Ny)
+- [Matrix server](https://matrix.to/#/#atmachine-neovim:matrix.org)