Developer guide
Clone the repository, build the Go services and the modeler, and run the check that matches your change. The Node.js SDK, the Python worker, and the Go worker client live in the same tree.
Requirements
- Git and Make.
- Go 1.25.12, or a compatible Go 1.25 toolchain.
- Node.js 20 or newer, and npm, for the modeler and the Node.js SDK.
- Python 3.10 or newer, if you work on the Python worker.
- Docker with Compose v2, when you run the local stack or integration tests.
Clone and install
git clone https://github.com/artificialflow/artificialflow.git
cd artificialflow
go mod download
npm --prefix frontend ci
npm --prefix clients/nodejs-sdk ci
pip install -e clients/python-sdkRelease v1.1.0 is the line this site documents. Development happens on main.
Build and run
make build-backend
make build-frontend
npm --prefix frontend run dev
make up-external-iamEdit the issuer, client, and claim values in docker-compose.external-iam.yml, then make up-external-iam builds images from the checkout and starts Postgres, Elasticsearch, Kafka, Debezium, and the application. Published images use ARTIFICIALFLOW_IMAGE_TAG=v1.1.0 make up-external-iam-release, which overlays docker-compose.release.yml. The frontend dev server listens on port 5173. Database setup and local connector registration happen when the Compose stack starts.
Checks
Run the smallest check that covers the change, then the deeper one for that area.
go test ./backend/...
npm --prefix frontend test
npm --prefix clients/nodejs-sdk test
python -c "from artificialflow_worker import Worker"
make smoke-profiles
make validate-helmmake test-bpmn-matrix
make worker-conformance
make cqrs-e2e-smoke
make test-integration
make test-e2e
make test-securityIntegration and end-to-end targets expect a running stack. The repository docs/QUALITY_GATES.md lists which checks belong to which kind of change.
Contributing
- Read
CONTRIBUTING.md,CODE_OF_CONDUCT.md, anddocs/DEPENDENCY_POLICY.md. - Fork the repository and keep the change focused.
- Keep domain, application, persistence, and interface boundaries separated.
- Add tests and documentation when behavior or a contract changes.
- Put the checks you ran in the pull request.
Report security issues to security@artificialflow.io or through GitHub private vulnerability reporting. Do not open a public issue for a vulnerability.