From 6.0.0, a git-synced repository is organised by object type first — scripts under scripts/, flows under flows/, resources under resources/, and so on — rather than mirroring Orvanta’s internal folder paths the way earlier versions did. This page covers that layout, how to generate a ready-to-push repository from a workspace (“Initialise repository”), pushing it to GitHub, and what changes for the CLI.
For configuring which deploys a connected repository tracks, see Git sync. For the git_repository connection itself — personal access tokens vs. the GitHub App — see Git Integration.
Every object type gets its own top-level directory. <folder> is the folder the object lives in inside Orvanta; a metadata sidecar is written alongside the object’s own content file wherever the object needs one that its native format can’t hold.
triggers/<kind>/<folder>/<name>.yaml (<kind> is the trigger type — http, websocket, kafka, sqs, gcp, azure, nats, postgres, mqtt, or email)
Folders
folders/<name>.yaml
Resource types
resource-types/<name>.yaml
Groups
groups/<name>.yaml
Workspace members
users/<email>.yaml
Dependency manifests
dependencies/<manifest> — package.json, requirements.in, or composer.json, unchanged, since the manifest itself is the content
An object owned by a user rather than a folder
users/<user>/<type directory>/<name>… — for example users/alice/scripts/job.py
An object owned by a group
groups/<group>/<type directory>/<name>…
Metadata sidecars are YAML. A kind with only one file at a given name drops the kind suffix (resources/a/db.yaml, not resources/a/db.resource.yaml) because the directory already says what it is; a kind with two files sharing a stem — a script’s code and its sidecar, a BPMN flow’s .bpmn and its sidecar — keeps the suffix so the two halves are easy to tell apart at a glance.
This mapping is applied only when a repository is written or read — nothing about how paths are stored or how permissions are resolved inside Orvanta changed. The same mapping is used whichever writer produces the repository: a deploy-triggered commit, a workspace export, the “Initialise repository” ZIP, or a direct push into a newly connected repository, so a checkout looks the same regardless of which of those wrote it.