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:
- Queries the organization for resources.
- Merges discovered resources into the target manifest.
- Preserves existing entries and commented-out exclusions.
- Pulls the resources selected by the manifest.
- 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
- Reads target manifests.
- Resolves local resource files under each
metadata_dir. - Resolves destination environment credentials.
- Compares
.sync-state/<env>.yamlagainst serverchangeSequencevalues. - Skips unchanged resources.
- Pushes changed resources in dependency order.
- Uploads module implementation content when configured.
- Syncs knowledge-set content, items, features, and attachments.
- Updates
.sync-state/<env>.yaml. - Writes a push log under
<metadata_dir>/sync-logs/push/.
Dry Run First
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.--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:
Endpoint Resolution
For pull, source credentials resolve in this order:--from-urlplus--from-api-key--from-profile--envfromsync-config.yaml
--to-urlplus--to-api-key--to-profile--envfromsync-config.yaml
--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:- Labels and low-level shared resources
- Data definitions, data forms, stores, modules, prompts, and Service Bridges
- Knowledge type definitions and feature instances
- Intakes and Activity Plans
- Project templates and projects
- Task templates, task statuses, and knowledge sets
- Project-scoped knowledge items, triggers, and bindings
