{"id":22799050,"url":"https://github.com/thomd/salesforce-cli-tools","last_synced_at":"2026-04-29T18:32:43.996Z","repository":{"id":224822128,"uuid":"669056843","full_name":"thomd/salesforce-cli-tools","owner":"thomd","description":"A collection of bash scripts for my daily work with Salesforce","archived":false,"fork":false,"pushed_at":"2025-09-10T08:55:58.000Z","size":369,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-10T12:14:05.985Z","etag":null,"topics":["bash","cli","osx","salesforce"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thomd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-07-21T08:37:09.000Z","updated_at":"2025-09-10T08:56:01.000Z","dependencies_parsed_at":"2024-03-27T21:31:03.698Z","dependency_job_id":"8d6a16cd-22a7-4a24-b6d2-e8784f134c54","html_url":"https://github.com/thomd/salesforce-cli-tools","commit_stats":null,"previous_names":["thomd/salesforce-cli-tools"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thomd/salesforce-cli-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomd%2Fsalesforce-cli-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomd%2Fsalesforce-cli-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomd%2Fsalesforce-cli-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomd%2Fsalesforce-cli-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomd","download_url":"https://codeload.github.com/thomd/salesforce-cli-tools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomd%2Fsalesforce-cli-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32439179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T18:12:22.909Z","status":"ssl_error","status_checked_at":"2026-04-29T18:11:33.322Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","cli","osx","salesforce"],"created_at":"2024-12-12T07:07:45.146Z","updated_at":"2026-04-29T18:32:43.990Z","avatar_url":"https://github.com/thomd.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Salesforce CLI Tools\n\nA collection of bash scripts for my daily work with Salesforce. The scripts are basically wrappers around the `sf` cli tool from Salesforce.\n\n\u003e [!CAUTION]\n\u003e These scripts were created to fit my personal needs. They might not fit your needs. They might not work on your machine. They might not work with your project setup.\n\n## Install\n\nSet symlinks to `~/bin/` folder with\n\n    make\n\nAlternatively symlink to custom folders like this example:\n\n    make BINDIR=/usr/local/bin/ COMPLETIONSDIR=/etc/bash_completions.d\n\n## Dependencies\n\nThe tools depend on the following non-standard CLI tools:\n\n* [sf](https://github.com/salesforcecli/cli): `npm install -g @salesforce/cli`\n* [jq](https://jqlang.github.io/jq): `brew install jq`\n* [VisiData](https://www.visidata.org): `brew install saulpw/vd/visidata`\n* [daff](https://paulfitz.github.io/daff): `npm install -g daff`\n* [csvtk](https://bioinf.shenwei.me/csvtk): `brew install csvtk`\n* [graph-easy](https://metacpan.org/release/TELS/Graph-Easy-0.64): `brew install cpanminus; cpan Graph::Easy`\n* [watchexec-cli](https://crates.io/crates/watchexec-cli): `brew install watchexec`\n* [XMLStarlet](https://xmlstar.sourceforge.net/): `brew install xmlstarlet`\n\n## Usage\n\nRun `--help` or `-h` option to get a description of the tool and how to use it.\n\nExport environment valiable `DEBUG` to print the underlying call with `sf` like\n\n    export DEBUG=1\n    sf-deploy\n\nor\n\n    DEBUG=1 sf-deploy\n\n## Commands\n\n1. `sf-data` downloads all data of Salesforce objects as csv files from an org.\n\n1. `sf-deploy` builds, deploys and publishes a full project or deploys single entities from the git index in watch mode for ease of development.\n\n1. `sf-inspect` inspect local custom-labels and their translations as well as permissions from profiles and permission-sets in a tabular manner.\n\n1. `sf-log` creates or updates the debug log for a given debug-log user and streams log to console.\n\n1. `sf-metadata` downloads all or specific metadata from an org.\n\n1. `sf-rel` extracts and displays relations of a given object-id to other objects.\n\n1. `sf-tooldata` downloads all data as csv files from an org using the Tooling API.\n\n1. `sf-validate` validates a full project against an org and runs unit tests.\n\n1. `sf-flow` delete inactive flow versions.\n\n1. `sf-object` resolves sObject key-prefix to sObject name.\n\n## Some Use Cases\n\n### Compare Data between Orgs\n\n    sf-data -o org1 -d .data1 -s Account\n    sf-data -o org2 -d .data2 -s Account\n    daff --www .data1/Account.csv .data2/Account.csv\n\n### Download \u0026 Inspect Data in VisiData\n\nTo automatically open retrieved data in VisiData without downloading into your local folder, use the `-v` option:\n\n    sf-data -v Account\n\n### Inspect Relations of a given Object with other Objects of Interest\n\nSupposed you are interested in the realations of an Account, e.g. `0019O00000Dc70zQAB`, with User, Contact and AccountContactRelation:\n\n    sf-data -s Account -s User -s Contact -s AccountContactRelation\n    cd .data\n    sf-rel 0019O00000Dc70zQAB\n\n### Deploy Files from Git Index to Org\n\nOnly deploying the files you are working on is way faster that always deploying the full project.\n\nFile changes are detected automatically and deployed on change in watch-mode for ease of development.\n\n    sf-deploy\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomd%2Fsalesforce-cli-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthomd%2Fsalesforce-cli-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomd%2Fsalesforce-cli-tools/lists"}