# Checking Changes

> Validates all code changes before committing by running format, lint, type, and unit test checks.

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.

- Page: https://ss33.ai/skills/streamlit/checking-changes-51154313461
- Publisher: streamlit
- Category: [Software Development](https://ss33.ai/skills/category/software-development-t44z8z) › [Testing & QA](https://ss33.ai/skills/category/software-development-t44z8z/testing-and-qa-g56s6z)
- License: Apache-2.0
- Source: https://github.com/streamlit/streamlit/blob/d073f6fde1dcee21565c368dcd9c29ad9ab75666/.claude/skills/checking-changes/SKILL.md

## Skill

SKILL.md: https://ss33.ai/api/v1/ss33/download/streamlit/checking-changes-51154313461

# Checking Changes

**Run at the end of a work session** or after completing a set of changes — not after every small edit.

```bash
make check
```

This runs formatting, linting, type checking, Knip unused-export and unused-dependency analysis, and unit tests on all uncommitted files (staged, unstaged, and untracked).

## Workflow

1. Run `make check`
2. If issues are found:
   - Fix the reported errors
   - Re-run `make check`
   - Repeat until all checks pass
3. Only consider work complete when `make check` succeeds

## Notes

- E2E tests are not included by default; use `E2E_CHECK=true make check` to also run changed e2e tests
- E2E snapshot mismatches can be ignored (they require manual updates)
