diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..5bf2d43 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,45 @@ +# Contributing to unraid-tailscale-utils + +Thank you for your interest in contributing to **unraid-tailscale-utils**! + +## How to Contribute + +- **Bug Reports & Feature Requests:** + Please open an issue describing your bug or feature request with as much detail as possible. + +- **Pull Requests:** + 1. Fork the repository and create your branch from `main`. + 2. Make your changes, following the existing code style. + 3. Add or update tests as appropriate. + 4. Ensure your code passes all checks (see below). + 5. Submit a pull request with a clear description of your changes. + +## Localization + +New strings should be added to `src/usr/local/emhttp/plugins/tailscale/locales/en_US.json`. + +Translations are managed via Crowdin (https://translate.edac.dev/) + +## Code Quality & Checks + +This repository uses automated code checks via GitHub Actions ([.github/workflows/lint.yml](.github/workflows/lint.yml)): + +- **Static Analysis:** + Run `vendor/bin/phpstan` after running `./composer install` in the repository root. + +- **Code Formatting:** + Run `vendor/bin/php-cs-fixer fix` to automatically apply formatting rules. + +- **Commit Message Linting:** + All commits must follow the [Conventional Commits](https://www.conventionalcommits.org/) specification. + Example: + ``` + feat: add advanced log filtering + fix: resolve colorization bug in syslog view + ``` + +These checks are run automatically on every push and pull request. Please ensure your code passes locally before submitting. + +## License + +By contributing to this repository, you agree that your contributions will be licensed under the [GNU General Public License v3.0 or later](LICENSE). diff --git a/README.md b/README.md index f41d759..51dc009 100644 --- a/README.md +++ b/README.md @@ -1 +1,35 @@ -# unraid-tailscale-utils \ No newline at end of file +# unraid-tailscale-utils + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](LICENSE) +[![GitHub Releases](https://img.shields.io/github/v/release/unraid/unraid-tailscale-utils)](https://github.com/unraid/unraid-tailscale-utils/releases) +[![Last Commit](https://img.shields.io/github/last-commit/unraid/unraid-tailscale-utils)](https://github.com/unraid/unraid-tailscale-utils/commits/main/) +[![Code Style: PHP-CS-Fixer](https://img.shields.io/badge/code%20style-php--cs--fixer-brightgreen.svg)](https://github.com/FriendsOfPHP/PHP-CS-Fixer) +![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/unraid/unraid-tailscale-utils/total) +![GitHub Downloads (all assets, latest release)](https://img.shields.io/github/downloads/unraid/unraid-tailscale-utils/latest/total) + +## Features +- Easy Tailscale installation and management on Unraid +- Helper scripts for authentication and status +- Example configurations for common use cases + +## Development + +### Requirements + +- [Composer](https://getcomposer.org/) for dependency management + +### Testing + +1. Clone the repository. +2. Run `./composer install` to install dependencies. +3. For local testing, copy the contents of `src/` (except for the `install` directory) to the root of the Unraid test system. + +### Release + +`.github/workflows/release.yml` Automatically builds a Slackware package when a Github release is created. The resulting package is installed on Unraid via the [unraid/unraid-tailscale](https://github.com/unraid/unraid-tailscale) plugin. + +### Contributing +Pull requests and issues are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines, including code checks, commit message conventions, and licensing. You can also open an issue to discuss your idea. + +## License +This project is licensed under the GNU General Public License v3.0 or later. See [LICENSE](LICENSE) for details. \ No newline at end of file