mcli-framework 7.10.2__tar.gz → 7.11.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mcli-framework might be problematic. Click here for more details.
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/PKG-INFO +69 -54
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/README.md +68 -53
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/pyproject.toml +1 -1
- mcli_framework-7.11.1/src/mcli/__init__.py +160 -0
- mcli_framework-7.11.1/src/mcli/__main__.py +14 -0
- mcli_framework-7.11.1/src/mcli/app/__init__.py +23 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/app/commands_cmd.py +405 -58
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/app/main.py +21 -27
- mcli_framework-7.11.1/src/mcli/app/video/__init__.py +5 -0
- mcli_framework-7.11.1/src/mcli/chat/__init__.py +34 -0
- mcli_framework-7.11.1/src/mcli/lib/__init__.py +0 -0
- mcli_framework-7.11.1/src/mcli/lib/api/__init__.py +0 -0
- mcli_framework-7.11.1/src/mcli/lib/auth/__init__.py +1 -0
- mcli_framework-7.11.1/src/mcli/lib/config/__init__.py +1 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/custom_commands.py +52 -12
- mcli_framework-7.11.1/src/mcli/lib/erd/__init__.py +25 -0
- mcli_framework-7.11.1/src/mcli/lib/files/__init__.py +0 -0
- mcli_framework-7.11.1/src/mcli/lib/fs/__init__.py +1 -0
- mcli_framework-7.11.1/src/mcli/lib/logger/__init__.py +3 -0
- mcli_framework-7.11.1/src/mcli/lib/paths.py +222 -0
- mcli_framework-7.11.1/src/mcli/lib/performance/__init__.py +17 -0
- mcli_framework-7.11.1/src/mcli/lib/pickles/__init__.py +1 -0
- mcli_framework-7.11.1/src/mcli/lib/secrets/__init__.py +10 -0
- mcli_framework-7.11.1/src/mcli/lib/shell/__init__.py +0 -0
- mcli_framework-7.11.1/src/mcli/lib/toml/__init__.py +1 -0
- mcli_framework-7.11.1/src/mcli/lib/watcher/__init__.py +0 -0
- mcli_framework-7.11.1/src/mcli/ml/__init__.py +16 -0
- mcli_framework-7.11.1/src/mcli/ml/api/__init__.py +30 -0
- mcli_framework-7.11.1/src/mcli/ml/api/routers/__init__.py +27 -0
- mcli_framework-7.11.1/src/mcli/ml/auth/__init__.py +41 -0
- mcli_framework-7.11.1/src/mcli/ml/backtesting/__init__.py +33 -0
- mcli_framework-7.11.1/src/mcli/ml/cli/__init__.py +5 -0
- mcli_framework-7.11.1/src/mcli/ml/config/__init__.py +33 -0
- mcli_framework-7.11.1/src/mcli/ml/configs/__init__.py +16 -0
- mcli_framework-7.11.1/src/mcli/ml/dashboard/__init__.py +12 -0
- mcli_framework-7.11.1/src/mcli/ml/dashboard/components/__init__.py +7 -0
- mcli_framework-7.11.1/src/mcli/ml/dashboard/pages/__init__.py +6 -0
- mcli_framework-7.11.1/src/mcli/ml/data_ingestion/__init__.py +29 -0
- mcli_framework-7.11.1/src/mcli/ml/database/__init__.py +40 -0
- mcli_framework-7.11.1/src/mcli/ml/experimentation/__init__.py +29 -0
- mcli_framework-7.11.1/src/mcli/ml/features/__init__.py +39 -0
- mcli_framework-7.11.1/src/mcli/ml/mlops/__init__.py +19 -0
- mcli_framework-7.11.1/src/mcli/ml/models/__init__.py +90 -0
- mcli_framework-7.11.1/src/mcli/ml/monitoring/__init__.py +25 -0
- mcli_framework-7.11.1/src/mcli/ml/optimization/__init__.py +27 -0
- mcli_framework-7.11.1/src/mcli/ml/predictions/__init__.py +5 -0
- mcli_framework-7.11.1/src/mcli/ml/preprocessing/__init__.py +24 -0
- mcli_framework-7.11.1/src/mcli/ml/scripts/__init__.py +1 -0
- mcli_framework-7.11.1/src/mcli/ml/serving/__init__.py +1 -0
- mcli_framework-7.11.1/src/mcli/ml/trading/__init__.py +63 -0
- mcli_framework-7.11.1/src/mcli/ml/training/__init__.py +7 -0
- mcli_framework-7.11.1/src/mcli/mygroup/__init__.py +3 -0
- mcli_framework-7.11.1/src/mcli/public/__init__.py +1 -0
- mcli_framework-7.11.1/src/mcli/public/commands/__init__.py +2 -0
- mcli_framework-7.11.1/src/mcli/self/__init__.py +3 -0
- mcli_framework-7.11.1/src/mcli/self/migrate_cmd.py +261 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/self/self_cmd.py +8 -0
- mcli_framework-7.11.1/src/mcli/workflow/__init__.py +0 -0
- mcli_framework-7.11.1/src/mcli/workflow/daemon/__init__.py +15 -0
- mcli_framework-7.11.1/src/mcli/workflow/dashboard/__init__.py +5 -0
- mcli_framework-7.11.1/src/mcli/workflow/docker/__init__.py +0 -0
- mcli_framework-7.11.1/src/mcli/workflow/docker/docker.py +0 -0
- mcli_framework-7.11.1/src/mcli/workflow/file/__init__.py +0 -0
- mcli_framework-7.11.1/src/mcli/workflow/gcloud/__init__.py +1 -0
- mcli_framework-7.11.1/src/mcli/workflow/git_commit/__init__.py +0 -0
- mcli_framework-7.11.1/src/mcli/workflow/interview/__init__.py +0 -0
- mcli_framework-7.11.1/src/mcli/workflow/notebook/__init__.py +16 -0
- mcli_framework-7.11.1/src/mcli/workflow/registry/__init__.py +0 -0
- mcli_framework-7.11.1/src/mcli/workflow/repo/__init__.py +0 -0
- mcli_framework-7.11.1/src/mcli/workflow/scheduler/__init__.py +25 -0
- mcli_framework-7.11.1/src/mcli/workflow/search/__init__.py +0 -0
- mcli_framework-7.11.1/src/mcli/workflow/secrets/__init__.py +4 -0
- mcli_framework-7.11.1/src/mcli/workflow/secrets/secrets_cmd.py +192 -0
- mcli_framework-7.11.1/src/mcli/workflow/sync/__init__.py +5 -0
- mcli_framework-7.11.1/src/mcli/workflow/videos/__init__.py +1 -0
- mcli_framework-7.11.1/src/mcli/workflow/wakatime/__init__.py +80 -0
- mcli_framework-7.11.1/src/mcli/workflow/workflow.py +48 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli_framework.egg-info/PKG-INFO +69 -54
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli_framework.egg-info/SOURCES.txt +75 -0
- mcli_framework-7.11.1/tests/cli/__init__.py +0 -0
- mcli_framework-7.11.1/tests/e2e/__init__.py +0 -0
- mcli_framework-7.11.1/tests/fixtures/__init__.py +59 -0
- mcli_framework-7.11.1/tests/integration/__init__.py +0 -0
- mcli_framework-7.11.1/tests/performance/__init__.py +0 -0
- mcli_framework-7.11.1/tests/property/__init__.py +0 -0
- mcli_framework-7.11.1/tests/unit/__init__.py +0 -0
- mcli_framework-7.10.2/src/mcli/lib/paths.py +0 -94
- mcli_framework-7.10.2/src/mcli/workflow/workflow.py +0 -32
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/.github/dependabot.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/.github/workflows/build.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/.github/workflows/ci.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/.github/workflows/codeql.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/.github/workflows/main_mcli.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/.github/workflows/ml-pipeline.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/.github/workflows/publish-self-hosted.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/.github/workflows/publish.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/.github/workflows/release.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/.github/workflows/security.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/.github/workflows/test.yml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/LICENSE +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/MANIFEST.in +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/mcli_rust/Cargo.toml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/mcli_rust/src/command_parser.rs +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/mcli_rust/src/file_watcher.rs +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/mcli_rust/src/lib.rs +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/mcli_rust/src/process_manager.rs +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/mcli_rust/src/tfidf.rs +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/setup.cfg +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/app/completion_helpers.py +0 -0
- /mcli_framework-7.10.2/src/mcli/workflow/docker/docker.py → /mcli_framework-7.11.1/src/mcli/app/model/__init__.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/app/model/model.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/app/model_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/app/video/video.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/chat/chat.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/chat/command_rag.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/chat/enhanced_chat.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/chat/system_controller.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/chat/system_integration.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/cli.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/config.toml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/api/api.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/api/daemon_client.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/api/daemon_client_local.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/api/daemon_decorator.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/api/mcli_decorators.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/auth/auth.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/auth/aws_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/auth/azure_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/auth/credential_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/auth/gcp_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/auth/key_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/auth/mcli_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/auth/token_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/auth/token_util.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/config/config.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/discovery/__init__.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/discovery/command_discovery.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/erd/erd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/erd/generate_graph.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/files/files.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/fs/fs.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/lib.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/logger/logger.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/optional_deps.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/performance/optimizer.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/performance/rust_bridge.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/performance/uvloop_config.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/pickles/pickles.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/search/cached_vectorizer.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/secrets/commands.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/secrets/manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/secrets/repl.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/secrets/store.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/services/data_pipeline.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/services/lsh_client.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/services/redis_service.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/shell/shell.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/toml/toml.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/ui/styling.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/ui/visual_effects.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/lib/watcher/watcher.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/api/app.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/api/middleware.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/api/routers/admin_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/api/routers/auth_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/api/routers/backtest_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/api/routers/data_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/api/routers/model_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/api/routers/monitoring_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/api/routers/portfolio_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/api/routers/prediction_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/api/routers/trade_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/api/routers/websocket_router.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/api/schemas.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/auth/auth_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/auth/models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/auth/permissions.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/backtesting/backtest_engine.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/backtesting/performance_metrics.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/backtesting/run.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/cache.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/cli/main.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/config/settings.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/configs/dvc_config.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/configs/mlflow_config.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/configs/mlops_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/app.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/app_integrated.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/app_supabase.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/app_training.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/cli.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/common.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/components/charts.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/components/metrics.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/components/tables.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/overview.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/pages/cicd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/pages/debug_dependencies.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/pages/gravity_viz.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/pages/monte_carlo_predictions.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/pages/predictions_enhanced.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/pages/scrapers_and_logs.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/pages/test_portfolio.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/pages/trading.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/pages/workflows.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/streamlit_extras_utils.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/styles.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/utils.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/dashboard/warning_suppression.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/data_ingestion/api_connectors.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/data_ingestion/data_pipeline.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/data_ingestion/stream_processor.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/database/migrations/env.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/database/models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/database/session.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/experimentation/ab_testing.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/features/ensemble_features.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/features/recommendation_engine.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/features/stock_features.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/features/test_feature_engineering.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/logging.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/mlops/data_versioning.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/mlops/experiment_tracker.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/mlops/model_serving.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/mlops/pipeline_orchestrator.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/models/base_models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/models/ensemble_models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/models/recommendation_models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/models/test_models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/monitoring/drift_detection.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/monitoring/metrics.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/optimization/optimize.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/optimization/portfolio_optimizer.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/predictions/monte_carlo.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/predictions/prediction_engine.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/preprocessing/data_cleaners.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/preprocessing/feature_extractors.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/preprocessing/ml_pipeline.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/preprocessing/test_preprocessing.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/scripts/populate_sample_data.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/serving/serve.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/tasks.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/tests/test_integration.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/tests/test_training_dashboard.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/trading/alpaca_client.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/trading/migrations.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/trading/models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/trading/paper_trading.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/trading/risk_management.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/trading/trading_service.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/training/train.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/ml/training/train_model.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/mygroup/test_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/public/oi/oi.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/public/public.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/self/completion_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/self/logs_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/self/redis_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/self/store_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/self/test_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/self/visual_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/self/zsh_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/daemon/async_command_database.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/daemon/async_process_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/daemon/client.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/daemon/daemon.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/daemon/daemon_api.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/daemon/enhanced_daemon.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/daemon/process_cli.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/daemon/process_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/daemon/test_daemon.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/dashboard/dashboard_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/doc_convert.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/gcloud/config.toml +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/gcloud/gcloud.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/git_commit/ai_service.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/lsh_integration.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/model_service/client.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/model_service/download_and_run_efficient_models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/model_service/lightweight_embedder.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/model_service/lightweight_model_server.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/model_service/lightweight_test.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/model_service/model_service.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/model_service/ollama_efficient_runner.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/model_service/openai_adapter.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/model_service/pdf_processor.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/model_service/test_efficient_runner.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/model_service/test_example.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/model_service/test_integration.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/model_service/test_new_features.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/notebook/converter.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/notebook/notebook_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/notebook/schema.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/notebook/validator.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/openai/openai.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/registry/registry.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/repo/repo.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/scheduler/cron_parser.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/scheduler/job.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/scheduler/monitor.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/scheduler/persistence.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/scheduler/scheduler.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/sync/test_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli/workflow/wakatime/wakatime.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli_framework.egg-info/dependency_links.txt +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli_framework.egg-info/entry_points.txt +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli_framework.egg-info/requires.txt +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/src/mcli_framework.egg-info/top_level.txt +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/cli/test_all_commands.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/cli/test_app_logs_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/cli/test_app_redis_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/cli/test_logs_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/cli/test_main_app.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/cli/test_model_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/cli/test_self_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/cli/test_self_cmd_commands.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/cli/test_self_cmd_plugins.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/cli/test_self_cmd_utilities.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/cli/test_workflow_file.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/cli/test_workflow_gcloud.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/cli/test_workflow_registry.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/conftest.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/demo_generate_graph.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/demo_hierarchical_transform.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/e2e/test_complete_workflows.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/e2e/test_model_workflow.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/e2e/test_new_user_workflow.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/e2e/test_update_workflow.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/fixtures/chat_fixtures.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/fixtures/cli_fixtures.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/fixtures/data_fixtures.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/fixtures/db_fixtures.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/fixtures/model_fixtures.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_agent.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_chat_client.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_chat_system.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_daemon_server.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_e2e_dashboard_lsh_supabase.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_flask_webapp.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_gcloud_services.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_lsh_client.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_lsh_service.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_ml_auth.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_ml_data_pipeline.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_ml_models.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_ml_pipeline.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_module_imports.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_oi_service.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_repo_operations.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_scheduler_integration.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_service_registry.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_supabase_live_connection.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_video_processing.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_wakatime_api.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_webapp_full.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_workflow.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/integration/test_workflow_commands.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/run_tests.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/test_harness.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/test_openai_adapter.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_api_utils.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_async_process_manager.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_auth_modules.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_bug_fixes.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_config.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_custom_commands.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_custom_commands_filtering.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_daemon_api.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_dashboard_components.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_dashboard_functions.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_dashboard_pages.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_dependencies.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_doc_convert_workflow.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_emulator_workflow.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_erd_generation.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_erd_generic.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_erd_imports.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_git_commit_workflow.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_lib_auth.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_lib_files.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_lib_utils.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_logger.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_ml_preprocessing.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_optional_deps.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_paths.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_pdf_compress.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_prediction_engine.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_regression.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_scheduler.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_scheduler_cron_parser.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_scheduler_job.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_scheduler_monitor.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_scheduler_persistence.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_self_update.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_store_cmd.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_supabase_connection.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_supabase_pagination.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_toml_utils.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_trading_imports.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_ui_rich.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/test_uv_compat.py +0 -0
- {mcli_framework-7.10.2 → mcli_framework-7.11.1}/tests/unit/workflow/test_notebook.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcli-framework
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.11.1
|
|
4
4
|
Summary: Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/commands/, version with lockfile, run as daemon or cron job.
|
|
5
5
|
Author-email: Luis Fernandez de la Vara <luis@lefv.io>
|
|
6
6
|
Maintainer-email: Luis Fernandez de la Vara <luis@lefv.io>
|
|
@@ -216,6 +216,24 @@ pip install mcli-framework
|
|
|
216
216
|
uv pip install mcli-framework
|
|
217
217
|
```
|
|
218
218
|
|
|
219
|
+
### Initialize Workflows Directory
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
# Initialize workflows in current git repository
|
|
223
|
+
mcli workflow init
|
|
224
|
+
|
|
225
|
+
# Or initialize global workflows
|
|
226
|
+
mcli workflow init --global
|
|
227
|
+
|
|
228
|
+
# Initialize with git repository for workflows
|
|
229
|
+
mcli workflow init --git
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
This creates a `.mcli/workflows/` directory (local to your repo) or `~/.mcli/workflows/` (global) with:
|
|
233
|
+
- README.md with usage instructions
|
|
234
|
+
- commands.lock.json for version tracking
|
|
235
|
+
- .gitignore for backup files
|
|
236
|
+
|
|
219
237
|
### Create Your First Workflow
|
|
220
238
|
|
|
221
239
|
#### Method 1: From a Python Script
|
|
@@ -233,20 +251,20 @@ def app(message):
|
|
|
233
251
|
EOF
|
|
234
252
|
|
|
235
253
|
# Import as workflow
|
|
236
|
-
mcli
|
|
254
|
+
mcli workflow import-script my_task.py --name my-task
|
|
237
255
|
|
|
238
256
|
# Run it
|
|
239
|
-
mcli
|
|
257
|
+
mcli workflowss my-task --message "Hi"
|
|
240
258
|
```
|
|
241
259
|
|
|
242
260
|
#### Method 2: Interactive Creation
|
|
243
261
|
|
|
244
262
|
```bash
|
|
245
263
|
# Create workflow interactively
|
|
246
|
-
mcli
|
|
264
|
+
mcli workflow add my-task
|
|
247
265
|
|
|
248
266
|
# Edit in your $EDITOR, then run
|
|
249
|
-
mcli
|
|
267
|
+
mcli workflowss my-task
|
|
250
268
|
```
|
|
251
269
|
|
|
252
270
|
## 📦 Workflow System Features
|
|
@@ -257,29 +275,28 @@ Multiple ways to create workflows:
|
|
|
257
275
|
|
|
258
276
|
```bash
|
|
259
277
|
# Import from existing Python script
|
|
260
|
-
mcli
|
|
261
|
-
|
|
278
|
+
mcli workflow import-script script.py --name my-workflow
|
|
262
279
|
# Create new workflow interactively
|
|
263
|
-
mcli
|
|
280
|
+
mcli workflow add my-workflow --group workflow --description "Does something useful"
|
|
264
281
|
|
|
265
282
|
# List all workflows
|
|
266
|
-
mcli
|
|
283
|
+
mcli workflow list-custom
|
|
267
284
|
```
|
|
268
285
|
|
|
269
286
|
### 2. **Edit & Manage Workflows**
|
|
270
287
|
|
|
271
288
|
```bash
|
|
272
289
|
# Edit workflow in $EDITOR
|
|
273
|
-
mcli
|
|
290
|
+
mcli workflow edit my-workflow
|
|
274
291
|
|
|
275
292
|
# Show workflow details
|
|
276
|
-
mcli
|
|
293
|
+
mcli workflow info my-workflow
|
|
277
294
|
|
|
278
295
|
# Search workflows
|
|
279
|
-
mcli
|
|
296
|
+
mcli workflow search "pdf"
|
|
280
297
|
|
|
281
298
|
# Remove workflow
|
|
282
|
-
mcli
|
|
299
|
+
mcli workflow remove my-workflow
|
|
283
300
|
```
|
|
284
301
|
|
|
285
302
|
### 3. **Export & Import (Portability)**
|
|
@@ -288,13 +305,13 @@ Share workflows across machines or with your team:
|
|
|
288
305
|
|
|
289
306
|
```bash
|
|
290
307
|
# Export all workflows to JSON
|
|
291
|
-
mcli
|
|
308
|
+
mcli workflow export my-workflows.json
|
|
292
309
|
|
|
293
310
|
# Import on another machine
|
|
294
|
-
mcli
|
|
311
|
+
mcli workflow import my-workflows.json
|
|
295
312
|
|
|
296
313
|
# Export single workflow to Python script
|
|
297
|
-
mcli
|
|
314
|
+
mcli workflow export-script my-workflow --output my_workflow.py
|
|
298
315
|
```
|
|
299
316
|
|
|
300
317
|
Your workflows are just JSON files in `~/.mcli/commands/`:
|
|
@@ -313,10 +330,10 @@ MCLI automatically maintains a lockfile for reproducibility:
|
|
|
313
330
|
|
|
314
331
|
```bash
|
|
315
332
|
# Update lockfile with current workflow versions
|
|
316
|
-
mcli
|
|
333
|
+
mcli workflow update-lockfile
|
|
317
334
|
|
|
318
335
|
# Verify workflows match lockfile
|
|
319
|
-
mcli
|
|
336
|
+
mcli workflow verify
|
|
320
337
|
```
|
|
321
338
|
|
|
322
339
|
Example `commands.lock.json`:
|
|
@@ -346,7 +363,7 @@ git commit -m "Update workflows"
|
|
|
346
363
|
|
|
347
364
|
# On another machine
|
|
348
365
|
git pull
|
|
349
|
-
mcli
|
|
366
|
+
mcli workflow verify # Ensures consistency
|
|
350
367
|
```
|
|
351
368
|
|
|
352
369
|
### 5. **Run as Daemon or Scheduled Task**
|
|
@@ -357,29 +374,29 @@ Workflows aren't coupled to the engine - run them however you want:
|
|
|
357
374
|
|
|
358
375
|
```bash
|
|
359
376
|
# Start workflow as background daemon
|
|
360
|
-
mcli
|
|
377
|
+
mcli workflows daemon start my-task-daemon --workflow my-task
|
|
361
378
|
|
|
362
379
|
# Check daemon status
|
|
363
|
-
mcli
|
|
380
|
+
mcli workflows daemon status
|
|
364
381
|
|
|
365
382
|
# Stop daemon
|
|
366
|
-
mcli
|
|
383
|
+
mcli workflows daemon stop my-task-daemon
|
|
367
384
|
```
|
|
368
385
|
|
|
369
386
|
#### As Scheduled Task:
|
|
370
387
|
|
|
371
388
|
```bash
|
|
372
389
|
# Schedule workflow to run every hour
|
|
373
|
-
mcli
|
|
390
|
+
mcli workflows scheduler add \
|
|
374
391
|
--name hourly-sync \
|
|
375
392
|
--schedule "0 * * * *" \
|
|
376
393
|
--workflow my-task
|
|
377
394
|
|
|
378
395
|
# List scheduled workflows
|
|
379
|
-
mcli
|
|
396
|
+
mcli workflows scheduler list
|
|
380
397
|
|
|
381
398
|
# View logs
|
|
382
|
-
mcli
|
|
399
|
+
mcli workflows scheduler logs hourly-sync
|
|
383
400
|
```
|
|
384
401
|
|
|
385
402
|
## 🎨 Real-World Workflow Examples
|
|
@@ -388,12 +405,11 @@ mcli workflow scheduler logs hourly-sync
|
|
|
388
405
|
|
|
389
406
|
```bash
|
|
390
407
|
# Create PDF processing workflow
|
|
391
|
-
mcli
|
|
392
|
-
|
|
408
|
+
mcli workflow import-script pdf_tool.py --name pdf
|
|
393
409
|
# Use it
|
|
394
|
-
mcli
|
|
395
|
-
mcli
|
|
396
|
-
mcli
|
|
410
|
+
mcli workflows pdf extract ~/Documents/report.pdf
|
|
411
|
+
mcli workflows pdf compress ~/Documents/*.pdf --output compressed/
|
|
412
|
+
mcli workflows pdf split large.pdf --pages 10
|
|
397
413
|
```
|
|
398
414
|
|
|
399
415
|
### Example 2: Data Sync Workflow
|
|
@@ -423,13 +439,12 @@ def status():
|
|
|
423
439
|
click.echo("Checking sync status...")
|
|
424
440
|
EOF
|
|
425
441
|
|
|
426
|
-
mcli
|
|
427
|
-
|
|
442
|
+
mcli workflow import-script sync.py --name sync
|
|
428
443
|
# Run manually
|
|
429
|
-
mcli
|
|
444
|
+
mcli workflows sync backup ~/data remote:backup
|
|
430
445
|
|
|
431
446
|
# Or schedule it
|
|
432
|
-
mcli
|
|
447
|
+
mcli workflows scheduler add \
|
|
433
448
|
--name nightly-backup \
|
|
434
449
|
--schedule "0 2 * * *" \
|
|
435
450
|
--workflow "sync backup ~/data remote:backup"
|
|
@@ -439,13 +454,12 @@ mcli workflow scheduler add \
|
|
|
439
454
|
|
|
440
455
|
```bash
|
|
441
456
|
# Already included as built-in workflow
|
|
442
|
-
mcli
|
|
457
|
+
mcli workflows git-commit
|
|
443
458
|
|
|
444
459
|
# Or create your own variant
|
|
445
|
-
mcli
|
|
460
|
+
mcli workflow export-script git-commit --output my_git_helper.py
|
|
446
461
|
# Edit my_git_helper.py to customize
|
|
447
|
-
mcli
|
|
448
|
-
```
|
|
462
|
+
mcli workflow import-script my_git_helper.py --name my-git```
|
|
449
463
|
|
|
450
464
|
## 🔧 Workflow Structure
|
|
451
465
|
|
|
@@ -471,7 +485,7 @@ Each workflow is a JSON file with this structure:
|
|
|
471
485
|
MCLI comes with powerful built-in workflows:
|
|
472
486
|
|
|
473
487
|
```bash
|
|
474
|
-
mcli
|
|
488
|
+
mcli workflows --help
|
|
475
489
|
```
|
|
476
490
|
|
|
477
491
|
Available workflows:
|
|
@@ -515,8 +529,8 @@ You write scripts. They work. Then:
|
|
|
515
529
|
mcli self completion install
|
|
516
530
|
|
|
517
531
|
# Now use tab completion
|
|
518
|
-
mcli
|
|
519
|
-
mcli
|
|
532
|
+
mcli workflows <TAB> # Shows all workflows
|
|
533
|
+
mcli workflows pdf <TAB> # Shows pdf subcommands
|
|
520
534
|
```
|
|
521
535
|
|
|
522
536
|
### AI Chat Integration
|
|
@@ -562,10 +576,13 @@ make wheel
|
|
|
562
576
|
|
|
563
577
|
## 📖 Documentation
|
|
564
578
|
|
|
565
|
-
-
|
|
579
|
+
- **📚 Documentation Index**: [Complete Documentation Index](docs/INDEX.md) - All docs organized by category
|
|
580
|
+
- **Installation**: See [Installation Guide](docs/setup/INSTALL.md)
|
|
566
581
|
- **Workflows**: Full workflow documentation (this README)
|
|
567
582
|
- **Shell Completion**: See [Shell Completion Guide](docs/features/SHELL_COMPLETION.md)
|
|
583
|
+
- **Testing**: See [Testing Guide](docs/development/TESTING.md)
|
|
568
584
|
- **Contributing**: See [Contributing Guide](CONTRIBUTING.md)
|
|
585
|
+
- **Release Notes**: See [Latest Release (7.10.2)](docs/releases/7.10.2.md)
|
|
569
586
|
|
|
570
587
|
## 🎯 Common Use Cases
|
|
571
588
|
|
|
@@ -573,21 +590,20 @@ make wheel
|
|
|
573
590
|
|
|
574
591
|
```bash
|
|
575
592
|
# Create your daily automation
|
|
576
|
-
mcli
|
|
577
|
-
|
|
578
|
-
mcli workflow scheduler add --name daily --schedule "0 9 * * *" --workflow daily-tasks
|
|
593
|
+
mcli workflow add daily-tasks# Add your tasks in $EDITOR
|
|
594
|
+
mcli workflows scheduler add --name daily --schedule "0 9 * * *" --workflow daily-tasks
|
|
579
595
|
```
|
|
580
596
|
|
|
581
597
|
### Use Case 2: Team Workflow Sharing
|
|
582
598
|
|
|
583
599
|
```bash
|
|
584
600
|
# On your machine
|
|
585
|
-
mcli
|
|
601
|
+
mcli workflow export team-workflows.json
|
|
586
602
|
|
|
587
603
|
# Share file with team
|
|
588
604
|
# On teammate's machine
|
|
589
|
-
mcli
|
|
590
|
-
mcli
|
|
605
|
+
mcli workflow import team-workflows.json
|
|
606
|
+
mcli workflow verify # Ensure consistency
|
|
591
607
|
```
|
|
592
608
|
|
|
593
609
|
### Use Case 3: CI/CD Integration
|
|
@@ -595,9 +611,9 @@ mcli commands verify # Ensure consistency
|
|
|
595
611
|
```bash
|
|
596
612
|
# In your CI pipeline
|
|
597
613
|
- pip install mcli-framework
|
|
598
|
-
- mcli
|
|
599
|
-
- mcli
|
|
600
|
-
- mcli
|
|
614
|
+
- mcli workflow import ci-workflows.json
|
|
615
|
+
- mcli workflows build-and-test
|
|
616
|
+
- mcli workflows deploy --env production
|
|
601
617
|
```
|
|
602
618
|
|
|
603
619
|
## 📦 Dependencies
|
|
@@ -627,7 +643,7 @@ We welcome contributions! Especially workflow examples.
|
|
|
627
643
|
1. Fork the repository
|
|
628
644
|
2. Create feature branch: `git checkout -b feature/awesome-workflow`
|
|
629
645
|
3. Create your workflow
|
|
630
|
-
4. Export it: `mcli
|
|
646
|
+
4. Export it: `mcli workflow export my-workflow.json`
|
|
631
647
|
5. Submit PR with workflow JSON
|
|
632
648
|
|
|
633
649
|
## 📄 License
|
|
@@ -646,5 +662,4 @@ MIT License - see [LICENSE](LICENSE) for details.
|
|
|
646
662
|
|
|
647
663
|
```bash
|
|
648
664
|
pip install mcli-framework
|
|
649
|
-
mcli
|
|
650
|
-
```
|
|
665
|
+
mcli workflow add my-first-workflow```
|
|
@@ -56,6 +56,24 @@ pip install mcli-framework
|
|
|
56
56
|
uv pip install mcli-framework
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
+
### Initialize Workflows Directory
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Initialize workflows in current git repository
|
|
63
|
+
mcli workflow init
|
|
64
|
+
|
|
65
|
+
# Or initialize global workflows
|
|
66
|
+
mcli workflow init --global
|
|
67
|
+
|
|
68
|
+
# Initialize with git repository for workflows
|
|
69
|
+
mcli workflow init --git
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
This creates a `.mcli/workflows/` directory (local to your repo) or `~/.mcli/workflows/` (global) with:
|
|
73
|
+
- README.md with usage instructions
|
|
74
|
+
- commands.lock.json for version tracking
|
|
75
|
+
- .gitignore for backup files
|
|
76
|
+
|
|
59
77
|
### Create Your First Workflow
|
|
60
78
|
|
|
61
79
|
#### Method 1: From a Python Script
|
|
@@ -73,20 +91,20 @@ def app(message):
|
|
|
73
91
|
EOF
|
|
74
92
|
|
|
75
93
|
# Import as workflow
|
|
76
|
-
mcli
|
|
94
|
+
mcli workflow import-script my_task.py --name my-task
|
|
77
95
|
|
|
78
96
|
# Run it
|
|
79
|
-
mcli
|
|
97
|
+
mcli workflowss my-task --message "Hi"
|
|
80
98
|
```
|
|
81
99
|
|
|
82
100
|
#### Method 2: Interactive Creation
|
|
83
101
|
|
|
84
102
|
```bash
|
|
85
103
|
# Create workflow interactively
|
|
86
|
-
mcli
|
|
104
|
+
mcli workflow add my-task
|
|
87
105
|
|
|
88
106
|
# Edit in your $EDITOR, then run
|
|
89
|
-
mcli
|
|
107
|
+
mcli workflowss my-task
|
|
90
108
|
```
|
|
91
109
|
|
|
92
110
|
## 📦 Workflow System Features
|
|
@@ -97,29 +115,28 @@ Multiple ways to create workflows:
|
|
|
97
115
|
|
|
98
116
|
```bash
|
|
99
117
|
# Import from existing Python script
|
|
100
|
-
mcli
|
|
101
|
-
|
|
118
|
+
mcli workflow import-script script.py --name my-workflow
|
|
102
119
|
# Create new workflow interactively
|
|
103
|
-
mcli
|
|
120
|
+
mcli workflow add my-workflow --group workflow --description "Does something useful"
|
|
104
121
|
|
|
105
122
|
# List all workflows
|
|
106
|
-
mcli
|
|
123
|
+
mcli workflow list-custom
|
|
107
124
|
```
|
|
108
125
|
|
|
109
126
|
### 2. **Edit & Manage Workflows**
|
|
110
127
|
|
|
111
128
|
```bash
|
|
112
129
|
# Edit workflow in $EDITOR
|
|
113
|
-
mcli
|
|
130
|
+
mcli workflow edit my-workflow
|
|
114
131
|
|
|
115
132
|
# Show workflow details
|
|
116
|
-
mcli
|
|
133
|
+
mcli workflow info my-workflow
|
|
117
134
|
|
|
118
135
|
# Search workflows
|
|
119
|
-
mcli
|
|
136
|
+
mcli workflow search "pdf"
|
|
120
137
|
|
|
121
138
|
# Remove workflow
|
|
122
|
-
mcli
|
|
139
|
+
mcli workflow remove my-workflow
|
|
123
140
|
```
|
|
124
141
|
|
|
125
142
|
### 3. **Export & Import (Portability)**
|
|
@@ -128,13 +145,13 @@ Share workflows across machines or with your team:
|
|
|
128
145
|
|
|
129
146
|
```bash
|
|
130
147
|
# Export all workflows to JSON
|
|
131
|
-
mcli
|
|
148
|
+
mcli workflow export my-workflows.json
|
|
132
149
|
|
|
133
150
|
# Import on another machine
|
|
134
|
-
mcli
|
|
151
|
+
mcli workflow import my-workflows.json
|
|
135
152
|
|
|
136
153
|
# Export single workflow to Python script
|
|
137
|
-
mcli
|
|
154
|
+
mcli workflow export-script my-workflow --output my_workflow.py
|
|
138
155
|
```
|
|
139
156
|
|
|
140
157
|
Your workflows are just JSON files in `~/.mcli/commands/`:
|
|
@@ -153,10 +170,10 @@ MCLI automatically maintains a lockfile for reproducibility:
|
|
|
153
170
|
|
|
154
171
|
```bash
|
|
155
172
|
# Update lockfile with current workflow versions
|
|
156
|
-
mcli
|
|
173
|
+
mcli workflow update-lockfile
|
|
157
174
|
|
|
158
175
|
# Verify workflows match lockfile
|
|
159
|
-
mcli
|
|
176
|
+
mcli workflow verify
|
|
160
177
|
```
|
|
161
178
|
|
|
162
179
|
Example `commands.lock.json`:
|
|
@@ -186,7 +203,7 @@ git commit -m "Update workflows"
|
|
|
186
203
|
|
|
187
204
|
# On another machine
|
|
188
205
|
git pull
|
|
189
|
-
mcli
|
|
206
|
+
mcli workflow verify # Ensures consistency
|
|
190
207
|
```
|
|
191
208
|
|
|
192
209
|
### 5. **Run as Daemon or Scheduled Task**
|
|
@@ -197,29 +214,29 @@ Workflows aren't coupled to the engine - run them however you want:
|
|
|
197
214
|
|
|
198
215
|
```bash
|
|
199
216
|
# Start workflow as background daemon
|
|
200
|
-
mcli
|
|
217
|
+
mcli workflows daemon start my-task-daemon --workflow my-task
|
|
201
218
|
|
|
202
219
|
# Check daemon status
|
|
203
|
-
mcli
|
|
220
|
+
mcli workflows daemon status
|
|
204
221
|
|
|
205
222
|
# Stop daemon
|
|
206
|
-
mcli
|
|
223
|
+
mcli workflows daemon stop my-task-daemon
|
|
207
224
|
```
|
|
208
225
|
|
|
209
226
|
#### As Scheduled Task:
|
|
210
227
|
|
|
211
228
|
```bash
|
|
212
229
|
# Schedule workflow to run every hour
|
|
213
|
-
mcli
|
|
230
|
+
mcli workflows scheduler add \
|
|
214
231
|
--name hourly-sync \
|
|
215
232
|
--schedule "0 * * * *" \
|
|
216
233
|
--workflow my-task
|
|
217
234
|
|
|
218
235
|
# List scheduled workflows
|
|
219
|
-
mcli
|
|
236
|
+
mcli workflows scheduler list
|
|
220
237
|
|
|
221
238
|
# View logs
|
|
222
|
-
mcli
|
|
239
|
+
mcli workflows scheduler logs hourly-sync
|
|
223
240
|
```
|
|
224
241
|
|
|
225
242
|
## 🎨 Real-World Workflow Examples
|
|
@@ -228,12 +245,11 @@ mcli workflow scheduler logs hourly-sync
|
|
|
228
245
|
|
|
229
246
|
```bash
|
|
230
247
|
# Create PDF processing workflow
|
|
231
|
-
mcli
|
|
232
|
-
|
|
248
|
+
mcli workflow import-script pdf_tool.py --name pdf
|
|
233
249
|
# Use it
|
|
234
|
-
mcli
|
|
235
|
-
mcli
|
|
236
|
-
mcli
|
|
250
|
+
mcli workflows pdf extract ~/Documents/report.pdf
|
|
251
|
+
mcli workflows pdf compress ~/Documents/*.pdf --output compressed/
|
|
252
|
+
mcli workflows pdf split large.pdf --pages 10
|
|
237
253
|
```
|
|
238
254
|
|
|
239
255
|
### Example 2: Data Sync Workflow
|
|
@@ -263,13 +279,12 @@ def status():
|
|
|
263
279
|
click.echo("Checking sync status...")
|
|
264
280
|
EOF
|
|
265
281
|
|
|
266
|
-
mcli
|
|
267
|
-
|
|
282
|
+
mcli workflow import-script sync.py --name sync
|
|
268
283
|
# Run manually
|
|
269
|
-
mcli
|
|
284
|
+
mcli workflows sync backup ~/data remote:backup
|
|
270
285
|
|
|
271
286
|
# Or schedule it
|
|
272
|
-
mcli
|
|
287
|
+
mcli workflows scheduler add \
|
|
273
288
|
--name nightly-backup \
|
|
274
289
|
--schedule "0 2 * * *" \
|
|
275
290
|
--workflow "sync backup ~/data remote:backup"
|
|
@@ -279,13 +294,12 @@ mcli workflow scheduler add \
|
|
|
279
294
|
|
|
280
295
|
```bash
|
|
281
296
|
# Already included as built-in workflow
|
|
282
|
-
mcli
|
|
297
|
+
mcli workflows git-commit
|
|
283
298
|
|
|
284
299
|
# Or create your own variant
|
|
285
|
-
mcli
|
|
300
|
+
mcli workflow export-script git-commit --output my_git_helper.py
|
|
286
301
|
# Edit my_git_helper.py to customize
|
|
287
|
-
mcli
|
|
288
|
-
```
|
|
302
|
+
mcli workflow import-script my_git_helper.py --name my-git```
|
|
289
303
|
|
|
290
304
|
## 🔧 Workflow Structure
|
|
291
305
|
|
|
@@ -311,7 +325,7 @@ Each workflow is a JSON file with this structure:
|
|
|
311
325
|
MCLI comes with powerful built-in workflows:
|
|
312
326
|
|
|
313
327
|
```bash
|
|
314
|
-
mcli
|
|
328
|
+
mcli workflows --help
|
|
315
329
|
```
|
|
316
330
|
|
|
317
331
|
Available workflows:
|
|
@@ -355,8 +369,8 @@ You write scripts. They work. Then:
|
|
|
355
369
|
mcli self completion install
|
|
356
370
|
|
|
357
371
|
# Now use tab completion
|
|
358
|
-
mcli
|
|
359
|
-
mcli
|
|
372
|
+
mcli workflows <TAB> # Shows all workflows
|
|
373
|
+
mcli workflows pdf <TAB> # Shows pdf subcommands
|
|
360
374
|
```
|
|
361
375
|
|
|
362
376
|
### AI Chat Integration
|
|
@@ -402,10 +416,13 @@ make wheel
|
|
|
402
416
|
|
|
403
417
|
## 📖 Documentation
|
|
404
418
|
|
|
405
|
-
-
|
|
419
|
+
- **📚 Documentation Index**: [Complete Documentation Index](docs/INDEX.md) - All docs organized by category
|
|
420
|
+
- **Installation**: See [Installation Guide](docs/setup/INSTALL.md)
|
|
406
421
|
- **Workflows**: Full workflow documentation (this README)
|
|
407
422
|
- **Shell Completion**: See [Shell Completion Guide](docs/features/SHELL_COMPLETION.md)
|
|
423
|
+
- **Testing**: See [Testing Guide](docs/development/TESTING.md)
|
|
408
424
|
- **Contributing**: See [Contributing Guide](CONTRIBUTING.md)
|
|
425
|
+
- **Release Notes**: See [Latest Release (7.10.2)](docs/releases/7.10.2.md)
|
|
409
426
|
|
|
410
427
|
## 🎯 Common Use Cases
|
|
411
428
|
|
|
@@ -413,21 +430,20 @@ make wheel
|
|
|
413
430
|
|
|
414
431
|
```bash
|
|
415
432
|
# Create your daily automation
|
|
416
|
-
mcli
|
|
417
|
-
|
|
418
|
-
mcli workflow scheduler add --name daily --schedule "0 9 * * *" --workflow daily-tasks
|
|
433
|
+
mcli workflow add daily-tasks# Add your tasks in $EDITOR
|
|
434
|
+
mcli workflows scheduler add --name daily --schedule "0 9 * * *" --workflow daily-tasks
|
|
419
435
|
```
|
|
420
436
|
|
|
421
437
|
### Use Case 2: Team Workflow Sharing
|
|
422
438
|
|
|
423
439
|
```bash
|
|
424
440
|
# On your machine
|
|
425
|
-
mcli
|
|
441
|
+
mcli workflow export team-workflows.json
|
|
426
442
|
|
|
427
443
|
# Share file with team
|
|
428
444
|
# On teammate's machine
|
|
429
|
-
mcli
|
|
430
|
-
mcli
|
|
445
|
+
mcli workflow import team-workflows.json
|
|
446
|
+
mcli workflow verify # Ensure consistency
|
|
431
447
|
```
|
|
432
448
|
|
|
433
449
|
### Use Case 3: CI/CD Integration
|
|
@@ -435,9 +451,9 @@ mcli commands verify # Ensure consistency
|
|
|
435
451
|
```bash
|
|
436
452
|
# In your CI pipeline
|
|
437
453
|
- pip install mcli-framework
|
|
438
|
-
- mcli
|
|
439
|
-
- mcli
|
|
440
|
-
- mcli
|
|
454
|
+
- mcli workflow import ci-workflows.json
|
|
455
|
+
- mcli workflows build-and-test
|
|
456
|
+
- mcli workflows deploy --env production
|
|
441
457
|
```
|
|
442
458
|
|
|
443
459
|
## 📦 Dependencies
|
|
@@ -467,7 +483,7 @@ We welcome contributions! Especially workflow examples.
|
|
|
467
483
|
1. Fork the repository
|
|
468
484
|
2. Create feature branch: `git checkout -b feature/awesome-workflow`
|
|
469
485
|
3. Create your workflow
|
|
470
|
-
4. Export it: `mcli
|
|
486
|
+
4. Export it: `mcli workflow export my-workflow.json`
|
|
471
487
|
5. Submit PR with workflow JSON
|
|
472
488
|
|
|
473
489
|
## 📄 License
|
|
@@ -486,5 +502,4 @@ MIT License - see [LICENSE](LICENSE) for details.
|
|
|
486
502
|
|
|
487
503
|
```bash
|
|
488
504
|
pip install mcli-framework
|
|
489
|
-
mcli
|
|
490
|
-
```
|
|
505
|
+
mcli workflow add my-first-workflow```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mcli-framework"
|
|
3
|
-
version = "7.
|
|
3
|
+
version = "7.11.1"
|
|
4
4
|
description = "Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/commands/, version with lockfile, run as daemon or cron job."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.9"
|