Help

Source and commits

Pup checks your supertests against a specific version of your code. You can choose a Git commit or include uncommitted changes, and use .pupignore to exclude files.

Which files are included

Pup 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.

Pup doesn’t push to your Git remote or sync the repository’s entire Git history.

Exclude files

Use .pupignore 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:

.pupignore
.env*
secrets/
fixtures/customer-data/
coverage/

Pup uses the .pupignore 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 .pupignore to exclude them.

Pup 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, pup 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 for command options.

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