discovering-make-commands

Lists available make commands for Streamlit development. Use for build, test, lint, or format tasks.

44,152 stars
Complexity: easy

About this skill

This skill provides a comprehensive list and brief descriptions of all `make` commands defined within the `streamlit/streamlit` repository. It's an essential tool for developers working on the Streamlit project, allowing an AI agent to quickly identify and explain commands related to build processes, testing, code quality checks (linting), code formatting, and environment setup. By leveraging this skill, developers can efficiently discover the correct `make` commands without needing to manually inspect Makefiles or documentation.

Best use case

To quickly identify and understand the purpose of `make` commands available in the Streamlit repository for various development tasks. An AI assistant can use this to answer developer queries about how to perform specific operations (e.g., 'How do I build the frontend?', 'What are the test commands?') within the Streamlit project.

Lists available make commands for Streamlit development. Use for build, test, lint, or format tasks.

A structured list of `make` commands, each with a brief description, enabling clear understanding of their function within the Streamlit development workflow. The AI agent will be able to accurately inform users about available development operations.

Practical example

Example input

What `make` commands are available for Streamlit development?
How do I build Streamlit locally using `make`?
List all commands related to testing or linting.

Example output

Here are the available 'make' commands for Streamlit development:

- `help`: Show all available make commands.
- `all`: Install all dependencies, build frontend, and install editable Streamlit.
- `all-dev`: Install all dependencies and editable Streamlit, but do not build the frontend.
- `init`: Install all dependencies and build protobufs.
- `clean`: Remove all generated files.
- `protobuf`: Recompile Protobufs for Python and the frontend.
- `protobuf-lint`: Lint and check formatting of protobuf files.
...
(This list would continue with all other commands found in the SKILL.md)

When to use this skill

  • When you need to find a specific `make` command for Streamlit development (e.g., building, testing, linting, cleaning, environment setup). When you are new to the Streamlit project and want to understand the available development scripts. When an AI agent needs to provide instructions on how to perform a development task within the Streamlit codebase.

When not to use this skill

  • When you are working on a project *other than* Streamlit, as these `make` commands are specific to the `streamlit/streamlit` repository. When you already know the exact `make` command you need to execute. When you need to *execute* a `make` command rather than just discover information about it.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/discovering-make-commands/SKILL.md --create-dirs "https://raw.githubusercontent.com/streamlit/streamlit/main/.claude/skills/discovering-make-commands/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/discovering-make-commands/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How discovering-make-commands Compares

Feature / Agentdiscovering-make-commandsStandard Approach
Platform SupportClaudeLimited / Varies
Context Awareness High Baseline
Installation ComplexityeasyN/A

Frequently Asked Questions

What does this skill do?

Lists available make commands for Streamlit development. Use for build, test, lint, or format tasks.

Which AI agents support this skill?

This skill is designed for Claude.

How difficult is it to install?

The installation complexity is rated as easy. You can find the installation instructions above.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Available `make` commands

List of all `make` commands available for execution from the repository root folder:

```
help                      Show all available make commands.
all                       Install all dependencies, build frontend, and install editable Streamlit.
all-dev                   Install all dependencies and editable Streamlit, but do not build the frontend.
init                      Install all dependencies and build protobufs.
clean                     Remove all generated files.
protobuf                  Recompile Protobufs for Python and the frontend.
protobuf-lint             Lint and check formatting of protobuf files (buf).
protobuf-format           Format protobuf files (buf).
python-init               Install Python dependencies and Streamlit in editable mode.
python-lint               Lint and check formatting of Python files.
python-format             Format Python files.
python-tests              Run Python unit tests.
python-performance-tests  Run Python performance tests.
python-integration-tests  Run Python integration tests. Requires `uv sync --group integration` to be run first.
python-types              Run the Python type checker.
frontend-init             Install all frontend dependencies.
frontend                  Build the frontend.
frontend-with-profiler    Build the frontend with the profiler enabled.
frontend-fast             Build the frontend (as fast as possible).
frontend-dev              Start the frontend development server.
debug                     Start Streamlit and Vite dev server for debugging. Use via `make debug my-script.py`.
frontend-lint             Lint and check formatting of frontend files.
frontend-types            Run the frontend type checker.
frontend-format           Format frontend files.
frontend-tests            Run frontend unit tests and generate coverage report.
frontend-knip             Run Knip with default reporter.
frontend-typesync         Check for unsynced frontend types.
update-frontend-typesync  Installs missing typescript typings for dependencies.
update-snapshots          Update e2e playwright snapshots based on the latest completed CI run.
update-snapshots-changed  Update e2e playwright snapshots of changed e2e files based on the latest completed CI run.
update-material-icons     Update material icons based on latest Google material symbol version.
update-emojis             Update emojis based on latest emoji version.
update-notices            Update the notices file (licenses of frontend assets and dependencies).
update-headers            Update all license headers.
update-min-deps           Update minimum dependency constraints file.
debug-e2e-test            Run a playwright e2e test in debug mode. Use it via `make debug-e2e-test st_command_test.py`.
run-e2e-test              Run a playwright e2e test. Use it via `make run-e2e-test st_command_test.py`.
trace-e2e-test            Run e2e test with tracing and view it. Use via `make trace-e2e-test <test_file.py>::<test_func>`.
lighthouse-tests          Run Lighthouse performance tests.
bare-execution-tests      Run all e2e tests in bare mode.
cli-smoke-tests           Run CLI smoke tests.
check                     Run all checks (format, lint, types, unit tests) on changed files only. Useful to verify the current state of the codebase before committing.
autofix                   Autofix linting and formatting errors.
package                   Create Python wheel files in `dist/`.
```

