What Sync Profiles do
Sync Profiles keep shared configuration — CI/CD workflows (.mokogit/workflows/), composite actions, and issue templates — consistent across every repository in your organization. Instead of copy-pasting workflow files into each repo, you define a template once and a sync profile distributes it to every matching repository automatically.
How matching works
Each repository declares its platform in its root Makefile:
PLATFORM = go # or joomla, npm, php, generic
A sync profile targets every repo whose Makefile matches its platform and copies the template’s .mokogit/ files into those repos. Files a repo owns itself — anything named custom-* — are always preserved and never overwritten.
Running a sync on demand
Profiles sync on a regular schedule, but you can trigger one yourself at any time:
- Go to your organization → Settings → Sync Profiles.
- Find the profile you want to run.
- Click Run.
MokoGIT applies the profile immediately and shows a summary of how many repositories were updated, skipped (already up to date), or failed.
Targeting sub-organizations
If your organization has sub-organizations, a profile can extend into them (from the profile’s Edit form):
- Apply to sub-organizations — also sync matching repos owned by descendant sub-orgs (descendants only — never the parent).
- Auto-apply to future sub-orgs — automatically include sub-orgs created later.
- Or pin a specific set of sub-organizations to target.
For automation: the API
Every profile exposes a /sync endpoint:
- Preview (dry-run, no changes) —
GET /api/v1/orgs/{org}/sync-profiles/{id}/sync - Apply (run the sync) —
POST /api/v1/orgs/{org}/sync-profiles/{id}/sync
# Preview what would change
curl -H "Authorization: token YOUR_TOKEN" \
https://git.mokoconsulting.tech/api/v1/orgs/YourOrg/sync-profiles/2/sync
# Apply it
curl -X POST -H "Authorization: token YOUR_TOKEN" \
https://git.mokoconsulting.tech/api/v1/orgs/YourOrg/sync-profiles/2/sync
Coming soon
- Explicit target branch — choose which branch a profile writes its synced files to, rather than always the default branch.
- Open an issue on failure — when a repository fails to sync, automatically open a tracking issue on it so the failure is visible and actionable.
Get help
Open a support ticket or call (931) 279-6313.