GenSX organizes your workflows and deployments using a flexible structure of projects and environments, making it easy to match the rest of your application architecture and CI/CD topology. Projects are a top‑level resource and environments are instances of a project that you deploy to.
A project in GenSX is a collection of related workflows that are deployed, managed, and monitored together:
Projects typically correspond to a codebase or application that contains multiple workflows.
Within each project, you can have multiple environments. For example, you could create three environments for each project:
You have full control over your environments so you can organize them however you see fit.
Each environment maintains separate:
Projects are defined using a gensx.yaml
file at the root of your codebase:
# gensx.yaml
projectName: customer-support-bot
description: AI assistant for customer support
This configuration applies to both local development and cloud deployments.
Deploy your workflows to specific environments using the CLI:
# Deploy to the default environment
gensx deploy src/workflows.ts
# Deploy to a staging environment
gensx deploy src/workflows.ts --env staging
# Deploy to production
gensx deploy src/workflows.ts --env production
Set environment‑specific variables during deployment:
# Development-specific settings
gensx deploy src/workflows.ts --env development \
-e LOG_LEVEL=debug \
-e OPENAI_API_KEY
# Production-specific settings
gensx deploy src/workflows.ts --env production \
-e LOG_LEVEL=error \
-e OPENAI_API_KEY
The GenSX Console organizes everything by project and environment:
Selecting an environment brings you to the workflows view:
When you click into a workflow, you can trigger it within the console if you’ve deployed it to GenSX Cloud:
You can also see API documentation and sample code for calling that workflow: