# How to develop on this project n8n_ollama welcomes contributions from the community. This instructions are for linux base systems. (Linux, MacOS, BSD, etc.) ## Setting up your own fork of this repo. - On gitea interface click on `Fork` button. - Clone your fork of this repo. `git clone git@git.disi.dev:YOUR_GIT_USERNAME/n8n_ollama.git` - Enter the directory `cd n8n_ollama` - Add upstream repo `git remote add upstream https://git.disi.dev/Artifacts/n8n_ollama` - initialize repository for use `make setup` ## Install the project in develop mode Run `make install` to install the project in develop mode. ## Create a new branch to work on your contribution Run `git checkout -b my_contribution` ## Make your changes Edit the files using your preferred editor. (we recommend VIM or VSCode) ## Format the code Run `make fmt` to format the code. ## Run the linter Run `make lint` to run the linter. ## Commit your changes This project uses [conventional git commit messages](https://www.conventionalcommits.org/en/v1.0.0/). Example: `fix(package): update setup.py arguments 🎉` (emojis are fine too) ## Push your changes to your fork Run `git push origin my_contribution` ## Submit a pull request On gitea interface, click on `Pull Request` button. ## Makefile utilities This project comes with a `Makefile` that contains a number of useful utility. ```bash ❯ make Usage: make Targets: help: ## Show the help. setup: ## Perform initial repository setup after cloning. fmt: ## Format code. lint: ## Run linters. clean: ## Clean unused files. virtualenv: ## Create a virtual environment. release: ## Create a new tag for release. init: ## Initialize the project based on an application template. ``` ## Making a new release This project uses [semantic versioning](https://semver.org/) and tags releases with `X.Y.Z` Every time a new tag is created and pushed to the remote repo, gitea actions will automatically create a new release on gitea. To trigger a new release all you need to do is. 1. If you have changes to add to the repo * Make your changes following the steps described above. * Commit your changes following the [conventional git commit messages](https://www.conventionalcommits.org/en/v1.0.0/). 2. Run the tests to ensure everything is working. 4. Run `make release` to create a new tag and push it to the remote repo. > **CAUTION**: The make release will change local changelog files and commit all the unstaged changes you have.