Explore the Project: Project Structure

Let's take a moment to look around the project.

github-example-app
├── .git
├── build
├── creates
│   └── issue.js
├── node_modules
├── test
│   ├── authentication.js
│   ├── issue.js
│   └── repo.js
├── triggers
│   ├── issue.js
│   └── repo.js
├── .env
├── .gitignore
├── .nvmrc
├── .travis.yml
├── .zapierapprc
├── .authentication.js
├── .index.js
└── .package.json

If you've worked with Node.js before the project structure will look pretty familiar. Let's take a quick look at a couple of important files and directories in here:

package.json is a standard npm file. There's nothing here you need to pay attention to right now, just know this file will be used later to upgrade to a new version of the Zapier CLI and to create new versions of your app.

In a few minutes we'll show you the zapier push command which will register the app with the Zapier platform. At that point you'll see a.zapierapprc file created. This holds your actual app id. This is not critical to know about right now, but when you collaborate with other developers on your team you'll share this file, and it's how you'll all be able to manage the same instance of the app. Again, it's not there yet - it'll get created in just a moment...

The /test directory contains all of our tests. Each will get run when we execute zapier test. We'll try this out in the next section.