Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions .agents/skills/usethis-qa-import-linter/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Use the Import Linter software on the usethis project
compatibility: usethis, Python, import-linter
license: MIT
metadata:
version: "1.0"
version: "1.1"
---

# Import Linter
Expand Down Expand Up @@ -54,9 +54,14 @@ layers =
exhaustive = true
```

## Contract Strategy

Not every module needs an associated contract for its submodules. Having contracts for every level of the module structure can lead to unnecessary maintenance overhead. Generally, it is rare to create new contracts.

## Procedure

1. Ensure the module structure complies with the Import Linter configuration.
2. Explicitly add/rename new/modified modules to their parent-level contract (to adhere to the `exhaustive` setting).
3. For major refactorings, rationalize the module structure and update the Import Linter configuration accordingly.
4. Run Import Linter to verify that all contracts are satisfied.
4. Avoid creating new contracts unless explicitly instructed.
5. Run Import Linter to verify that all contracts are satisfied.