--- description: Using and Developing IGNITE® Apps --- # Using IGNITE® Apps Apps offer a way to extend the functionality of the IGNITE® CLI. There are two core concepts within apps: `Commands` and `Hooks`. `Commands` extend the CLI's functionality and `Hooks` extend existing CLI command functionality. Apps are registered in an IGNITE® scaffolded blockchain project through the `igniteapps.yml`, or globally through `$HOME/.ignite/apps/igniteapps.yml`. To use an app within your project execute the following command inside the project directory: ```sh ignite app install github.com/project/cli-app ``` The app will be available only when running `ignite` inside the project directory. To use an app globally on the other hand, execute the following command: ```sh ignite app install -g github.com/project/cli-app ``` The command will compile the app and make it immediately available to the `ignite` command lists. Discover recommended Apps in the [IGNITE® Apps Marketplace](https://ignite.com/marketplace). ## Listing installed apps When in an ignite scaffolded blockchain you can use the command `ignite app list` to list all IGNITE® Apps and their statuses. ## Updating apps When an app in a remote repository releases updates, running `ignite app update ` will update an specific app declared in your project's `config.yml`.