# CLI Overview *Streamline your Ivy development workflow with powerful CLI tools for project initialization, database integration, authentication, and deployment.* Ivy CLI is a powerful tool designed to streamline the development of Ivy projects. It provides: - **Database Integration**: Connect to multiple database providers (SQL Server, PostgreSQL, MySQL, SQLite, and more). See [Database Overview](05_DatabaseIntegration/01_DatabaseOverview.md) and [Connections](../02_Concepts/26_Connections.md). - **Authentication**: Add [authentication](04_Authentication/01_AuthenticationOverview.md) providers (Auth0, Supabase, Authelia, Basic Auth) - **Deployment**: [Deploy](06_Deployment/01_DeploymentOverview.md) to cloud platforms (AWS, Azure, GCP) - **Project Management**: Initialize and manage Ivy projects with ease ## Quick Start Get started with Ivy CLI in just a few commands: ```terminal >ivy init >ivy db add >ivy auth add >ivy deploy ``` > **tip:** If you're using a specific operating system, read the instructions in your terminal after installing Ivy.Console. You can always see all available commands by using `ivy --help`. ## Key Features ### Database Support - **SQL Server** - Microsoft's enterprise database - **PostgreSQL** - Advanced open-source database - **MySQL/MariaDB** - Popular open-source databases - **SQLite** - Lightweight file-based database - **Supabase** - Open-source Firebase alternative - **Airtable** - Spreadsheet-database hybrid - **Oracle** - Enterprise database system - **Google Spanner** - Globally distributed database - **ClickHouse** - Column-oriented database - **Snowflake** - Cloud data platform ### Authentication Providers - **Auth0** - Universal authentication platform - **Supabase Auth** - Built-in authentication - **Authelia** - Open-source identity provider - **Basic Auth** - Simple username/password authentication ### Deployment Options - **AWS** - Amazon Web Services - **Azure** - Microsoft Azure - **GCP** - Google Cloud Platform ## Project Structure An Ivy project follows a standardized structure: ```text YourProject/ ├── Program.cs # Main project entry point ├── YourProject.csproj # .NET project file ├── GlobalUsings.cs # Global using statements ├── README.md # Project documentation ├── Apps/ # User interface code ├── Connections/ # Database connections │ └── [ConnectionName]/ # Individual connection configs ├── .ivy/ # Ivy-specific configuration, only created by Ivy CLI when necessary └── .gitignore # Git ignore file ``` See [Program](../02_Concepts/01_Program.md) for the entry point, [Apps](../02_Concepts/10_Apps.md) for application UI code, and [Connections](../02_Concepts/26_Connections.md) for database connections. ## Getting Help - Use `ivy --help` for general help - Use `ivy [command] --help` for command-specific help - Use `ivy docs` to open documentation - Use `ivy samples` to see example projects Most Ivy commands require authentication. Use `ivy login` to authenticate with your Ivy account. ## Next Steps 1. **Initialize a project**: `ivy init` 2. **Add a database**: `ivy db add` 3. **Add authentication**: `ivy auth add` 4. **Deploy your project**: `ivy deploy` For detailed information on each feature, see the specific documentation files: - [Project Initialization](02_Init.md) - [Database Integration](05_DatabaseIntegration/01_DatabaseOverview.md) - [Authentication Setup](04_Authentication/01_AuthenticationOverview.md) - [Deployment Guide](06_Deployment/01_DeploymentOverview.md)