> ## Documentation Index
> Fetch the complete documentation index at: https://domoinc-openapi-sync-dataflows.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# App Framework Tools

Build powerful Domo apps with these essential development tools and libraries. Whether you're creating apps, managing deployments, or integrating with Domo APIs, these tools streamline your workflow.

## Command Line Tools

### [Domo Apps CLI](/portal/Apps/App-Framework/Tools/domo-CLI)

The primary command-line interface for creating, publishing, and managing Domo apps. This CLI provides everything you need to develop apps locally and deploy them to your Domo instance.

**Key Features:**

* Create new apps from templates
* Develop locally with live reloading
* Publish apps to Domo instances
* Manage app versions and assets

**Getting Started:** See [Setup and Installation](/portal/Apps/App-Framework/Quickstart/Setup-and-Installation)

### [Domo Apps Generator (DA CLI)](/portal/Apps/App-Framework/Tools/da-cli)

Modern CLI tool for generating Vite + React applications with advanced features like code generation and manifest management.

**Key Features:**

* Generate new apps with Vite + React
* Create components, reducers, and other structures
* Manage environment-specific configurations
* Support for custom templates

**Best For:** Developers building React-based apps with modern tooling

## Libraries & SDKs

### [domo.js (Ryuu.js)](/portal/Apps/App-Framework/Tools/domo-js)

JavaScript library providing convenient utilities for building custom apps. Essential for data access, authentication, and environment detection.

**Key Features:**

* Access Domo datasets
* Handle user authentication
* Detect mobile vs desktop environments
* Navigate within Domo

**Usage:** Include in your app to interact with Domo's platform features

### [Toolkit Library](/portal/Apps/App-Framework/Tools/toolkit)

Modern TypeScript library offering pre-built clients for common Domo APIs and services. Alternative to domo.js with improved type safety.

**Available Clients:**

* **AppDBClient** - AppDB collections and documents
* **DomoClient** - Core Domo utilities
* **CodeEngineClient** - Code Engine integration
* **WorkflowsClient** - Workflow automation

**Best For:** TypeScript projects needing type-safe API clients

### [Query Library](/portal/Apps/App-Framework/Tools/query)

Object-oriented query builder that eliminates error-prone string manipulation when querying Domo data.

**Key Features:**

* Type-safe query construction
* Support for complex filters and joins
* Prevents malformed query syntax
* Intuitive API

**Usage:** Build SQL queries programmatically with confidence

### [Phoenix Charting Engine](/portal/Apps/App-Framework/Tools/phoenix)

JavaScript wrapper for Domo's Phoenix charting engine, enabling you to create beautiful visualizations in your custom apps.

**Key Features:**

* Full Phoenix chart library access
* Responsive and interactive charts
* Consistent with native Domo visualizations
* Extensive chart types

**Resources:**

* [GitHub Repository](https://github.com/DomoApps/domo-phoenix)
* [Documentation](https://domoapps.github.io/domo-phoenix/)

## CI/CD & Automation

### [Domo Publish GitHub Action](/portal/Apps/App-Framework/Tools/domo-publish-CICD)

Automate your app deployments with GitHub Actions. Push code and let CI/CD handle publishing to Domo.

**Key Features:**

* Automated deployments on merge
* Multi-environment support (dev, staging, prod)
* Secure credential management with GitHub Secrets
* Deployment status in PR checks

**Best For:** Teams using GitHub for version control and CI/CD

## Development Utilities

### Proxy Middleware

Enable local development with real Domo data. The `domo dev` command launches a local server that proxies API requests to your Domo instance.

**NPM Package:** [@domoinc/ryuu-proxy](https://www.npmjs.com/package/@domoinc/ryuu-proxy)

**Usage:** Add to your custom development server for local testing with Domo data

## Choosing the Right Tools

**For New Projects:**

* Start with [Domo Apps CLI](/portal/Apps/App-Framework/Tools/domo-CLI) or [DA CLI](/portal/Apps/App-Framework/Tools/da-cli)
* Use [domo.js](/portal/Apps/App-Framework/Tools/domo-js) or [Toolkit](/portal/Apps/App-Framework/Tools/toolkit) for API access
* Add [Query Library](/portal/Apps/App-Framework/Tools/query) for data queries

**For Data Visualization:**

* Use [Phoenix](/portal/Apps/App-Framework/Tools/phoenix) for charts and graphs
* Combine with [Query Library](/portal/Apps/App-Framework/Tools/query) for dynamic data

**For Teams:**

* Set up [CI/CD automation](/portal/Apps/App-Framework/Tools/domo-publish-CICD) for deployments
* Use TypeScript with [Toolkit](/portal/Apps/App-Framework/Tools/toolkit) for type safety
* Standardize on [DA CLI](/portal/Apps/App-Framework/Tools/da-cli) for consistent project structure

## Next Steps

1. Complete [Setup and Installation](/portal/Apps/App-Framework/Quickstart/Setup-and-Installation)
2. Explore [Starter Kits](/portal/Apps/App-Framework/Quickstart/Starter-Kits) for project templates
3. Follow a [Tutorial](/portal/Apps/App-Framework/Tutorials/Overview) to build your first app
4. Review [Best Practices](/portal/Apps/App-Framework/Quickstart/Best-Practices) for production apps
