--- title: "Initialize the project" url: https://docs.catalyst.zoho.com/en/tutorials/microservice/nodejs/initialize-project/ description: "Build a microservice using Catalyst Basic I/O Functions and Zoho CRM to send email alerts when more than a specific number of leads are created." last_updated: 2026-11-04T10:10:44Z service: All Services type: tutorial related_links: - name: "Initialize Resources" url: /en/cli/v1/initialize-resources/introduction/ - name: "Project Directory Structure" url: /en/cli/v1/project-directory-structure/introduction/ --- # Initialize the Project from the CLI You can now begin working on your Catalyst project from the CLI. The first step is to initialize the project in an empty directory. This will be the home directory of your project and all of the project files will be saved in it. You can learn about initializing a project in detail from the [Project Directory Structure help page](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/introduction). For this microservice, we will initialize function component. 1. Create a folder for the project on your local machine and navigate to it from the terminal. 2. Initialize a project by executing the following command from that directory: ```sh catalyst init ``` 3. Select your preferred portal using the arrow-keys, and press **Enter** to select your preferred portal. ![catalyst_microservice_portal_select](https://catalyst-docs-development.zohostratus.in/images/tutorials/microservice/catalyst_microservice_portal_select.webp) 4. The CLI will now ask you to associate a Catalyst project with the directory. Associate it with the project that we created earlier from the console. Select **CounterBasedAlert** from the list and press **Enter**. ![micorservice_project_select](https://catalyst-docs-development.zohostratus.in/images/tutorials/microservice/micorservice_project_select.webp) 5. Select **Functions** using the space bar. Press the **Enter** key to initialize. ![microservice_project_init](https://catalyst-docs-development.zohostratus.in/images/tutorials/microservice/microservice_project_init.webp) 6. The CLI will initiate the functions set up. Select the [**BasicIO**](https://docs.catalyst.zoho.com/en/serverless/help/functions/basic-io/) type from the list to set up and press **Enter**. You can learn about the function types from the [Functions help page](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction). ![microservice_func_type_select](https://catalyst-docs-development.zohostratus.in/images/tutorials/microservice/microservice_func_type_select.webp) 7. Select the latest runtime of Node.js as the stack and press **Enter**. ![](https://catalyst-docs-development.zohostratus.in/images/tutorials/microservice/microservice_node_func_select.webp) 8. Enter "**counter_based_alert_function**" as the package name, "**index.js**" as the entry point, and your email address as the author and press **Enter**. You can alternatively press **Enter** without entering inputs to fill in the default values. The CLI will prompt the initialization of the Node dependencies. Press **Y** to confirm the installation, and press **Enter** to confirm your choice. The Node modules will be installed. ![microservice_node_func_init](https://catalyst-docs-development.zohostratus.in/images/tutorials/microservice/microservice_node_func_init.webp) > **Note:** Ensure that you enter the main class name and the function's name exactly as instructed, because the application's code contains the same names. The project and function initialization is now complete. The functions directory will be created in your project directory with the configuration files and dependencies, along with the [`catalyst.json`](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/introduction) and a hidden `.catalystrc` file. ![microservice_node_directory](https://catalyst-docs-development.zohostratus.in/images/tutorials/microservice/microservice_node_directory.webp)