Ctrl K
ComunidadGuías…

CONTRIBUTING.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Contributing

vpn-switch is a personal project by Dr. Johannes Brügmann, shared in the hope
that it is useful and developed primarily to fit the author's own needs. That
shapes how contributions are handled — please read this before opening an
issue or a pull request.

## Issues

Bug reports and questions are welcome via GitHub issues. Please include:

- your OS and version (FreeBSD release, or Linux distribution),
- the output of `vpn-switch validate`, and `vpn-switch inspect` if relevant,
- the exact command you ran, and what you expected versus what happened.

Start with [docs/TUTORIAL_TROUBLESHOOTING.md](docs/TUTORIAL_TROUBLESHOOTING.md):
most problems are environment-related, and `vpn-switch validate` usually points
straight at them.

## Pull requests

PRs are read and appreciated, but **not guaranteed to be merged**. This is a
personal project with a deliberate, opinionated design; a change that doesn't
fit that design won't land, however well-made. For anything non-trivial, please
open an issue to discuss it first so you don't invest effort in vain.

If you do send a PR:

- Keep the code **pure POSIX `/bin/sh`** — no bashisms.
- Run `gmake check` (syntax), `gmake shellcheck`, and the relevant tests before
  submitting; see [COMMIT_CHECKLIST.md](COMMIT_CHECKLIST.md) for the definition
  of done.
- Follow the combinator conventions and naming rules in
  [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md), and match the surrounding style.
- User-facing commands carry an in-source `#@help` doc-block; see
  [docs/HELP_TEMPLATE_SPEC.md](docs/HELP_TEMPLATE_SPEC.md). The architecture
  tests fail if a command is missing or malformed.

## Code of conduct

There is none, by design. This is one individual's project, not a
thousand-developer community — interaction here runs on ordinary courtesy and
applicable law, nothing more.

## Licensing

By contributing, you agree that your contribution is licensed under the
project's terms: the [BSD 2-Clause license](LICENSE).