# User Guides

Practical guides for building, deploying, and managing applications with bfabric-app-runner.

```{toctree}
:maxdepth: 2
creating_an_app
deploying_apps
working_with_inputs
working_with_outputs
python_environments
cli_reference
```

## Guides Overview

| Guide | Description | Skill Level |
| --------------------------------------------------------- | ---------------------------------------------------- | ------------ |
| [Creating an App](creating_an_app.md) | Define app specs, versions, and commands | Beginner |
| [Deploying Apps](deploying_apps.md) | Build and deploy Python apps with uv | Intermediate |
| [Working with Inputs](working_with_inputs.md) | Resolve and prepare input files for app execution | Intermediate |
| [Working with Outputs](working_with_outputs.md) | Register output files and datasets in B-Fabric | Intermediate |
| [Python Environments](python_environments.md) | Cached and ephemeral environment management | Advanced |
| [CLI Reference](cli_reference.md) | Complete command-line reference | All Levels |

## Common Workflows

- **[App Specification](creating_an_app.md#app-specification)** - Define your app in YAML
- **[Input Preparation](working_with_inputs.md#cli-commands)** - Download and prepare inputs
- **[Output Registration](working_with_outputs.md#cli-commands)** - Register results in B-Fabric
- **[Quick CLI Reference](cli_reference.md)** - All available commands at a glance
