# VIPR Documentation

Welcome to the VIPR Framework documentation.

## Getting Started Tutorials

Complete step-by-step guides for first-time users:
- **[CLI Tutorial](../../VIPR_CLI.md)** - Installation to first prediction
- **[CLI Introduction Presentation](VIPR%20CLI%20introduction.pdf)** 📊 - Visual overview (PDF)
- **[Web App Tutorial](../../VIPR_web_app.md)** - Docker setup to first use

## Setup & Configuration

### Authentication
- **[Authentication Setup](setup/authentication.md)** - Authentication for private GitLab repositories and related resources

### Installation
- [CLI Installation](installation/cli.md) - Python installation, environment setup, quick reference
- [Docker Deployment](installation/docker.md) - Services, permissions, configuration, troubleshooting

## CLI Usage

- [CLI Commands](cli/commands.md) - Complete command reference
- [Compare Stored Results](web-app/compare-results.md) - Compare existing stored results from the CLI or Web App

## Web Application

- [Web App Inference Flow](web-app/inference-flow.md) - How inference works in the Web Application (Frontend → Backend → Core)
- [Compare Stored Results](web-app/compare-results.md) - How to compare existing stored inference results and inspect compare output

## Plugins

- [Plugins Overview](plugins/) - Plugin system documentation
  - [API Plugin](plugins/built-in/api/) - FastAPI endpoints, DataCollector, Result Storage
  - [Discovery Plugin](plugins/built-in/discovery.md) - Component registry and introspection system
  - [HuggingFace Plugin](plugins/built-in/huggingface.md) - HuggingFace model management and download
  - [Inference Plugin](plugins/built-in/inference.md) - 5-step ML inference workflow
  - [Adapter Plugin](plugins/built-in/adapter.md) - Function-based plugin integration and YAML scaffolding
  - [Normalizers Plugin](plugins/built-in/normalizers.md) - Data normalization (MinMax, Z-Score, Log)
  - [Registry Plugin](plugins/built-in/registry.md) - Model package registry with URI-based loading
  - [Performance Plugin](plugins/built-in/performance.md) - Execution time tracking and monitoring
  - [Filter Documentation](plugins/filters.md) - Complete filter reference (normalization, preprocessing, reflectometry)
  - [GID Plugin](plugins/external/gid/index.md) - GIWAXS/GID Bragg peak detection plugin
  - Additional plugin documentation coming soon

## Extensions

- [Strict Registration](extensions/strict_registration.md) - Fail-fast validation for hooks/filters with typo detection
- [Dynamic Hooks and Filters](extensions/dynamic_hooks_filters.md) - YAML-based hook/filter registration with security validation

## Development

- [VIPR 2 Architecture Direction](development/vipr2-architecture-direction.md) - Goals, migration direction, plugin SDK, discovery, and editor strategy
- [VIPR 2 Kernel Foundation](development/vipr2-kernel-foundation.md) - First kernel primitives for runtime, plugins, handlers, hooks, filters, config, and model caching

## System Overview

**VIPR** is a modular ML framework with:
- **vipr-frontend** - Web interface (Nuxt.js)
- **vipr-api** - REST API backend (FastAPI) with async processing (Celery)
- **vipr-core** - Extensible plugin framework (Python CLI)

## Component Repositories

- [vipr-core](https://codebase.helmholtz.cloud/vipr/vipr-core) - Core framework repository
- [vipr-api](https://codebase.helmholtz.cloud/vipr/vipr-api) - API service repository
- [vipr-frontend](https://codebase.helmholtz.cloud/vipr/vipr-frontend) - Frontend repository
- [vipr-reflectometry-plugin](https://codebase.helmholtz.cloud/vipr/vipr-reflectometry-plugin) - Reflectometry plugin

## Contributing

Documentation contributions are welcome! The documentation follows a simple structure:
- `installation/` - Setup and installation guides
- `cli/` - CLI-related documentation
- Additional sections will be added as needed (architecture, development, plugins)
