## What is an Application? When working with the Ghaymah CLI, an **Application** is the central resource you’ll interact with. It’s not just source code—it’s a deployable unit wrapped in a container, ready to run anywhere. Think of an Application as the thing you **create, launch, update, and monitor** through the CLI. Everything else—like containers, configs, and logs—revolves around it. > **Note:** A **Project must be created first** before you can initialize or launch an Application. > The Project acts as the parent workspace that organizes your Applications and related resources. --- # Basic Usage ```bash gy resource app [command] ``` Aliases: app, a > **Tip:** You can use -h or --help to see all available options. ```bash gy resource app --help ``` ## creating an application ### step 1: Initialize the Application Run the following command to create a new application: ```bash gy resource app init -p project_id ``` >If you don’t know your project ID or haven’t created a project yet, see the [Projects](Project.md) documentation. #### Flags | Flag | what does it do | comment | | ------------- | ------------------------- | ------------------------------------ | | -p project_id | specifies the project id | required | | -n name | Sets the application name | Optional, defaults to directory name | ### Step 2: Deploy the Application #### deploying from a Dockerfile To deploy using a **Dockerfile**, ensure that: - A `Dockerfile` exists in the project directory. - All necessary files referenced by the `Dockerfile` are present in the same directory. Once these requirements are met, deploy the application with: ```bash gy resource app launch ``` #### Deploying from a git repository ## Configuring the .ghaymah.json