## UPDATE June 22, 2019 Salesforce has address this shortcoming in [Summer '19][1] by providing a standard project scaffold with the new Template parameter on the project create command, and then you *do* use `--sourcepath`: ```bash sfdx force:project:create -n MyProject -t standard cd MyProject sfdx force:auth:web:login --setdefaultusername sfdx force:source:retrieve --sourcepath force-app/main/default tree . ├── README.md ├── config │ └── project-scratch-def.json ├── force-app │ └── main │ └── default │ ├── applications │ ├── aura │ ├── classes │ ├── contentassets │ ├── flexipages │ ├── layouts │ ├── lwc │ ├── objects │ ├── permissionsets │ ├── staticresources │ ├── tabs │ └── triggers └── sfdx-project.json ``` ## end of update You don't need `--sourcepath`. It looks at where you are pointing and tries to pull items which match what you have there already. What you do need is a `package.xml` file to get your entire metadata database; you might need help getting that file for your particular org. Instead, you can do the following to get going with Apex or Lightning Component development: ```bash force:project:create -n MyProject cd MyProject sfdx force:source:retrieve -m CustomObject sfdx force:source:retrieve -m ApexClass sfdx force:source:retrieve -m ApexPage sfdx force:source:retrieve -m ApexClass sfdx force:source:retrieve -m AuraDefinitionBundle sfdx force:source:retrieve -m LightningComponentBundle ``` or you can use this nifty one-liner: ```bash sfdx force:source:retrieve -m CustomObject,ApexClass,ApexPage,ApexTrigger,LightningComponentBundle,AuraDefinitionBundle ``` That will populate your source tree, and `--sourcepath` will work when it's pointed at one of those folders. [1]: https://releasenotes.docs.salesforce.com/en-us/summer19/release-notes/rn_sf_cli_project_create.htm