Problem
Running `make test` (or `python3 -m pytest -q`) fails immediately after `make install-dev` with:
```
ERROR: usage: main.py [options] [file_or_dir] ...
main.py: error: unrecognized arguments: --timeout=120
```
Root Cause
`pyproject.toml` configures pytest with:
```toml
[tool.pytest.ini_options]
addopts = "-ra --timeout=120 -m 'not integration'"
timeout = 120
```
This requires `pytest-timeout`, which is listed in the `[dev]` extras:
```toml
[project.optional-dependencies]
dev = [
...
"pytest-timeout>=2.0",
"pytest-xdist>=3.0",
"pytest-cov>=4.0",
...
]
```
But the `Makefile` `install-dev` target installs a manual, incomplete list that omits the `[dev]` extras:
```makefile
install-dev:
pip install -e ".[server,langchain,pydantic-ai,crewai]"
pip install pytest pytest-asyncio ruff
```
`pytest-timeout`, `pytest-xdist`, `pytest-cov`, and `respx` are all missing.
Fix
Replace the manual list with the `[dev]` extras group:
```makefile
install-dev:
pip install -e ".[server,langchain,pydantic-ai,crewai,dev]"
```
Impact
Any new contributor who follows `make install-dev && make test` hits this immediately. CI is unaffected (it installs packages directly).
Problem
Running `make test` (or `python3 -m pytest -q`) fails immediately after `make install-dev` with:
```
ERROR: usage: main.py [options] [file_or_dir] ...
main.py: error: unrecognized arguments: --timeout=120
```
Root Cause
`pyproject.toml` configures pytest with:
```toml
[tool.pytest.ini_options]
addopts = "-ra --timeout=120 -m 'not integration'"
timeout = 120
```
This requires `pytest-timeout`, which is listed in the `[dev]` extras:
```toml
[project.optional-dependencies]
dev = [
...
"pytest-timeout>=2.0",
"pytest-xdist>=3.0",
"pytest-cov>=4.0",
...
]
```
But the `Makefile` `install-dev` target installs a manual, incomplete list that omits the `[dev]` extras:
```makefile
install-dev:
pip install -e ".[server,langchain,pydantic-ai,crewai]"
pip install pytest pytest-asyncio ruff
```
`pytest-timeout`, `pytest-xdist`, `pytest-cov`, and `respx` are all missing.
Fix
Replace the manual list with the `[dev]` extras group:
```makefile
install-dev:
pip install -e ".[server,langchain,pydantic-ai,crewai,dev]"
```
Impact
Any new contributor who follows `make install-dev && make test` hits this immediately. CI is unaffected (it installs packages directly).