<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/we-simplified-the-nx-ci-configuration-pdw3z5h4y" -->

---
title: We Simplified the Nx CI Configuration | daily.dev
description: Nx Cloud introduces a new `.nx/ci-config.yaml` file that centralizes pipeline configuration, replacing the flag-heavy `nx-cloud start-ci-run` command with a...
canonical: https://daily.dev/posts/we-simplified-the-nx-ci-configuration-pdw3z5h4y
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: We Simplified the Nx CI Configuration | daily.dev
og:description: Nx Cloud introduces a new `.nx/ci-config.yaml` file that centralizes pipeline configuration, replacing the flag-heavy `nx-cloud start-ci-run` command with a...
og:url: https://daily.dev/posts/we-simplified-the-nx-ci-configuration-pdw3z5h4y
og:image: https://api.daily.dev/og/posts/pDw3z5H4Y.png
og:image:alt: We Simplified the Nx CI Configuration
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# We Simplified the Nx CI Configuration

**[Nx](https://daily.dev/sources/nx)** · 6 min read · 2 upvotes · 1 comments

## Summary

Nx Cloud introduces a new `.nx/ci-config.yaml` file that centralizes pipeline configuration, replacing the flag-heavy `nx-cloud start-ci-run` command with a simpler `npx nx-cloud start-nx-agents`. The old approach required passing all settings as CLI flags on a single command that had to run first in the pipeline — creating order-dependency issues across parallel CI jobs. The new config file is read by every Nx Cloud command, eliminating ordering requirements. It has four optional sections: `lifecycle`, `dte`, `nx-agents`, and `overrides`. New capabilities include dynamic agent allocation via changeset size, inline assignment rules, and per-environment overrides without duplicating flag strings. Migration is straightforward: copy the generated YAML from the Nx Cloud UI's Config YAML page into `.nx/ci-config.yaml` and replace `start-ci-run` with `start-nx-agents` in one commit — the two cannot coexist.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://nx.dev/blog/ci-config-file-start-nx-agents>

## Questions this post answers

### How do I migrate from nx-cloud start-ci-run to start-nx-agents in Nx Cloud?

Create a .nx/ci-config.yaml file in the repository containing the equivalent settings (lifecycle, dte, nx-agents, overrides sections), then replace the start-ci-run command with start-nx-agents in the same commit. Once .nx/ci-config.yaml exists, start-ci-run exits with an error pointing to start-nx-agents, so there is no gradual rollout where both coexist. The Config YAML page on a recent CI Pipeline Execution can generate the file automatically from settings already in use.

_daily.dev surfaces guides like this for teams planning a CI config migration without downtime._

### Why did nx-cloud start-ci-run flags behave inconsistently across CI jobs in a monorepo pipeline?

The first nx command to contact Nx Cloud locked in settings for the entire CI Pipeline Execution, and every later command inherited them, so start-ci-run had to run first or its flags arrived too late. Because a pipeline execution can span multiple jobs, another job could contact Nx Cloud before the intended one did, producing competing configurations and inconsistent run behavior.

_teams debugging flaky CI ordering issues can track fixes like this through daily.dev._

### How do per-environment overrides work in Nx Cloud's ci-config.yaml file?

Overrides are keyed by the NX_CI_EXECUTION_ENV variable and apply per key rather than as a deep merge, meaning an override replaces the base value for any key it sets while unset keys retain their base values. For example, setting fail-after to 1 by default and overriding it to 0 for the main environment makes every pipeline stop on first failure except runs on main, which finish so every failure surfaces at once.

_developers designing environment-specific CI behavior can find configuration details like this via daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@rizzdev** · 0 upvotes

> the win is the affected graph, not fewer yaml keys

## Similar posts on daily.dev

- [Making It Easier to Import Projects Into Your Monorepo](https://daily.dev/posts/making-it-easier-to-import-projects-into-your-monorepo-y9zewoqwx) · Nx · 1 upvotes · 0 comments
- [Nx Agents, now 4x faster & 30% cheaper than GitHub Actions](https://daily.dev/posts/nx-agents-now-4x-faster-30-cheaper-than-github-actions-iffrgfvum) · Nx · 0 upvotes · 0 comments
- [End to End Autonomous AI Agent Workflows with Nx](https://daily.dev/posts/end-to-end-autonomous-ai-agent-workflows-with-nx-jsyewknu7) · Nx · 1 upvotes · 0 comments
- [Cloudflare Turns CI Pipelines into TypeScript Workflows](https://daily.dev/posts/cloudflare-turns-ci-pipelines-into-typescript-workflows-bxxeupytg) · InfoQ · 6 upvotes · 2 comments
- [Agentic Experience Is the New Developer Experience](https://daily.dev/posts/agentic-experience-is-the-new-developer-experience-flxtbzl2r) · Nx · 1 upvotes · 0 comments

---

Tags: [#webdev](https://daily.dev/tags/webdev), [#general-programming](https://daily.dev/tags/general-programming), [#cicd](https://daily.dev/tags/cicd)

[View this post on daily.dev](https://daily.dev/posts/we-simplified-the-nx-ci-configuration-pdw3z5h4y)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"We Simplified the Nx CI Configuration","url":"https://daily.dev/posts/we-simplified-the-nx-ci-configuration-pdw3z5h4y","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/we-simplified-the-nx-ci-configuration-pdw3z5h4y"},"datePublished":"2026-08-10T10:47:16.788Z","dateModified":"2026-09-14T07:53:43.381Z","description":"Nx Cloud introduces a new `.nx/ci-config.yaml` file that centralizes pipeline configuration, replacing the flag-heavy `nx-cloud start-ci-run` command with a...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1d92d2df9d2e3536bae07580131ab7b1?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1d92d2df9d2e3536bae07580131ab7b1?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Nx","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Nx","logo":"https://media.daily.dev/image/upload/s--09OCt--d--/f_auto/v1761722266/logos/nx","url":"https://daily.dev/sources/nx"},"commentCount":1,"discussionUrl":"https://daily.dev/posts/we-simplified-the-nx-ci-configuration-pdw3z5h4y","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":1}],"keywords":"webdev,general-programming,cicd","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Nx","item":"https://daily.dev/sources/nx"},{"@type":"ListItem","position":3,"name":"We Simplified the Nx CI Configuration"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/we-simplified-the-nx-ci-configuration-pdw3z5h4y","comment":[{"@type":"Comment","text":"the win is the affected graph, not fewer yaml keys","datePublished":"2026-08-12T06:50:20.410Z","url":"https://daily.dev/posts/pDw3z5H4Y#c-kPFG5DOOL","author":{"@type":"Person","name":"Andrew","url":"https://daily.dev/rizzdev","image":"https://media.daily.dev/image/upload/s--35vRfXAA--/f_auto/v1785413727/avatars/avatar_fQ7ttCKtPuu6tDvcgQXv5?_a=BAMAMicg0"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/we-simplified-the-nx-ci-configuration-pdw3z5h4y#faq","mainEntity":[{"@type":"Question","name":"How do I migrate from nx-cloud start-ci-run to start-nx-agents in Nx Cloud?","acceptedAnswer":{"@type":"Answer","text":"Create a .nx/ci-config.yaml file in the repository containing the equivalent settings (lifecycle, dte, nx-agents, overrides sections), then replace the start-ci-run command with start-nx-agents in the same commit. Once .nx/ci-config.yaml exists, start-ci-run exits with an error pointing to start-nx-agents, so there is no gradual rollout where both coexist. The Config YAML page on a recent CI Pipeline Execution can generate the file automatically from settings already in use. daily.dev surfaces guides like this for teams planning a CI config migration without downtime."}},{"@type":"Question","name":"Why did nx-cloud start-ci-run flags behave inconsistently across CI jobs in a monorepo pipeline?","acceptedAnswer":{"@type":"Answer","text":"The first nx command to contact Nx Cloud locked in settings for the entire CI Pipeline Execution, and every later command inherited them, so start-ci-run had to run first or its flags arrived too late. Because a pipeline execution can span multiple jobs, another job could contact Nx Cloud before the intended one did, producing competing configurations and inconsistent run behavior. teams debugging flaky CI ordering issues can track fixes like this through daily.dev."}},{"@type":"Question","name":"How do per-environment overrides work in Nx Cloud's ci-config.yaml file?","acceptedAnswer":{"@type":"Answer","text":"Overrides are keyed by the NX_CI_EXECUTION_ENV variable and apply per key rather than as a deep merge, meaning an override replaces the base value for any key it sets while unset keys retain their base values. For example, setting fail-after to 1 by default and overriding it to 0 for the main environment makes every pipeline stop on first failure except runs on main, which finish so every failure surfaces at once. developers designing environment-specific CI behavior can find configuration details like this via daily.dev."}}]}
```