Related Skills

fixing-streamlit-ci

44152
from streamlit/streamlit

Analyze and fix failed GitHub Actions CI jobs for the current branch/PR. Use when CI checks fail, PR checks show failures, or you need to diagnose lint/type/test errors and verify fixes locally.

Developer ToolsClaude

fixing-flaky-e2e-tests

44152
from streamlit/streamlit

Diagnose and fix flaky Playwright e2e tests. Use when tests fail intermittently, show timeout errors, have snapshot mismatches, or exhibit browser-specific failures.

Developer ToolsClaude

finalizing-pr

44152
from streamlit/streamlit

Finalizes branch changes for merging by simplifying code, running checks, reviewing changes, and creating a PR if needed. Use when ready to merge changes into the target branch.

Developer ToolsClaude

debugging-streamlit

44152
from streamlit/streamlit

Debug Streamlit frontend and backend changes using make debug with hot-reload. Use when testing code changes, investigating bugs, checking UI behavior, or needing screenshots of the running app.

Developer ToolsClaude

creating-pull-requests

44152
from streamlit/streamlit

Creates a draft pull request on GitHub with proper labels, branch naming, and description formatting. Use when changes are ready to be submitted as a PR to the streamlit/streamlit repository.

Developer ToolsClaude

checking-changes

44152
from streamlit/streamlit

Validates all code changes before committing by running format, lint, type, and unit test checks. Use after making backend (Python) or frontend (TypeScript) changes, before committing or finishing a work session.

Developer ToolsClaude

assessing-external-test-risk

44152
from streamlit/streamlit

Assesses whether branch or PR changes are high-risk for externally hosted or embedded Streamlit usage and recommends whether external e2e coverage with `@pytest.mark.external_test` is needed. Use during code review, PR triage, or test planning when changes touch routing, auth, websocket/session behavior, embedding, assets, cross-origin behavior, SiS/Snowflake runtime, storage, or security headers.

Developer ToolsClaude

addressing-pr-review-comments

44152
from streamlit/streamlit

Address all valid review comments on a PR for the current branch in the streamlit/streamlit repo. Covers both inline review comments and general PR (issue) comments. Use when a PR has reviewer feedback to address, including code changes, style fixes, and documentation updates.

Developer ToolsClaude

makepad-deployment

31392
from sickn33/antigravity-awesome-skills

CRITICAL: Use for Makepad packaging and deployment. Triggers on: deploy, package, APK, IPA, 打包, 部署, cargo-packager, cargo-makepad, WASM, Android, iOS, distribution, installer, .deb, .dmg, .nsis, GitHub Actions, CI, action, marketplace

Developer ToolsClaude

makepad-basics

31355
from sickn33/antigravity-awesome-skills

CRITICAL: Use for Makepad getting started and app structure. Triggers on: makepad, makepad getting started, makepad tutorial, live_design!, app_main!, makepad project setup, makepad hello world, "how to create makepad app", makepad 入门, 创建 makepad 应用, makepad 教程, makepad 项目结构

Developer ToolsClaude

ui-demo

144923
from affaan-m/everything-claude-code

Record polished UI demo videos using Playwright. Use when the user asks to create a demo, walkthrough, screen recording, or tutorial video of a web application. Produces WebM videos with visible cursor, natural pacing, and professional feel.

Developer ToolsClaude

microsoft-docs

56166
from microsoft/ai-agents-for-beginners

Query official Microsoft documentation to find concepts, tutorials, and code examples across Azure, .NET, Agent Framework, Aspire, VS Code, GitHub, and more. Uses Microsoft Learn MCP as the default, with Context7 and Aspire MCP for content that lives outside learn.microsoft.com.

Developer ToolsChatGPTClaudeGitHub Copilot