---
title: "Contributing"
manual: "Job board"
version: "main"
permalink: "https://docs.typo3.org/permalink/jweiland/jobboard:contributing@main"
source: "Contributing/Index.rst"
rendered: "2026-10-22T13:15:25+00:00"
---

# Contributing {#contributing}

The extension is developed on GitHub:
[https://github.com/jweiland-net/jobboard](https://github.com/jweiland-net/jobboard). Report bugs and feature
requests in the [issue tracker](https://github.com/jweiland-net/jobboard/issues).
Pull requests target the branch `main`.

## Run tests and checks {#contributing-tests}

All checks run in containers (Docker or Podman) with
`Build/Scripts/runTests.sh`:

**Common commands**

```bash
Build/Scripts/runTests.sh -s composerUpdate
Build/Scripts/runTests.sh -s lint
Build/Scripts/runTests.sh -s rector
Build/Scripts/runTests.sh -s cgl
Build/Scripts/runTests.sh -s unit
Build/Scripts/runTests.sh -s functional -d mariadb
Build/Scripts/runTests.sh -s renderDocumentation
Build/Scripts/runTests.sh -s testRenderDocumentation
```

-   `-p 8.2`, `-p 8.3` or `-p 8.4` selects the PHP
    version.
-   `-d` selects the database of the functional tests:
    `sqlite` (default), `mariadb`, `mysql` or
    `postgres`.
-   Run `-s rector` before `-s cgl`. Use `-s cgl -n`
    for a dry run.

The continuous integration on GitHub runs linting, Composer validation,
the coding guidelines check, unit tests and functional tests with MariaDB
and PostgreSQL for every pull request.

## Documentation {#contributing-documentation}

This documentation is written in reStructuredText and rendered with the
official TYPO3 documentation rendering:

**Render the documentation locally**

```bash
docker run --rm --pull always -v "$(pwd)":/project \
    ghcr.io/typo3-documentation/render-guides:latest --config=Documentation
```

Open `Documentation-GENERATED-temp/Index.html` in your browser. See
[How to document](https://docs.typo3.org/m/typo3/docs-how-to-document/main/en-us/)
for the conventions.
