discovering-make-commands
Lists available make commands for Streamlit development. Use for build, test, lint, or format tasks.
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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/discovering-make-commands/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How discovering-make-commands Compares
| Feature / Agent | discovering-make-commands | Standard Approach |
|---|---|---|
| Platform Support | Claude | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | easy | N/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
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
Top AI Agents for Productivity
See the top AI agent skills for productivity, workflow automation, operational systems, documentation, and everyday task execution.
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
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.
fixing-flaky-e2e-tests
Diagnose and fix flaky Playwright e2e tests. Use when tests fail intermittently, show timeout errors, have snapshot mismatches, or exhibit browser-specific failures.
finalizing-pr
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.
debugging-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.
creating-pull-requests
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.
checking-changes
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.
assessing-external-test-risk
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.
addressing-pr-review-comments
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.
makepad-deployment
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
makepad-basics
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 项目结构
ui-demo
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.
microsoft-docs
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.