MCPcopy Index your code
hub / github.com/camunda/camunda

github.com/camunda/camunda @8.9.11

Chat with this repo
repository ↗ · DeepWiki ↗ · release 8.9.11 ↗ · + Follow
126,196 symbols 877,935 edges 16,894 files 10,329 documented · 8% updated today8.9.12 · 2026-07-07★ 4,1962,535 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Camunda 8 orchestrates complex business processes that span people, systems, and devices

Maven Central

Camunda 8 delivers scalable, on-demand process automation as a service. Camunda 8 is combined with powerful execution engines for BPMN processes and DMN decisions, and paired with tools for collaborative modeling, operations, and analytics.

This repository contains the Orchestration cluster components of Camunda 8 and Optimize:

  • Zeebe - The cloud-native process engine of Camunda 8.
  • Tasklist - Complete tasks that require human input.
  • Operate - Manage, monitor, and troubleshoot your processes.
  • Identity - Manage integrated authentication and authorization.
  • Optimize - Improve your processes by identifying constraints in your system.

In addition, the Camunda 8 stack also includes: * Console - Configure and deploy clusters with Console. * Web Modeler - Web Application to model BPMN, DMN, & Forms and deploy or start new instances. * Desktop Modeler - Use Desktop Modeler as a desktop application for modeling BPMN, DMN, and Forms with your local process application project. * Connectors - Integrate with an external system by using a Connector. * Management Identity - Manage authentication, access, and authorization for components outside the Orchestration cluster (Console, Web Modeler, and Optimize)

Using Camunda 8, you can:

  • Define processes visually in BPMN 2.0
  • Choose your programming language
  • Deploy with Docker and Kubernetes
  • Build processes that react to messages from Kafka and other message queues
  • Scale horizontally to handle very high throughput
  • Fault tolerance (no relational database required)
  • Export process data for monitoring and analysis
  • Engage with an active community

Learn more at camunda.com.

Status

To learn more about what we're currently working on, check the GitHub issues and the latest commits.

Helpful Links

Documentation

This repository includes comprehensive documentation in the docs/ directory. The content is served via a Docusaurus site located in monorepo-docs-site/.

Running the Documentation Site

cd monorepo-docs-site
npm install
npm start

The documentation site will be available at http://localhost:3000/camunda/.

Adding Documentation

  1. Add new markdown files to the docs/ directory
  2. Update the sidebar configuration in monorepo-docs-site/sidebars.js to include your new documentation file in the appropriate array position. For example:
// in monorepo-docs-site/sidebars.js
module.exports = {
  docs: [
    'introduction',
    'getting-started',
    // add your new doc ID here
    'your-doc-id',
  ],
};

For more details, see the documentation site README.

Recommended Docs Entries for New Users

Contributing

Read the Contributions Guide.

Code of Conduct

This project adheres to the Camunda Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior as soon as possible.

Release Lifecycle

Please refer to our Release Policy to learn about our release cadence, maintenance periods, etc.

License

Zeebe, Operate, and Tasklist source files are made available under the Camunda License Version 1.0 except for the parts listed below, which are made available under the Apache License, Version 2.0. See individual source files for details.

Available under the Apache License, Version 2.0: - Java Client (clients/java) - Camunda Spring Boot Starter (camunda-spring-boot-starter) - Exporter API (exporter-api) - Protocol (protocol) - Gateway Protocol Implementation (gateway-protocol-impl) - BPMN Model API (bpmn-model)

Clarification on gRPC Code Generation

The Zeebe Gateway Protocol (API) as published in the gateway-protocol is licensed under the Camunda License 1.0. Using gRPC tooling to generate stubs for the protocol does not constitute creating a derivative work under the Camunda License 1.0 and no licensing restrictions are imposed on the resulting stub code by the Camunda License 1.0.

Extension points exported contracts — how you extend this code

