Hi Everyone,
I’m trying to understand how teams ensure their Temporal workflows follow production best practices before they are deployed.
For general application code we have tools like SonarQube, PMD, Checkstyle, ESLint, etc., that automatically detect common issues and enforce quality gates during CI.
I’m curious whether something similar exists for Temporal workflows.
Some examples of the kinds of checks I’m thinking about are:
- Activities without a
RetryPolicy - Missing Activity timeouts
- Missing heartbeat timeout for long-running Activities
- Use of non-deterministic APIs inside Workflows (
UUID.randomUUID(),Random,System.currentTimeMillis(), etc.) - Missing
ContinueAsNewwhere workflow history may grow indefinitely - Missing workflow versioning (
Workflow.getVersion()) when workflow logic changes - Child Workflow configuration issues
- Other Temporal-specific best practices or anti-patterns
I’d love to understand how teams handle this today.
Questions:
- How does your team validate these kinds of issues before deployment?
- Do you rely on code reviews, internal checklists, custom lint rules, or other tooling?
- Are there any open-source or commercial tools that already perform Temporal-specific static analysis?
- If a Temporal-specific quality gate existed, what rules would you consider essential?
I’m trying to understand whether this is a gap in the ecosystem or whether good solutions already exist.
Thanks!