Note we have a code of conduct, please follow it in all your interactions with the project.
Ensure you've read through the documentation so you understand the core concepts of the project. If you're looking to get familiar with go, following the getting started guide can be a good starting point.
- Ensure any dependencies or build artifacts are removed/ignored before creating a commit.
- Commits follow the conventional commits guidelines. (You can look up the supported types along with an explanation here)
- Update the documentation with details of changes to the functionality, this includes new segments or core functionality.
- Pull Requests are merged once all checks pass and a project maintainer has approved it.
Arguably the easiest way to contribute anything is to use our prepared development environment.
We have a .devcontainer/devcontainer.json
file, meaning we are compatible with:
- , or
- the Visual Studio Code Remote - Containers extension.
This Linux environment includes all shells supported by oh-my-posh, including Bash, ZSH, Fish and PowerShell, the latter of which is the default.
-
Open the
.devcontainer/devcontainer.json
file and in the "build" section modify:TZ
: with your own timezone
-
Summon the Command Panel (Ctrl+Shift+P) and select
Codespaces: Rebuild Container
to rebuild your devcontainer. (This should take just a few seconds.)
The devcontainer definition preinstalls the latest stable oh-my-posh release at build time.
To overwrite the installation's version inside the running devcontainer, you may use the
VSCode task devcontainer: build omp
to rebuild your oh-my-posh with that of
your running repository's state. (You might see a button for this in your statusbar.)
If the compile succeeds, oh-my-posh --version
should reply:
development
Should you somehow mess up your devcontainer's OMP install catastrophically, remember that
if you do Codespaces: Rebuild Container
again, you'll be back to the latest stable release.