Skip to main content
Contributions to Aquavium.nvim are welcome. This page covers everything you need to know before opening an issue, submitting a pull request, or pushing commits.

Development policies

All contributors are asked to follow these three principles:
  1. Strive for normal operation on the latest Neovim. Make your best effort to ensure changes work correctly on the current stable release.
  2. Exercise maximum caution to prevent catastrophic effects. This includes data loss and similarly destructive outcomes. If a bug report describes catastrophic behavior, fix it as quickly as possible.
  3. Always show respect for inspiration sources and integration targets. Strictly adhere to their terms of use, licenses, and guidelines to prevent any damage to their image. If the creators of such works point out any issues, immediately strive to improve and resolve them.

Issues and discussions

Issues accept feature proposals, bug reports, and feature ideas. If you can implement or resolve the feature or bug yourself, please indicate it in your issue. Discussions are primarily for questions. Feature ideas are also welcome there.

Pull requests

For minor pull requests — such as typo fixes or small improvements — you can open a PR directly without creating an issue first.
PRs are welcome. Before opening a pull request for larger changes, create an Issue or Discussion first if your change involves any of the following:
  • Medium to large-scale feature additions (for example, features that require new config options, or changes that add new menus)
  • Major UI refreshes

Commit message format

Commit messages in this repository follow this format (effective from 2026/01/10):
<type> (<scope>): <subject> (#<Issue Number>)

<more info>

Type

Use one of the following types:
TypeWhen to use
featAddition of new features
fixBug fixes
docsDocumentation changes (e.g., README.md)
styleCode style changes such as indentation or whitespace (no behavior change)
refactorInternal code restructuring with no change to external behavior
choreAuxiliary tools, development environment changes (e.g., .gitignore)
ciChanges to workflows such as GitHub Actions
typoTypo corrections
revertCommits using git revert

Scope (optional)

An element indicating the specific file or feature area where changes were made. You can omit it.
Examples: README.md, colors, highlights
Include the related issue number if one exists. Omit it if there is none.

Subject

The main description of your change.

More info (optional)

A longer explanation of the change. Omit if not needed.

Examples

feat: Add q keymap as exit (#36)
fix: wrong variable in conditional check
If you are unsure, check past commits in the repository or ask in Discussions.

Branch naming

Name your branches using the following format:
<type>/<subject>-#<Issue Number>
  • Use the same <type> values as commit messages.
  • Use - in place of spaces in the subject.
  • Include the issue number if one exists.

Examples

feat/Add-q-keymap-as-exit-#36
fix/cant-skip-config-when-edit-target

Git workflow

All feature, fix, and docs branches merge directly into main:
feat/xxxx  ──┐
fix/xxxx   ──┼──► main
docs/xxxx  ──┘
Hotfixes and small commits can also be committed directly to main.

Build docs developers (and LLMs) love