Files
aliasvault/CONTRIBUTING.md
2024-06-17 02:20:22 -07:00

2.2 KiB

Contributing

This document is a work-in-progress and will be expanded as time goes on. If you have any questions feel free to open a issue on GitHub.

Note: all instructions below are based on MacOS. If you are using a different operating system, you may need to adjust the commands accordingly.

Getting Started

In order to contribute to this project follow these instructions to setup your local environment:

1. Clone the repository

git clone https://github.com/lanedirt/AliasVault.git
cd AliasVault

2. Copy pre-commit hook script to .git/hooks directory

Important: All commits in this repo are required to contain a reference to a GitHub issue in the format of "your commit message (#123)" where "123" references the GitHub issue number.

The pre-commit hook script below will check the commit message before allowing the commit to proceed. If the commit message is invalid, the commit will be aborted.

# Copy the commit-msg hook script to the .git/hooks directory
cp .github/hooks/commit-msg .git/hooks/commit-msg

# Make the script executable
chmod +x .git/hooks/commit-msg

3. Install the latest version of .NET SDK 8

# Install .NET SDK 8

# On MacOS via brew:
brew install --cask dotnet-sdk

# On Windows via winget
winget install Microsoft.DotNet.SDK.8

4. Install dotnet CLI EF Tools

# Install dotnet EF tools globally
dotnet tool install --global dotnet-ef
# Include dotnet tools in your PATH
nano ~/.zshrc
# Add the following line to your .zshrc file
export PATH="$PATH:$HOME/.dotnet/tools"
# Start a new terminal and test that this command works:
dotnet ef

5. Run Tailwind CSS compiler while changing HTML files to update compiled CSS

npm run build:css

6. Install Playwright in order to locally run NUnit E2E (end-to-end) tests

# First install PowerShell for Mac (if you don't have it already)
brew install powershell/tap/powershell
# Install Playwright
dotnet tool install --global Microsoft.Playwright.CLI
# Run Playwright install script to download local browsers
# Note: make sure the E2E test project has been built at least once so the bin dir exists.
pwsh src/Tests/AliasVault.E2ETests/bin/Debug/net8.0/playwright.ps1 install