> Canonical HTML: [https://docs.schematic.tech/super/help/source/](https://docs.schematic.tech/super/help/source/)

# Source and commits

Super CLI submits a specific version of your code for checking. You can choose a Git
commit or include uncommitted changes, and use `.superignore` to exclude files.

## Which files are included

Super CLI syncs source from your linked local Git repository to Schematic. For committed code, it
includes files tracked in the selected commit, subject to the exclusions below.

A supertest can depend on code elsewhere in your project. Selecting one supertest still syncs
included files from across the repository.

The CLI doesn't push to your Git remote or sync the repository's entire Git history.

## Exclude files

Use `.superignore` to exclude files such as credentials, private fixtures, or generated output.
Put it at the repository root, using Git ignore syntax, and commit it before linking:

**.superignore**

```gitignore
.env*
secrets/
fixtures/customer-data/
coverage/
```

The CLI uses the `.superignore` from the selected commit. Uncommitted edits to these rules take effect
when included in a check.

`.gitignore` excludes untracked files when checking working changes. Already tracked files
remain included even when they match `.gitignore`; use `.superignore` to exclude them.

The CLI also applies these limits:

- Files larger than 10 MiB are excluded and reported.
- Symbolic links and Git submodules cause an error. Exclude their paths, or replace them with
  regular files needed for checking.

## Check uncommitted changes

You don't need to commit your work before checking it. When run interactively, `super check` asks
whether to include uncommitted changes. Declining stops the command.

Including changes checks the current contents of tracked files and any untracked files allowed
by the exclusion rules above. Your files, current branch, and staging stay unchanged.

Use `--dirty` to include changes without a prompt, or `--commit HEAD` to check committed code
only. See [Select source](/super/commands/checks/#select-source) for command options.

A result applies to the code included in that check. Run another check to evaluate later edits.
