# Scripts Directory Organized utility scripts for FetchML development, testing, and release management. ## Development Scripts (`dev/`) ### `smoke-test.sh` **Purpose**: End-to-end smoke testing for dev/prod environments **Usage**: `./scripts/dev/smoke-test.sh [dev|prod] [--native]` Tests full stack health by starting docker-compose services and verifying: - API health endpoints - Prometheus metrics ingestion (dev mode) - Native library integration (with `--native` flag) **Examples**: ```bash ./scripts/dev/smoke-test.sh dev # Standard smoke test ./scripts/dev/smoke-test.sh prod --native # Prod with native libs ``` ### `manage-artifacts.sh` **Purpose**: Local benchmark artifact management **Usage**: `./scripts/dev/manage-artifacts.sh [list|clean|compare|export]` Manages benchmark run artifacts in `.local-artifacts/`. --- ## CI Scripts (`ci/`) ### `checks.sh` **Purpose**: Maintainability enforcement **Usage**: `./scripts/ci/checks.sh` or `make ci-checks` ### `test.sh` **Purpose**: CI test runner **Usage**: `./scripts/ci/test.sh` ### `verify-paths.sh` **Purpose**: Path convention verification **Usage**: `./scripts/ci/verify-paths.sh` --- ## Release Scripts (`release/`) ### `cleanup.sh` **Purpose**: Unified cleanup utility **Usage**: `./scripts/release/cleanup.sh [all|docker|podman|logs|secrets|state|testdata]` ### `prepare.sh` **Purpose**: Release preparation **Usage**: `./scripts/release/prepare.sh` ### `sanitize.sh` **Purpose**: Config sanitization **Usage**: `./scripts/release/sanitize.sh` ### `verify.sh` **Purpose**: Pre-release verification **Usage**: `./scripts/release/verify.sh` or `make release-check` --- ## Testing Scripts (`testing/`) ### `gen-ssh-test-keys.sh` **Purpose**: Generate SSH keys for TUI testing **Usage**: `./scripts/testing/gen-ssh-test-keys.sh` ### `tui-ssh-test.sh` **Purpose**: Manual TUI SSH testing **Usage**: `./scripts/testing/tui-ssh-test.sh` ### `test-prod.sh` **Purpose**: Production validation **Usage**: `./scripts/testing/test-prod.sh` --- ## Benchmark Scripts (`benchmarks/`) ### `run-benchmarks-local.sh` **Purpose**: Local benchmark execution **Usage**: `./scripts/benchmarks/run-benchmarks-local.sh` --- ## Maintenance Scripts (`maintenance/`) ### `cleanup.sh` **Purpose**: Archive cleanup **Usage**: `./scripts/maintenance/cleanup.sh [all|dry-run]` ### `cleanup-benchmarks.sh` **Purpose**: Benchmark lifecycle management **Usage**: `./scripts/maintenance/cleanup-benchmarks.sh [benchmarks|all|aggressive|status]` --- ## Shared Library (`lib/`) ### `common.sh` **Purpose**: Common shell functions **Usage**: `source "$(dirname "$0")/lib/common.sh"` --- ## Legacy Consolidation | Old Script | New Location | |------------|--------------| | `ci-checks.sh` | `ci/checks.sh` | | `ci-test.sh` | `ci/test.sh` | | `smoke-test.sh` | `dev/smoke-test.sh` | | `smoke-test-native.sh` | *merged into dev/smoke-test.sh --native* | | `manage-artifacts.sh` | `dev/manage-artifacts.sh` | | `verify-paths.sh` | `ci/verify-paths.sh` | | `release/verify-release.sh` | `release/verify.sh` | | `release/prepare-release.sh` | `release/prepare.sh` | | `release/sanitize-configs.sh` | `release/sanitize.sh` | | `release/cleanup-*.sh` (6 files) | `release/cleanup.sh` |