Development

Use tox for local validation:

tox -e lint
tox -e typecheck
tox -e audit
tox -e py311
tox -e py312
tox -e py313
tox -e py314
tox -e coverage
tox -e plugin
tox -e examples
tox -e docs
tox -e build

Optional framework and vendor tests should be marked and should skip cleanly when the relevant extra is not installed.

Use pytest-agentic-fabric fixtures for reusable runtime test setup:

def test_runtime(agentic_fabric_mocker, agentic_fabric_agent_config):
    agentic_fabric_mocker.mock_langgraph()
    assert agentic_fabric_agent_config["name"] == "test_fabric_agent"

Override agentic_fabric_agent_config when a test needs a custom discoverable workspace. The agentic_workspace fixture writes that config into a temporary packages/sample/.fabric tree with matching manifest, agents, and tasks YAML files.

Published helper fixtures include fabric_mocker/agentic_fabric_mocker (which expose mock_crewai(), mock_langgraph(), mock_strands(), and mock_all_frameworks() methods), mock_agentic_frameworks, simple_agent_config, simple_task_config, simple_fabric_agent_config, multi_agent_fabric_agent_config, fabric_agent_with_knowledge, and temp_fabric_dir. Use those fixtures instead of private test modules so downstream packages exercise the same pytest plugin surface that is published with the workspace.

E2E tests use the pytest-agentic-fabric plugin’s --agentic-e2e flag and @pytest.mark.agentic_e2e / @pytest.mark.agentic_runtime("crewai") markers. Tests marked with these are skipped unless --agentic-e2e is passed. The tests/e2e/ directory contains integration tests that run against a local Ollama instance in CI.

Before deleting old monorepo code, first prove this repository owns the moved surface with docs, tests, package metadata, and release workflows.