Copy a Craft 3 site to my local machine (MAMP) I have a client who started a Craft CMS site with another developer. I guess the other developer quit, and now the client wants me to make some changes to the site.

The site was created with Composer (which I haven't used before), and I'm stumped on how to get it installed on my local machine using MAMP. I ran Composer to install the dependencies, but there isn't a "Craft" folder and a "Public" folder like I'm used to seeing.

Here's a screenshot of the file structure.


Anyone have any advice on how to get this site installed locally so I can make the changes requested?

Thank you in advance!!
From what I see in your screenshot, it looks like you stumbled upon a Craft 3 installation, in which case neither a Craft nor Public folder exist.

Craft 3 specific

The public folder is now called web, so that's where you should point your MAMP documentroot (or whatever that's called in MAMP). The Craft code is now located in composer's vendor folder, that should magically appear after running composer install. Craft's source would then be in vendor/craftcms/cms.

You can read more about the overall structure of a Craft CMS 3 project in the Setting up a New Craft CMS 3 Project article.

Frontend build tools and JS dependencies (package.json, webpack.mix.js)

Further more, I see that Laravel Mix is used for frontend (js, css) automization, meaning that you have to install JS dependencies by running npm install or yarn install, after which you can use the command defined in package.json to run Mix. I guess this is something like npm run watch (when developing) or npm run prod before you push anything to production.

Modules

And: I see a modules folder, that would most likely mean that a custom module was used for this specific site. Modules are a (poorly documented ;)) Craft 3 way of extending your site without building a plugin and trying to get that to work through composer. They are essentially a wrapper for Yii2's modules.

It's very possible that the Module is just vestigial, however, since that folder is created by default if you do composer create-project -s RC craftcms/craft PATH. You can read more about Modules in the Enhancing a Craft CMS 3 Website with a Custom Module article.

Environment settings

Last but not least: copy .env.example to .env and use that to set credentials for your environment (db settings and stuff).