Local Development
Prerequisites
Setup
Clone the repository and install all workspace packages with dev dependencies:
git clone <repo-url>
cd foundry-agent-packages
uv sync --all-groups
This installs all five workspace packages in editable mode plus the dev dependency group (pytest, ruff, pyright).
Development Workflow
Running Tests
just test # all packages, no coverage gate
just test-pkg foundry-agent-core # single package — enforces that package's coverage threshold
Uses pytest with asyncio_mode = "auto". Each package owns its own coverage
configuration in its pyproject.toml.
Linting and Formatting
just lint # check lint rules (ruff + bandit narrow set)
just lint-pkg foundry-agent-core # single package
just lint-fix # auto-fix lint issues
just format # check formatting (ruff format --check)
just format-pkg foundry-agent-core # single package
just format-fix # auto-fix formatting
Ruff is configured for Python 3.13 with a 120-char line length. See
pyproject.toml for the full rule set; STIG V-222604 command-injection sinks
(S102, S307, S602-S607) are gated via Ruff and via bandit in just lint.
Type Checking
just type-check # basedpyright on all packages
just type-check-pkg foundry-agent-core # single package
Uses basedpyright in basic mode targeting Python 3.13.
All Quality Checks
just check # lint + format + type-check (workspace)
just check-pkg foundry-agent-core # lint + format + type-check + test for one package
just ci # check + test (mirrors CI pipeline)
Building Packages
just build foundry-agent-core # build one package
just build-all # build all packages
just clean # remove dist/, __pycache__, etc.
Using Local Packages in a Consuming Application
When developing packages alongside a consuming application, use editable installs so changes are immediately available without re-publishing.
Directory Layout
~/projects/
├── foundry-agent-packages/
│ └── packages/
│ ├── foundry-agent-core/
│ ├── foundry-agent-config/
│ ├── foundry-agent-fastapi/
│ └── foundry-strands-agent/
└── my-agent/ # your consuming application
Install Local Package
From your consuming application directory:
uv pip install -e ../foundry-agent-packages/packages/foundry-agent-core
Changes to the package source are immediately available — no reinstall needed.
Revert to Published Package
uv sync
Check Current State
uv pip list --editable