Skip to main content

implementing-new-features

Implementation guide for new Streamlit features. Use when adding new elements, widgets, or features that span backend, frontend, and protobufs.

Informations de source

Dépôt
whitphx/streamlit
Dernière activité de la source
3 février 2026 à 18:06
Langue détectée de SKILL.md
anglais
Étoiles
8
Forks
2

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
implementing-new-features
description
Implementation guide for new Streamlit features. Use when adding new elements, widgets, or features that span backend, frontend, and protobufs.
# New Feature Implementation Guide Most features need implementation in three areas: - Backend: `lib/streamlit/` - Frontend: `frontend/` - Protobufs: `proto/` New features should include: - Python unit tests in `lib/tests` - Vitest unit tests - E2E Playwright tests in `e2e_playwright/` ## Order of Implementation 1. **Protobuf changes** in `proto/` then run `make protobuf` - New elements: add to `proto/streamlit/proto/Element.proto` 2. **Backend** in `lib/streamlit/` - New elements: add to `lib/streamlit/__init__.py` 3. **Python unit tests** in `lib/tests` - Run: `uv run pytest lib/tests/streamlit/the_test_name.py` - New elements: add to `lib/tests/streamlit/element_mocks.py` 4. **Frontend** in `frontend/` - New elements: add to `frontend/lib/src/components/core/Block/ElementNodeRenderer.tsx` 5. **Vitest tests** in `*.test.tsx` - Run: `cd frontend && yarn vitest lib/src/components/elements/NewElement/NewElement.test.tsx` 6. **E2E Playwright tests** in `e2e_playwright/` - Run: `make run-e2e-test e2e_playwright/name_of_the_test.py` 7. **Autofix** formatting and linting: `make autofix` 8. **Verify** the implementation: `make check`
Voir sur GitHub