--- title: "Initialize the project" url: https://docs.catalyst.zoho.com/en/tutorials/todo-list/nodejs/initialize-project/ description: "Build a Basic, React, or Angular to-do list web application using Catalyst Advanced I/O Function and Catalyst Data Store that enables you to note down tasks and delete them after they are done." last_updated: 2026-08-17T12:16:04Z service: All Services type: tutorial related_links: - name: "Initialize CLI 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 more about this from the [Project Directory Structure help page](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/introduction/). You can learn about initializing a project in detail from the [CLI help documentation](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/introduction). For the to-do list application, we will initialize the Advanced I/O function first, and initialize the Client component later. > **Note:** Ensure that you enter the function's package name or class name exactly as instructed, because the application's code contains the same name. 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. Navigate using the **arrow keys** and select your preferred portal and press the **Enter** key. If you have no other organizations associated with the account, then the default one will be automatically selected. ![catalyst_todo_portal_choice](https://catalyst-docs-development.zohostratus.in/images/tutorials/todo-list/catalyst_todo_portal_choice.webp) You can find out more about Catalyst's multi-org portal feature from this [help document](https://docs.catalyst.zoho.com/en/getting-started/catalyst-projects/#access-the-multi-org-portal). 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 **ToDoList** from the list and press **Enter**. ![catalyst_todo_project_selection](https://catalyst-docs-development.zohostratus.in/images/tutorials/todo-list/catalyst_todo_project_selection.webp) 5. Select **Functions** using the **space bar**. Press the **Enter** key to initialize. As mentioned earlier, we will initialize and setup the client after we configure the function. ![catalyst_todo_func_cli_select](https://catalyst-docs-development.zohostratus.in/images/tutorials/todo-list/catalyst_todo_func_cli_select.webp) 6. The CLI will initiate the function setup. Select **AdvancedIO** as the function type, and then choose **Node.js** as the runtime environment. ![catalyst_todo_function_type_select](https://catalyst-docs-development.zohostratus.in/images/tutorials/todo-list/catalyst_todo_function_type_select.webp) 7. Enter "to\_do\_list\_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. ![catalyst_todo_node_function_setup](https://catalyst-docs-development.zohostratus.in/images/tutorials/todo-list/catalyst_todo_node_function_setup.webp) The project and function initialization is now complete. The current project directory will be created in the standard structure. The [functions directory](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/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/catalyst-json) and a hidden `.catalystrc` file This is the structure of the ToDoList project's directory without the Client component. ![catalyst_todo_node_func_directory](https://catalyst-docs-development.zohostratus.in/images/tutorials/todo-list/catalyst_todo_node_func_directory.webp)