implementing-new-features

New Feature Implementation Guide

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "implementing-new-features" with this command: npx skills add streamlit/streamlit/streamlit-streamlit-implementing-new-features

New Feature Implementation Guide

For understanding the underlying architecture (backend runtime, frontend rendering, WebSocket communication, element tree), see the understanding-streamlit-architecture skill.

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

Protobuf changes in proto/ then run make protobuf

  • New elements: add to proto/streamlit/proto/Element.proto

Backend in lib/streamlit/

  • New elements: add to lib/streamlit/init.py

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

Frontend in frontend/

  • New elements: add to frontend/lib/src/components/core/Block/ElementNodeRenderer.tsx

Vitest tests in *.test.tsx

  • Run: cd frontend && yarn vitest lib/src/components/elements/NewElement/NewElement.test.tsx

E2E Playwright tests in e2e_playwright/

  • Run: make run-e2e-test e2e_playwright/name_of_the_test.py

Autofix formatting and linting: make autofix

Verify the implementation: make check

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

streamlit

No summary provided by upstream source.

Repository SourceNeeds Review
General

debugging-streamlit

No summary provided by upstream source.

Repository SourceNeeds Review
General

checking-changes

No summary provided by upstream source.

Repository SourceNeeds Review