Skip to main content

Overview

kdx sync has three operational commands: All three use sync-config.yaml and one or more manifest files.

Pull

Pull is read-only with respect to the server. It creates or overwrites local files and updates .sync-state/.

First Pull With Discover

Use --discover when onboarding an existing organization:
Discover mode:
  1. Queries the organization for resources.
  2. Merges discovered resources into the target manifest.
  3. Preserves existing entries and commented-out exclusions.
  4. Pulls the resources selected by the manifest.
  5. Writes state to .sync-state/<env>.yaml.

Pull Flags

Older --organization and --project flags are accepted for compatibility, but new workflows should use --target.

Filtering Pulls

--filter does not follow references automatically. If a project references a data definition or Activity Plan, include those slugs in the filter when you need them refreshed too.

Push

Push reads local YAML and creates or updates resources on the destination environment.

Push Flags

What Push Does

  1. Reads target manifests.
  2. Resolves local resource files under each metadata_dir.
  3. Resolves destination environment credentials.
  4. Compares .sync-state/<env>.yaml against server changeSequence values.
  5. Skips unchanged resources.
  6. Pushes changed resources in dependency order.
  7. Uploads module implementation content when configured.
  8. Syncs knowledge-set content, items, features, and attachments.
  9. Updates .sync-state/<env>.yaml.
  10. Writes a push log under <metadata_dir>/sync-logs/push/.

Dry Run First

Dry run is the default review step for production. It exercises validation, conflict detection, diffing, and push ordering without changing the server.

Conflict Detection

Push compares local sync state to server state. If the server changed since the last pull, the resource is treated as conflicted and skipped.
Resolve by pulling first:
Use --force only after review:

Deploy

Deploy chooses targets and environments from branch or tag mappings, then runs the push workflow.

Deploy Flags

Manual target deployment:
Branch mapped deployment:
JSON report:

Endpoint Resolution

For pull, source credentials resolve in this order:
  1. --from-url plus --from-api-key
  2. --from-profile
  3. --env from sync-config.yaml
For push and deploy, destination credentials resolve in this order:
  1. --to-url plus --to-api-key
  2. --to-profile
  3. --env from sync-config.yaml
For most repositories, use --env and let sync-config.yaml define the URL and API key environment variable.

Push Order

The CLI pushes dependencies before dependents. The important Activity-era ordering is:
  1. Labels and low-level shared resources
  2. Data definitions, data forms, stores, modules, prompts, and Service Bridges
  3. Knowledge type definitions and feature instances
  4. Intakes and Activity Plans
  5. Project templates and projects
  6. Task templates, task statuses, and knowledge sets
  7. Project-scoped knowledge items, triggers, and bindings

Logs

Every sync operation writes logs under:
Use these logs for CI diagnostics and release review. They include target, environment, URL, dry-run state, force state, filter, and per-resource outcomes.