Nx Cloud Self-Healing CI is an AI-powered system that automatically detects, analyzes, and proposes fixes for CI failures, offering several key advantages:
- Improves Time to Green (TTG): Automatically proposes fixes when tasks fail, significantly reducing the time to get your PR merge-ready. No more babysitting PRs.
- Keeps You in the Flow: Get notified about failed PRs and proposed fixes via GitHub PR comments or directly in your editor with Nx Console (VS Code, Cursor, or WebStorm). Review, approve, and keep working while AI handles the rest.
- Leverages Deep Context: AI agents understand your workspace structure, project relationships, and build configurations through Nx's project graph and metadata.
- Non-Invasive Integration: Works with your existing CI provider without overhauling your current setup.
Enable Self-Healing CI
Section titled “Enable Self-Healing CI”To enable Self-Healing CI in your workspace, you'll need to connect to Nx Cloud and configure your CI pipeline.
If you haven't already connected to Nx Cloud, run the following command:
npx nx@latest connect
Next, check the Nx Cloud workspace settings in the Nx Cloud web application to ensure that "Self-Healing CI" is enabled (it should be enabled by default).
Configure your CI pipeline
Section titled “Configure your CI pipeline”To enable Self-Healing CI, add the following lines to your CI configuration:
name: CI
jobs: main: runs-on: ubuntu-latest steps: ... - name: Start CI Run - run: npx nx start-ci-run --no-distribution ... - run: npx nx affected -t lint test build
- run: npx nx fix-ci if: always()
If you're already using Nx Agents, then you can omit the --no-distribution
flag and use your existing Nx Agents configuration.
Enable Auto-fixing
Section titled “Enable Auto-fixing”By default, Self-Healing CI proposes a fix for you to review and only applies it automatically to your PR after you confirm it. However, for some tasks, it makes sense to have them be auto-fixed without waiting for manual approval. Auto-fixes are only applied if the verification phase passes.
Below is an example of enabling auto-fixing for the Nx format
command and lint
tasks using the --auto-apply-fixes
flag:
name: CI
jobs: main: runs-on: ubuntu-latest steps: ... - name: Start CI Run run: npx nx start-ci-run --auto-apply-fixes="*format*,*lint*" --no-distribution ...
Tasks are passed to the --auto-apply-fixes
as <project>:<task-name>:<configuration>
. Commands like nx format
which you configure with nx-cloud record --
are passed as nx-cloud record -- <params>
.
Specify Which Tasks to Fix
Section titled “Specify Which Tasks to Fix”By using the --fix-tasks
flag you can fine-tune which tasks should be considered by the Nx Cloud self-healing CI. Below is an example of running self-healing on all tasks except deploy
and test
tasks.
name: CI
jobs: main: runs-on: ubuntu-latest steps: ... - name: Start CI Run run: npx nx start-ci-run --fix-tasks="!*deploy,!*test" --no-distribution
...
Similarly, if you only want to self-heal linting tasks you'd use --fix-tasks="*lint*"
.
Tasks are passed to the --fix-tasks
as <project>:<task-name>:<configuration>
. Commands like nx format
which you configure with nx-cloud record --
are passed as nx-cloud record -- <params>
.
How Self-Healing CI works
Section titled “How Self-Healing CI works”Here's what happens when you push a PR with Self-Healing CI enabled:
1. Failure Detection
Section titled “1. Failure Detection”When you push your PR and tasks fail, Nx Cloud automatically detects the failure and triggers the self-healing process.
2. Fix Generation
Section titled “2. Fix Generation”Nx Cloud starts an AI agent that analyzes the failed tasks and creates an appropriate fix, leveraging:
- Complete failure context, including the exact tasks that ran and their error logs
- The Nx graph, which provides context about project structure, dependencies, configuration, and runnable tasks
3. Notification
Section titled “3. Notification”Once the fix is available, you'll be notified immediately based on where you're currently working:
You will see the notification about an available fix from Nx Cloud directly in your GitHub PR comments:
If you have Nx Console installed, you'll get a notification directly in your editor:
Clicking the notification will open a dedicated view showing the failed task log, the status of the fix as well as the actual git diff.
4. Verification
Section titled “4. Verification”While you're being notified, Nx Cloud automatically runs a verification phase in the background.
This reruns the failed task with the proposed fix to ensure it actually solves the issue. You can skip this step if you're confident the fix is valid, but it's useful for verifying the correctness of the change.
5. Review & Apply
Section titled “5. Review & Apply”You can review the fix and decide whether to apply or reject it. If you apply the fix, Nx Cloud automatically pushes a commit to your original PR.
Review the Git diff directly in the comment and click "Apply fix" or "Reject fix". For a more detailed view, click "View interactive diff" to open the Nx Cloud app's advanced diff viewer.
With Nx Console installed, open the dedicated CI view which will show you the fix details as well as the buttons to apply, apply locally or reject the fix.
Apply Fixes Locally
Section titled “Apply Fixes Locally”If you want to tweak a fix before committing it, you can apply it locally rather than having it pushed directly to your PR. To do this, use the corresponding buttons on the GitHub comment, Nx Console view, or Nx Cloud app to get the command to run locally:
Revert Changes
Section titled “Revert Changes”If you accidentally applied a fix or it turns out to be incorrect, you can easily revert it by clicking the link in the GitHub PR comment, which opens the Nx Cloud webapp where you can revert the fix.
Alternatively, you can pull the PR and remove the Git commit manually.
Learn more
Section titled “Learn more”Self-Healing CI represents the next evolution in CI automation, moving beyond just speeding up builds to actually fixing them automatically. Learn more about this feature in our blog post: Introducing Self-Healing CI for Nx and Nx Cloud.