* Stable README changes * Simplify texts * Add link to FAQ * Add information about proxy setups * Syncing changes from README to FAQ * Improve wording * Remove outdated Usage Guide * Add placeholder usage guide
69 lines
3.2 KiB
Markdown
69 lines
3.2 KiB
Markdown
# Contribution Guide
|
|
Contibutions are very welcome!
|
|
|
|
## Non-code contributions
|
|
If you are not a programmer, you can still contribute by:
|
|
|
|
- Adding discussion items over at the [Discussions page](https://github.com/christiaangoossens/hass-oidc-auth/discussions) if you have a question, feature idea or a setup you would like to show off.
|
|
- Helping others in issues and discussion posts.
|
|
- Voting on polls and providing input.
|
|
- If you want to, contributing financially through [Github Sponsors](https://github.com/sponsors/christiaangoossens)
|
|
|
|
## Code contributions
|
|
You may also submit Pull Requests (PRs) to add features yourself! You can find TODOs to work on in the [Issue Tracker](https://github.com/christiaangoossens/hass-oidc-auth/issues), the [Feature Requests](https://github.com/christiaangoossens/hass-oidc-auth/discussions/categories/ideas) and in the [FAQ](./docs/faq.md).
|
|
|
|
|
|
Please note that workflows will be run on your pull request (linting, tests, security audit) and a pull request will only be merged when all checks pass and a review has been conducted (together with a manual test).
|
|
|
|
### Development
|
|
This project uses the uv package manager for development. You can find installation instructions here: https://docs.astral.sh/uv/getting-started/installation/. Start by installing the dependencies using `uv sync` and then point your editor towards the environment created in the .venv directory.
|
|
You can then run Home Assistant and put the `custom_components/auth_oidc` directory in your HA `config` folder.
|
|
|
|
#### Other useful commands
|
|
Some useful scripts are in the `scripts` directory. If you run Linux (or WSL under Windows), you can run these directly:
|
|
|
|
- `scripts/check` will check your Python files for linting errors
|
|
- `scripts/fix` will fix some formatting mistakes automatically
|
|
- `scripts/test` will run the testing suite
|
|
- `scripts/coverage-report` will run the testing suite and generate a code coverage report (and runs a webserver to serve the report)
|
|
|
|
You can also run these commands manually on Windows:
|
|
|
|
##### Compiling css
|
|
|
|
To compile tailwind css styles for the pages you need the NodeJS and NPM installed.
|
|
|
|
You can run the `npm run css` script to generate the css once and you can run the `npm run css:watch` to recompile the css every time the templates change
|
|
|
|
##### Check
|
|
```
|
|
uv run ruff check
|
|
uv run ruff format --check
|
|
uv run pylint custom_components
|
|
```
|
|
|
|
##### Fix
|
|
```
|
|
uv run ruff check --fix
|
|
uv run ruff format
|
|
```
|
|
|
|
### Docker Compose Development Environment
|
|
You can also use the following Docker Compose configuration to automatically start up the latest HA release with the `auth_oidc` integration:
|
|
|
|
```
|
|
services:
|
|
homeassistant:
|
|
container_name: homeassistant
|
|
image: "ghcr.io/home-assistant/home-assistant:stable"
|
|
volumes:
|
|
- ./config:/config
|
|
- ./custom_components/auth_oidc:/config/custom_components/auth_oidc
|
|
- /etc/localtime:/etc/localtime:ro
|
|
ports:
|
|
- 8123:8123
|
|
```
|
|
|
|
# Found a security issue?
|
|
Please see [SECURITY.md](./SECURITY.md) for more information on how to submit your security issue securely. You can find previously found vulnerablities and their corresponding security advisories at the [Security Advisories page](https://github.com/christiaangoossens/hass-oidc-auth/security/advisories).
|