# Development cycle

This section covers developing production-ready workflows for Flyte.

## Subpages

- [Project structure](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/project-structure/page.md)
  - Recommended Directory Structure
  - Organizing Tasks and Workflows
  - Orchestration Directory for Helper Constructs
  - Core Logic for Workflow-Specific Functionality
  - Importance of `__init__.py`
  - Monorepo vs Multi-repo: Choosing a structure
  - CI/CD
  - Documentation and Docstrings
- [Projects and domains](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/projects-and-domains/page.md)
  - Projects
  - Domains
  - When to use different Flyte projects?
  - Projects and Domains: The Power of the Project-Domain Pair
  - Domains: Clear Environment Separation
  - Projects: Organizing Workflows by Teams, Business Areas, or Applications
- [Building workflows](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/building-workflows/page.md)
  - When should I decompose tasks?
  - Differing runtime requirements
  - Improved cache performance
  - Take advantage of interruptible tasks
  - When should I parallelize tasks?
  - Parallelization constructs
  - When should I use caching?
- [Setting up a production project](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/setting-up-a-project/page.md)
  - Terminology
  - Create a Flyte project
  - Creating a local production project directory using `pyflyte init`
  - Directory structure
- [Local dependencies](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/local-dependencies/page.md)
  - Define your dependencies in your `pyproject.toml`
  - Create a Python virtual environment
- [ImageSpec](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/image-spec/page.md)
- [Running your code](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/running-your-code/page.md)
  - Set up your development environment
  - CLI commands for running your code
  - Registration pattern summary
  - Running a script in local Python with `pyflyte run` {#running-a-script-in-local-python}
  - Running a script on Flyte with `pyflyte run --remote`
  - Running tasks through flytectl
  - Generate execution spec file
  - Update the input spec file for arguments to the workflow
  - Create execution using the exec spec file
  - Monitor the execution by providing the execution id from create command
  - Running workflows through flytectl
  - Running launchplans through flytectl
  - Generate an execution spec file
  - Update the input spec file for arguments to the workflow
  - Create execution using the exec spec file
  - Monitor the execution by providing the execution id from create command
  - Deploying your code to Flyte with `pyflyte register`
  - Fast registration
  - Inspecting executions
  - Deploying your code to production
  - Package your code with `pyflyte package`
  - Register the package with `flytectl register`
  - Using pyflyte register versus pyflyte package + flytectl register
  - Image management and registration method
  - Building your own images
  - CI/CD with Flyte and GitHub Actions
  - Some CI/CD best practices
- [Overriding parameters](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/overriding-parameters/page.md)
  - Task parameters
  - Using `with_overrides` with `name` and `node_name`
  - Subworkflow and sub-launch plan parameters
- [Run details](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/run-details/page.md)
  - Passing parameters
  - Why `pyflyte run` rather than `python`?
- [Debugging with interactive tasks](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/debugging-with-interactive-tasks/page.md)
  - Enabling interactive tasks in your code
  - Basic example
  - requirements.txt
  - example.py
  - Register and run the workflow
  - Access the IDE
  - Inspect the task code
  - Interactive debugging
  - Update your code
  - Resume task
  - Auxiliary Python files
  - flyteinteractive_interactive_entrypoint.py
  - flyteinteractive_resume_task.py
  - launch.json
  - Integrated terminal
  - Install extensions
  - example-extensions.py
  - Manage resources
  - example-manage-resources.py
  - Pre and post hooks
  - example-pre-post-hooks.py
  - Only initiate VSCode on task failure
  - example-run-task-first.py
  - Debugging execution issues
- [Task resource validation](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/task-resource-validation/page.md)
- [Running in a local cluster](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/running-in-a-local-cluster/page.md)
  - Running in a local Kubernetes cluster
  - Configuration
  - Start the workflow
  - Inspect the results
  - Local cluster with default image
  - Local cluster with custom image
- [Jupyter notebooks](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/jupyter-notebooks/page.md)
  - Write your workflows and tasks in cells
  - Enable the notebook to register workflows to Flyte
- [Decks](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/decks/page.md)
  - Deck tabs
  - Deck renderers
  - Frame profiling renderer
  - Top-frame renderer
  - Markdown renderer
  - Box renderer
  - Image renderer
  - Contribute to renderers
  - Custom renderers
  - Streaming Decks
  - Union Deck Succeed Video
  - Union Deck Fail Video
- [Migrating from Airflow to Flyte](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/migrating_from_airflow_to_flyte/page.md)
  - Prerequisites
  - Steps
  - 1. Define your Airflow tasks in a Flyte workflow
  - 2. Test your workflow locally
  - 3. Move your workflow to production
- [Remote management](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/remote-management/page.md)
  - Creating a `FlyteRemote` object
  - Authenticating using a client secret
- [Testing](https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/testing/page.md)

---
**Source**: https://github.com/unionai/unionai-docs/blob/main/content/user-guide/development-cycle/_index.md
**HTML**: https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/
