Development guide for contributing to the Feast codebase. Covers environment setup, testing, linting, project structure, and PR workflow for feast-dev/feast.
60
69%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/feast-dev/SKILL.md# Install development dependencies (uses uv pip sync with pinned requirements)
make install-python-dependencies-dev
# Install minimal dependencies
make install-python-dependencies-minimal
# Install pre-commit hooks (runs formatters and linters on commit)
make install-precommit# Run all unit tests
make test-python-unit
# Run a specific test file
python -m pytest sdk/python/tests/unit/test_unit_feature_store.py -v
# Run a specific test by name
python -m pytest sdk/python/tests/unit/test_unit_feature_store.py -k "test_apply" -v
# Run fast unit tests only (no external dependencies)
make test-python-unit-fast# Run integration tests in local dev mode
make test-python-integration-local# Format Python code
make format-python
# Lint Python code
make lint-python
# Run all precommit checks (format + lint)
make precommit-check
# Type checking (entire codebase)
uv run bash -c "cd sdk/python && mypy feast"
# Type-check a single file
uv run bash -c "cd sdk/python && mypy feast/path/to/file.py"from __future__ import annotations at the top of new filesfeat:, fix:, ci:, chore:, docs:kind/bug, kind/feature, kind/housekeeping)git commit -s (DCO requirement)# Build all Docker images
make build-docker
# Build feature server Docker image
make build-feature-server-docker# Build Sphinx documentation
make build-sphinx
# Build templates
make build-templates
# Build Helm docs
make build-helm-docs/infra/website/docs/blog/ — do NOT place them under docs/blog/ or elsewhere.title, description, date, and authors fields matching the format of existing posts in that directory.docs/ and must be added to docs/SUMMARY.md (GitBook navigation) or they won't appear on the website.| Change type | Doc location |
|---|---|
| New online store | docs/reference/online-stores/<name>.md + update README.md and SUMMARY.md |
| New offline store | docs/reference/offline-stores/<name>.md + update README.md, overview.md, SUMMARY.md |
| New registry backend | docs/reference/registries/<name>.md + update SUMMARY.md |
| Config option | docs/reference/feature-store-yaml.md |
| CLI flag/command | docs/reference/feast-cli-commands.md |
| How-to / integration | docs/how-to-guides/customizing-feast/ or docs/how-to-guides/ + update SUMMARY.md |
| Architecture / concept | docs/getting-started/architecture/ or docs/getting-started/components/ |
sdk/python/feast/ # Main Python SDK
cli/cli.py # CLI entry point (feast apply, feast materialize, etc.)
feature_store.py # FeatureStore class - core orchestration
repo_config.py # feature_store.yaml configuration parsing
repo_operations.py # feast apply / feast teardown logic
infra/ # Online/offline store implementations
online_stores/ # Redis, DynamoDB, SQLite, etc.
offline_stores/ # BigQuery, Snowflake, File, etc.
transformation/ # On-demand and streaming transformations
protos/feast/ # Protobuf definitions
sdk/python/tests/ # Test suite
unit/ # Fast, no external deps
integration/ # Requires infrastructurefeature_store.py): Entry point for all operations5ad5592
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.