ConfigurationReloadable (Interface)
Every class that implements this interfaces is automatically called as soon as {EmbeddedOptimizeExtension#reloadConfigur [31 …
optimize/util/optimize-commons/src/main/java/io/camunda/optimize/service/util/configuration/ConfigurationReloadable.java
LogStorage (Interface)
Storage abstraction for the log stream API. The storage is expected to store the given blocks of data atomically (i.e. a [6 …
zeebe/logstreams/src/main/java/io/camunda/zeebe/logstreams/storage/LogStorage.java
ActorSchedulingService (Interface)
Service interface to schedule an actor (without exposing the full interface of ActorScheduler [6 implementers]
zeebe/scheduler/src/main/java/io/camunda/zeebe/scheduler/ActorSchedulingService.java
Exporter (Interface)
Minimal interface to be implemented by concrete exporters. A concrete implementation should always provide a default [33 …
zeebe/exporter-api/src/main/java/io/camunda/zeebe/exporter/api/Exporter.java
EnumValue (Interface)
Interface for enum values that have a numeric value associated with them. This is used to avoid using the ordinal value [123 …
zeebe/protocol/src/main/java/io/camunda/zeebe/protocol/EnumValue.java
ZeebePropertiesBuilder (Interface)
A fluent builder for elements with extension properties. [6 implementers]
zeebe/bpmn-model/src/main/java/io/camunda/zeebe/model/bpmn/builder/ZeebePropertiesBuilder.java
StreamResponse (Interface)
Generic response type for all stream topics listed in StreamTopics [9 implementers]
zeebe/transport/src/main/java/io/camunda/zeebe/transport/stream/impl/messages/StreamResponse.java
ExporterRecordFilter (Interface)
A filter to determine whether a given record should be exported or not. Implementations of this interface can be use [24 …
zeebe/exporter-filter/src/main/java/io/camunda/zeebe/exporter/filter/ExporterRecordFilter.java

Core symbols most depended-on inside this repo

getValue
called by 7402
zeebe/protocol/src/main/java/io/camunda/zeebe/protocol/EnumValue.java
of
called by 5880
clients/java/src/main/java/io/camunda/client/impl/http/ApiEntity.java
join
called by 5195
zeebe/atomix/cluster/src/main/java/io/atomix/raft/RaftServer.java
any
called by 5042
zeebe/backup/src/main/java/io/camunda/zeebe/backup/api/BackupIdentifierWildcard.java
build
called by 5028
zeebe/atomix/utils/src/main/java/io/atomix/utils/Builder.java
stream
called by 4863
zeebe/bpmn-model/src/main/java/io/camunda/zeebe/model/bpmn/Query.java
send
called by 4834
clients/java/src/main/java/io/camunda/client/api/command/FinalCommandStep.java
map
called by 4310
zeebe/util/src/main/java/io/camunda/zeebe/util/Either.java

Shape

Method 104,223
Class 15,137
Function 3,613
Interface 2,574
Enum 635
Struct 13
TypeAlias 1

Languages

Java96%
TypeScript4%
Go1%

Modules by API surface

clients/camunda-spring-boot-starter/src/test/java/io/camunda/client/spring/properties/CamundaClientPropertiesPostProcessorTest.java199 symbols
clients/java/src/main/java/io/camunda/client/impl/CamundaClientImpl.java191 symbols
clients/java/src/main/java/io/camunda/client/CamundaClient.java180 symbols
optimize/util/optimize-commons/src/main/java/io/camunda/optimize/service/util/configuration/ConfigurationService.java156 symbols
gateways/gateway-mapping-http/src/main/java/io/camunda/gateway/mapping/http/search/SearchQueryResponseMapper.java135 symbols
zeebe/bpmn-model/src/test/java/io/camunda/zeebe/model/bpmn/builder/ProcessBuilderTest.java127 symbols
optimize/util/optimize-commons/src/main/java/io/camunda/optimize/dto/optimize/query/report/single/configuration/SingleReportConfigurationDto.java122 symbols
optimize/backend/src/main/java/io/camunda/optimize/service/db/report/result/CompositeCommandResult.java112 symbols
zeebe/test-util/src/main/java/io/camunda/zeebe/test/util/record/CompactRecordLogger.java108 symbols
testing/camunda-process-test-java/src/test/java/io/camunda/process/test/api/ElementAssertTest.java106 symbols
zeebe/exporters/camunda-exporter/src/main/java/io/camunda/exporter/config/ExporterConfiguration.java105 symbols
configuration/src/test/java/io/camunda/configuration/DataBackupS3Test.java100 symbols

Datastores touched

(mysql)Database · 1 repos
camundaDatabase · 1 repos
camundaDatabase · 1 repos
camunda_secondaryDatabase · 1 repos
camunda_secondaryDatabase · 1 repos

For agents

$ claude mcp add camunda \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact