feat: add en-GB locale file for dev/deploy/docs/setup commands
281 translation keys covering dev (health, work, commit, push, pull,
tag, impact, issues, reviews, ci, apply, workflow, vm), deploy, docs,
git, and setup commands.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 00:34:55 +00:00
{
"cmd" : {
"deploy" : {
"short" : "Manage deployments via Coolify" ,
"long" : "Manage deployments, servers, applications and services via the Coolify API."
} ,
"dev" : {
"short" : "Multi-repo development workflows" ,
"long" : "Development workflow commands for managing multiple repositories.\n\nIncludes git operations, forge integration, CI status, and dev environment management." ,
"api" : {
2026-04-01 05:10:56 +00:00
"short" : "API synchronisation tools" ,
"test_gen" : {
"short" : "Generate public API test stubs" ,
"long" : "Scan internal service packages and generate compile-time tests for their public API wrappers."
}
feat: add en-GB locale file for dev/deploy/docs/setup commands
281 translation keys covering dev (health, work, commit, push, pull,
tag, impact, issues, reviews, ci, apply, workflow, vm), deploy, docs,
git, and setup commands.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 00:34:55 +00:00
} ,
"health" : {
"short" : "Quick health check across all repos" ,
"long" : "Show a one-line summary of repository health: total repos, dirty count, push/pull status and errors." ,
"repos" : "repos" ,
"to_push" : "to push" ,
"to_pull" : "to pull" ,
"dirty_label" : "Dirty:" ,
"ahead_label" : "Ahead:" ,
"behind_label" : "Behind:" ,
"errors" : "errors" ,
"errors_label" : "Errors:" ,
"more" : "(+{{.Count}} more)" ,
"flag" : {
"verbose" : "Show per-repo details"
}
} ,
"work" : {
"short" : "Combined status, commit and push workflow" ,
"long" : "Show status table for all repos, optionally commit dirty repos and push unpushed commits in a single workflow." ,
"flag" : {
"status" : "Show status table only (no commit or push)" ,
"commit" : "Auto-commit dirty repos before pushing"
} ,
"table_modified" : "Modified" ,
"table_untracked" : "Untracked" ,
"table_staged" : "Staged" ,
"table_ahead" : "Ahead" ,
"all_up_to_date" : "All repos are up to date." ,
"use_commit_flag" : "Tip: use --commit to auto-commit dirty repos" ,
"error_prefix" : "error:"
} ,
"commit" : {
"short" : "Claude-assisted commit for dirty repos" ,
"long" : "Generate commit messages with Claude for repositories that have uncommitted changes.\n\nRuns in single-repo mode when inside a git repo, or multi-repo mode with a registry." ,
"flag" : {
"all" : "Commit all dirty repos without prompting"
} ,
"committing" : "Committing..."
} ,
"push" : {
"short" : "Push repos with unpushed commits" ,
"long" : "Push all repositories that have commits ahead of remote.\n\nHandles diverged branches by offering to pull and retry." ,
"flag" : {
"force" : "Push without confirmation"
} ,
"confirm" : "Push?" ,
"confirm_push" : "Push {{.Commits}} commit(s) across {{.Repos}} repo(s)?" ,
"all_up_to_date" : "All repos are up to date." ,
"done_pushed" : "{{.Count}} pushed" ,
"diverged" : "branch has diverged" ,
"diverged_help" : "Some repos have diverged from remote. This usually means someone pushed while you were working." ,
"pull_and_retry" : "Pull and retry push?" ,
"uncommitted_changes_commit" : "Uncommitted changes found. Commit first?"
} ,
"pull" : {
"short" : "Pull repos that are behind remote" ,
"long" : "Pull latest changes for repositories that are behind their remote tracking branch." ,
"flag" : {
"all" : "Pull all repos, not just those behind"
} ,
"pulling" : "pulling" ,
"pulling_repos" : "Pulling {{.Count}} repo(s)..." ,
"all_up_to_date" : "All repos are up to date." ,
"done_pulled" : "{{.Count}} pulled" ,
"repos_behind" : "{{.Count}} repo(s) behind remote" ,
"commits_behind" : "{{.Count}} commit(s) behind"
} ,
"tag" : {
"short" : "Tag and push all repos in dependency order" ,
"long" : "Bump patch version, update Go dependencies, tag and push all repos in topological order." ,
"flag" : {
"dry_run" : "Preview the tag plan without making changes" ,
"force" : "Tag without confirmation"
}
} ,
"impact" : {
"short" : "Analyse dependency impact of a repo" ,
"long" : "Show which repositories are affected when a given repo changes, including direct and transitive dependents." ,
"analysis_for" : "Impact analysis for" ,
"direct_dependents" : "{{.Count}} direct dependent(s)" ,
"transitive_dependents" : "{{.Count}} transitive dependent(s)" ,
"no_dependents" : "{{.Name}} has no dependents" ,
"changes_affect" : "Changes to {{.Repo}} affect {{.Affected}} of {{.Total}} repos" ,
"requires_registry" : "Impact analysis requires a repos.yaml registry"
} ,
"issues" : {
"short" : "List open issues across repos" ,
"long" : "Fetch and display open issues from the Forge API across all registered repositories." ,
"flag" : {
"assignee" : "Filter by assignee username" ,
"limit" : "Maximum issues per repo"
} ,
"open_issues" : "{{.Count}} open issue(s)" ,
"no_issues" : "No open issues found."
} ,
"reviews" : {
"short" : "List pull requests needing review" ,
"long" : "Show open pull requests with review status across all registered repositories." ,
"flag" : {
"all" : "Include draft PRs" ,
"author" : "Filter by PR author"
} ,
"open_prs" : "{{.Count}} open PR(s)" ,
"no_prs" : "No open pull requests found." ,
"approved" : "{{.Count}} approved" ,
"changes_requested" : "{{.Count}} changes requested" ,
"draft" : "[draft]" ,
"status_approved" : "approved" ,
"status_changes" : "changes requested" ,
"status_pending" : "pending review"
} ,
"ci" : {
"short" : "Check CI workflow status" ,
"long" : "Show CI/CD pipeline status for all repos, with pass/fail counts and optional branch filtering." ,
"flag" : {
"branch" : "Branch to check (default: main)" ,
"failed" : "Show only failed workflows"
} ,
"passing" : "{{.Count}} passing" ,
"failing" : "{{.Count}} failing" ,
"repos_checked" : "{{.Count}} repos checked" ,
"no_ci" : "{{.Count}} no CI"
} ,
"apply" : {
"short" : "Run a command across repos" ,
"long" : "Execute a shell command or script in every repo directory, optionally committing and pushing changes.\n\nDesigned for safe batch operations by AI agents." ,
"action" : "Action" ,
"cancelled" : "Cancelled." ,
"confirm" : "Proceed?" ,
"dry_run_mode" : "[dry-run] No changes will be made" ,
"no_changes" : "no changes" ,
"summary" : "Summary" ,
"targets" : "Targets" ,
"warning" : "This will run the command in each repo directory." ,
"flag" : {
"command" : "Shell command to run in each repo" ,
"script" : "Script file to run in each repo" ,
2026-04-01 09:02:04 +00:00
"repos" : "Comma-separated list of repo names, paths, or glob patterns to target" ,
feat: add en-GB locale file for dev/deploy/docs/setup commands
281 translation keys covering dev (health, work, commit, push, pull,
tag, impact, issues, reviews, ci, apply, workflow, vm), deploy, docs,
git, and setup commands.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 00:34:55 +00:00
"commit" : "Commit changes after running" ,
"message" : "Commit message (required with --commit)" ,
"push" : "Push after committing" ,
"co_author" : "Co-author for commits" ,
"dry_run" : "Preview without making changes" ,
"yes" : "Skip confirmation prompt" ,
"continue" : "Continue on error instead of stopping"
} ,
"error" : {
"no_command" : "Either --command or --script is required" ,
"both_command_script" : "Cannot use both --command and --script" ,
"no_repos" : "No target repos found" ,
"command_failed" : "Command failed — stopping (use --continue to skip failures)" ,
"commit_needs_message" : "--commit requires --message"
}
} ,
"file_sync" : {
"short" : "Sync a file or directory to repos" ,
"long" : "Copy a file or directory to matching repos, optionally committing and pushing the changes.\n\nDesigned for safe file distribution by AI agents." ,
"source" : "Source" ,
"targets" : "Targets" ,
2026-04-01 07:16:56 +00:00
"warning" : "This will copy files into each target repo." ,
"confirm" : "Sync these repos?" ,
feat: add en-GB locale file for dev/deploy/docs/setup commands
281 translation keys covering dev (health, work, commit, push, pull,
tag, impact, issues, reviews, ci, apply, workflow, vm), deploy, docs,
git, and setup commands.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 00:34:55 +00:00
"dry_run_mode" : "[dry-run] No changes will be made" ,
"no_changes" : "no changes" ,
"summary" : "Summary" ,
"flag" : {
"to" : "Target repo pattern (e.g. core-*)" ,
"message" : "Commit message (omit to leave uncommitted)" ,
"push" : "Push after committing" ,
"co_author" : "Co-author for commits" ,
2026-04-01 07:16:56 +00:00
"dry_run" : "Preview without making changes" ,
"yes" : "Skip confirmation prompt"
feat: add en-GB locale file for dev/deploy/docs/setup commands
281 translation keys covering dev (health, work, commit, push, pull,
tag, impact, issues, reviews, ci, apply, workflow, vm), deploy, docs,
git, and setup commands.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 00:34:55 +00:00
} ,
"error" : {
"source_not_found" : "Source not found: {{.Path}}" ,
"no_targets" : "No target repos matched the pattern"
}
} ,
"sync" : {
"short" : "Synchronise public API surfaces" ,
"long" : "Scan internal service packages and regenerate public API wrappers to keep them in sync."
} ,
"workflow" : {
"short" : "Manage CI workflow files" ,
"long" : "List and synchronise CI/CD workflow files across all registered repositories." ,
"no_workflows" : "No workflow files found in any repo." ,
"synced" : "synced" ,
"up_to_date" : "up to date" ,
"would_sync" : "would sync" ,
"dry_run_mode" : "[dry-run] No changes will be made" ,
"run_without_dry_run" : "Run without --dry-run to apply changes." ,
"template_not_found" : "Template workflow not found: {{.File}}" ,
"read_template_error" : "Failed to read template workflow" ,
"failed_count" : "{{.Count}} failed" ,
"skipped_count" : "{{.Count}} skipped" ,
"synced_count" : "{{.Count}} synced" ,
"would_sync_count" : "{{.Count}} would sync" ,
2026-04-01 09:48:48 +00:00
"templates" : "Templates" ,
feat: add en-GB locale file for dev/deploy/docs/setup commands
281 translation keys covering dev (health, work, commit, push, pull,
tag, impact, issues, reviews, ci, apply, workflow, vm), deploy, docs,
git, and setup commands.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 00:34:55 +00:00
"header" : {
"repo" : "Repo"
} ,
"list" : {
"short" : "Show workflow matrix across repos" ,
"long" : "Display a table showing which CI/CD workflow files exist in each repository."
} ,
"sync" : {
"short" : "Copy a workflow template to all repos" ,
"long" : "Synchronise a workflow template file into every registered repository's .github/workflows/ directory." ,
"flag" : {
"dry_run" : "Preview sync without writing files"
}
}
} ,
"scanning_label" : "Scanning..." ,
"no_git_repos" : "No git repositories found." ,
"no_changes" : "No changes to commit." ,
"repos_with_changes" : "{{.Count}} repo(s) with changes" ,
"modified" : "{{.Count}} modified" ,
"untracked" : "{{.Count}} untracked" ,
"staged" : "{{.Count}} staged" ,
"committed" : "committed" ,
"committing" : "Committing" ,
"confirm_claude_commit" : "Commit with Claude?" ,
"done_succeeded" : "{{.Count}} succeeded" ,
"status" : {
"clean" : "clean"
} ,
"vm" : {
"boot" : {
"short" : "Start the dev environment VM" ,
"long" : "Boot the Parallels dev environment virtual machine with configurable memory and CPU." ,
"flag" : {
"memory" : "Memory in MB (default: auto)" ,
"cpus" : "Number of CPUs (default: auto)" ,
"fresh" : "Discard existing state and boot fresh"
}
} ,
"install" : {
"short" : "Download the dev environment image" ,
"long" : "Download and install the Parallels dev environment VM image."
} ,
"serve" : {
"short" : "Mount project and start dev server" ,
"long" : "Mount the current project directory into the VM and start the development server." ,
"flag" : {
"port" : "Port to expose (default: auto)" ,
"path" : "Project path to mount"
}
} ,
"shell" : {
"short" : "Open a shell in the dev VM" ,
"long" : "Open an interactive shell session inside the running dev environment VM." ,
"flag" : {
"console" : "Use serial console instead of SSH"
}
} ,
"stop" : {
"short" : "Stop the dev environment VM" ,
"long" : "Gracefully shut down the running Parallels dev environment VM."
} ,
"update" : {
"short" : "Check for and apply VM updates" ,
"long" : "Check if a newer dev environment image is available and optionally download it." ,
"flag" : {
"apply" : "Download and apply the update"
}
} ,
"status" : {
"short" : "Check dev VM status" ,
"long" : "Show installation and runtime status of the Parallels dev environment VM."
} ,
"claude" : {
"short" : "Start sandboxed Claude session in VM" ,
"long" : "Launch a Claude Code session inside the dev VM with project files mounted and optional authentication." ,
"flag" : {
"no_auth" : "Skip authentication forwarding" ,
"model" : "Model to use for the Claude session" ,
"auth" : "Authentication flags to pass through"
}
} ,
"test" : {
"short" : "Run tests in the dev environment" ,
"long" : "Execute the test suite inside the dev environment VM with the current project mounted." ,
"flag" : {
"name" : "Run only tests matching this name"
}
} ,
"already_installed" : "Dev environment already installed." ,
"check_updates" : "Check for updates with {{.Command}}" ,
"downloading" : "Downloading dev environment image..." ,
"progress_label" : "Progress:" ,
"installed_in" : "Installed in {{.Duration}}" ,
"start_with" : "Start with {{.Command}}" ,
"not_installed" : "Dev environment not installed. Run 'core dev install' first." ,
"config_label" : "Config:" ,
"config_value" : "{{.Memory}}MB RAM, {{.CPUs}} CPUs" ,
"booting" : "Booting dev environment..." ,
"running" : "Dev environment running" ,
"connect_with" : "Connect with {{.Command}}" ,
"ssh_port" : "SSH port:" ,
"not_running" : "Dev environment is not running." ,
"stopping" : "Stopping dev environment..." ,
"status_title" : "Dev Environment Status" ,
"installed_label" : "Installed:" ,
"installed_yes" : "Yes" ,
"installed_no" : "No" ,
"install_with" : "Install with {{.Command}}" ,
"container_label" : "Container:" ,
"memory_label" : "Memory:" ,
"cpus_label" : "CPUs:" ,
"uptime_label" : "Uptime:" ,
"latest_label" : "Latest:" ,
"up_to_date" : "Dev environment is up to date." ,
"update_available" : "Update available!" ,
"run_to_update" : "Run {{.Command}} to update." ,
"stopping_current" : "Stopping current VM..." ,
"downloading_update" : "Downloading update..." ,
"updated_in" : "Updated in {{.Duration}}"
}
} ,
"docs" : {
"short" : "Documentation management" ,
"long" : "List, scan and synchronise documentation across all registered repositories." ,
"list" : {
"short" : "List documentation coverage" ,
"long" : "Show a table of documentation files (README, CLAUDE.md, CHANGELOG, docs/) for each repo." ,
"coverage_summary" : "{{.WithDocs}} with docs, {{.WithoutDocs}} without" ,
"header" : {
"readme" : "README" ,
"claude" : "CLAUDE" ,
"changelog" : "CHANGELOG" ,
"docs" : "Docs"
}
} ,
"sync" : {
"short" : "Sync docs to a central location" ,
"long" : "Copy documentation from each repo's docs/ directory into a central output directory." ,
"flag" : {
"dry_run" : "Preview sync without writing files" ,
"output" : "Output directory for synced docs"
} ,
"confirm" : "Sync documentation?" ,
"dry_run_notice" : "Dry run — no files written." ,
"files_count" : "({{.Count}} file(s))" ,
"repos_with_docs" : "{{.Count}} repo(s) with docs" ,
"synced_packages" : "{{.Count}} package(s) synced" ,
"total_summary" : "{{.Files}} files from {{.Repos}} repos → {{.Output}}" ,
"no_docs_found" : "No documentation found in any repo."
}
} ,
"git" : {
"short" : "Git workflow commands" ,
"long" : "Git operations for single or multi-repo workflows.\n\nIncludes status, commit, push, pull, and safe batch operations for AI agents."
} ,
"setup" : {
"short" : "Set up workspace and clone packages" ,
"long" : "Bootstrap a new workspace or clone packages from a repos.yaml registry.\n\nIn bootstrap mode (no registry), clones the devops repo first, then offers a package wizard.\nIn registry mode, clones all or selected packages into the packages directory." ,
"flag" : {
"all" : "Clone all packages without prompting" ,
"build" : "Run build after cloning" ,
"dry_run" : "Preview what would be cloned" ,
"name" : "Project directory name (bootstrap mode)" ,
"only" : "Filter by repo type (e.g. foundation,module,product)" ,
"registry" : "Path to repos.yaml"
} ,
"bootstrap_mode" : "No registry found — entering bootstrap mode" ,
"cloning_current_dir" : "Cloning into current directory" ,
"creating_project_dir" : "Creating project directory" ,
"cloned" : "cloned" ,
"would_clone" : "Would clone" ,
"already_exists" : "already exists" ,
"would_load_registry" : "Would load registry from" ,
"org_label" : "Organisation:" ,
"to_clone" : "{{.Count}} to clone" ,
"exist" : "{{.Count}} exist" ,
"nothing_to_clone" : "Nothing to clone — all repos already exist." ,
"would_clone_list" : "Would clone:" ,
"cancelled" : "Cancelled." ,
"done" : "done" ,
"cloned_count" : "{{.Count}} cloned" ,
"already_exist_count" : "{{.Count}} already exist" ,
"wizard" : {
"git_repo_title" : "Git Repository Detected" ,
"what_to_do" : "This directory is already a git repository. What would you like to do?" ,
"project_name_title" : "Project Name" ,
"project_name_desc" : "Enter a name for the project directory" ,
"package_selection" : "Package Selection" ,
"selection_hint" : "Use space to select, enter to confirm" ,
"select_packages" : "Select packages to clone" ,
"confirm_clone" : "Clone {{.Count}} package(s) to {{.Target}}?"
} ,
2026-04-01 06:49:34 +00:00
"repo" : {
"short" : "Generate .core config for a repo" ,
"long" : "Detect the current project type and generate .core/build.yaml, release.yaml, and test.yaml for the repository." ,
"setting_up" : "Setting up repo" ,
"detected_type" : "Detected project type" ,
"would_create" : "Would create" ,
"created" : "Created"
} ,
feat: add en-GB locale file for dev/deploy/docs/setup commands
281 translation keys covering dev (health, work, commit, push, pull,
tag, impact, issues, reviews, ci, apply, workflow, vm), deploy, docs,
git, and setup commands.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 00:34:55 +00:00
"github" : {
"short" : "Configure GitHub repo settings" ,
"long" : "Apply standardised GitHub settings (labels, webhooks, branch protection, security) to repos." ,
"flag" : {
"repo" : "Target a specific repo" ,
"all" : "Apply all settings" ,
"labels" : "Sync issue labels" ,
"webhooks" : "Sync webhooks" ,
"protection" : "Sync branch protection rules" ,
"security" : "Sync security settings" ,
"check" : "Check current settings (dry run)" ,
"config" : "Path to GitHub config file"
} ,
"error" : {
"not_authenticated" : "GitHub CLI (gh) is not authenticated. Run 'gh auth login' first." ,
"config_not_found" : "GitHub config file not found" ,
"conflicting_flags" : "Cannot use --check with modification flags"
} ,
"dry_run_mode" : "[dry-run] Checking current settings" ,
"no_repos_specified" : "No repos specified." ,
"usage_hint" : "Use --repo=<name> or --all to target repos." ,
"run_without_check" : "Run without --check to apply changes." ,
"no_changes" : "No changes needed" ,
"repos_checked" : "Repos checked" ,
"all_up_to_date" : "All repos are up to date" ,
"repos_with_changes" : "Repos with changes" ,
"to_create" : "To create" ,
"to_update" : "To update" ,
"to_delete" : "To delete"
}
}
} ,
"common" : {
"flag" : {
"registry" : "Path to repos.yaml registry" ,
"verbose" : "Show detailed output"
} ,
"count" : {
"commits" : "{{.Count}} commit(s)" ,
"failed" : "{{.Count}} failed" ,
"files" : "{{.Count}} file(s)" ,
"pending" : "{{.Count}} pending" ,
"repos_unpushed" : "{{.Count}} repo(s) with unpushed commits" ,
"skipped" : "{{.Count}} skipped" ,
"succeeded" : "{{.Count}} succeeded"
} ,
"status" : {
"clean" : "clean" ,
"dirty" : "dirty" ,
"synced" : "synced" ,
"up_to_date" : "up to date" ,
"cloning" : "Cloning" ,
"running" : "Running" ,
"stopped" : "Stopped"
} ,
"prompt" : {
"abort" : "Aborted."
} ,
"progress" : {
"checking_updates" : "Checking for updates..." ,
"checking" : "Checking..."
}
} ,
"cli" : {
"aborted" : "Aborted."
} ,
"error" : {
"gh_not_found" : "GitHub CLI (gh) not found. Install it from https://cli.github.com/" ,
"registry_not_found" : "Registry (repos.yaml) not found. Run from a workspace directory or use --registry." ,
"repo_not_found" : "Repository not found: {{.Name}}"
} ,
"i18n" : {
"count" : {
"failed" : "{{.Count}} failed"
} ,
"done" : {
"sync" : "Sync complete."
} ,
"fail" : {
"load" : "Failed to load {{.Name}}" ,
"run" : "Failed to run {{.Name}}" ,
"scan" : "Failed to scan {{.Name}}"
} ,
"progress" : {
"check" : "Checking" ,
"fetch" : "Fetching"
}
}
}