The best practices team

Our Mission

We want to help TYPO3 developers build high-quality extensions and sites.
For this, we provide example projects and extensions that both serve as a learning resource as well as a source for easy copy’n’pasting.

We also create and maintain standards documents in these areas if the TYPO3 Association or the TYPO3 GmbH asks us to.
We also create and maintain the TYPO3 Extension "tea" which will be used by to provide working code examples, ensured via automated testing.

To do this, we continually build and hone our expertise in this area.
This will include trying things out and changing things that have not worked out well enough.

We also freely share our advice on these topics when asked.


Everyone is welcome to contribute. You can either open new issues or provide pull requests within our repository over at GitHub: Feel free to join our slack channel and lurk or join our be-weekly meetings.

We are currently lacking expertise in the following areas:

  • Docker / podman
  • Intermediate GitLab-CI and GitHub Actions
  • Acceptance testing
  • Frontend interaction (forms, flash messages, validation,  …)
  • Improving documentation

Get involved!

We will meet every two weeks on Wednesday at 6 pm Europe/Berlin on Slack:

Daniel Siepmann


Oliver Klee


Łukasz Uznanski


Join the team

Would you like to join the team?
Read our rules  and contact Daniel Siepmann at daniel.siepmann(at) or
Join us at Slack

Our Rules, and how we work

We go out of our way to treat each other well.
We abide by the TYPO3 code of conduct.
We do our best to help each other.
We keep our promises and agreements. If someone cannot keep a promise, they are required to inform the group as soon as possible so we can find a way to work around this.

Group organization

There are two groups (one being a subgroup of the other):

  • active members: Those who regularly attend our conference calls
  • lurkers: Those who are part of the Slack channel, but do not regularly attend our conference calls

The persons who regularly attend our team calls are also the persons who are allowed to merge pull requests on our projects.
Every community member can join the channel as long as they agree to and follow the rules. Lurking is explicitly encouraged.

How we work

If we need to decide something, we do so at the team conference calls. Everybody who attends can take part in these decisions. We try to find a consensus for decisions, and only very rarely do a majority vote.

For some smaller, urgent things (like skipping a call or some smaller technical decisions), we can also decide via chat in our channel. For those decisions, only the voices of the persons regularly attending the calls are relevant.

We welcome input from outside the group of active members. However, we do not make promises to act on requests or demands from outside this group.

The rule of the group lead

Currently, Daniel Siepmann has this role.


  • enforce the rules (if necessary)
  • manage the budget
  • help resolve conflicts in the group
  • gracefully step down if they cannot fulfill this role well anymore
  • ensure that we'll have an agenda for our calls
  • ensure that new members are onboarded. This includes:
    • Ensure they feel welcome
    • Share of our mission
    • Share of our rules (and ensure they are acknowledged)
    • Facilitate introduction of new members during our weekly call

Special rights:

  • kick people out of the group if they violate the rules or the code of conduct, and if we cannot resolve this any other way

The team members

Daniel Siepmann


  • reliable
  • good connection to other teams

Oliver Klee


  • facilitation
  • building structures and workflows (for groups/teams)
  • improving the readability of text and code
  • giving entertaining, engaging talks and workshops
  • writing automated tests
  • making code as strict as possible, e.g., with PHPStan

Main areas of interest:

  • automated tests (unit, functional)
  • type checking with PHPStan
  • code readability

Łukasz Uznański


  • provide workforce
  • experience in maintaining extensions (ext:headless)
  • building CI for projects and extensions
  • trying to get into giving talks and workshops
  • knowledge of infrastructure stuff and multi-instance TYPO3 setups (k8s, AWS)