feat: initial template

This commit is contained in:
2026-03-01 16:24:02 +01:00
parent 612dce0c3a
commit c96a8062a9
13 changed files with 547 additions and 1 deletions

82
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,82 @@
# How to develop on this project
project_name 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/project_urlname.git`
- Enter the directory `cd project_urlname`
- Add upstream repo `git remote add upstream https://git.disi.dev/author_name/project_urlname`
- 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 <target>
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.