Skip to content
Machine Learning
Skill

/feast-dev

Development guide for contributing to the Feast codebase. Covers environment setup, testing, linting, project structure, and PR workflow for feast-dev/feast.

BOOST
From plugin
feast
7.3k4 skills
Install
$ npx -y skills add feast-dev/feast --skill feast-dev --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/feast-dev

Context preview

The summary Claude sees to decide when to auto-load this skill.

Development guide for contributing to the Feast codebase. Covers environment setup, testing, linting, project structure, and PR workflow for feast-dev/feast.

SKILL.md

feast-dev.SKILL.md
name: feast-dev
description: Development guide for contributing to the Feast codebase. Covers environment setup, testing, linting, project structure, and PR workflow for feast-dev/feast.
license: Apache-2.0
compatibility: Works with Claude Code, OpenAI Codex, and any Agent Skills compatible tool. Requires Python 3.10+, uv, and git.
metadata:
  author: feast-dev
  version: "1.0"

Feast Development Guide

Environment Setup

# 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

Running Tests

Unit Tests

# 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

Integration Tests (local)

# Run integration tests in local dev mode
make test-python-integration-local

Linting and Formatting

# 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"

Code Style

  • Use type hints on all function signatures
  • Use `from __future__ import annotations` at the top of new files
  • Follow existing patterns in the module you are modifying
  • Do not put `pip install` commands in docstrings or code comments. Security scanners flag them as runtime

package installs, which fail in air-gapped or mirror-only environments. Name the extra instead (e.g. "Requires the ``glide`` extra (``feast[glide]``).") and keep install commands in `docs/`.

  • PR titles must follow semantic conventions: `feat:`, `fix:`, `ci:`, `chore:`, `docs:`
  • Add a GitHub label to PRs (e.g. `kind/bug`, `kind/feature`, `kind/housekeeping`)
  • Sign off commits with `git commit -s` (DCO requirement)

Docker Images

# Build all Docker images
make build-docker

# Build feature server Docker image
make build-feature-server-docker

Documentation

# Build Sphinx documentation
make build-sphinx

# Build templates
make build-templates

# Build Helm docs
make build-helm-docs

Documentation and Blog Posts

  • **Blog posts must be placed in `/infra/website/docs/blog/`** — do NOT place them under `docs/blog/` or elsewhere.
  • Blog post files must include YAML frontmatter with `title`, `description`, `date`, and `authors` fields matching the format of existing posts in that directory.
  • All other docs go under `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/` |

Project Structure

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 infrastructure

Key Abstractions

  • **FeatureStore** (`feature_store.py`): Entry point for all operations
  • **FeatureView**: Defines a set of features from a data source
  • **OnDemandFeatureView**: Computed features using request-time transformations
  • **Entity**: Join key definition (e.g. driver_id, customer_id)
  • **DataSource**: Where raw data lives (BigQuery, files, Snowflake, etc.)
  • **OnlineStore**: Low-latency feature serving (Redis, DynamoDB, SQLite)
  • **OfflineStore**: Historical feature retrieval (BigQuery, Snowflake, file)
Read more
Ships withfeast

The Open Source Feature Store for AI/ML

Get the whole plugin
Stats
7,322
Stars
1,469
Forks
Active
Maintenance
Python
Language
Apache-2.0
License
8h ago
Last commit
7y ago
Created
9h ago
Added

Repo: feast-dev/feast

Other skills on feast.