# valid-ci-uses Ensures that interface accesses on `Ci` are valid, and property accesses on `Ci.` are also valid. This rule requires a full build to run, and is not turned on by default. To run this rule manually, use: ```console MOZ_OBJDIR=objdir-ff-opt ./mach eslint --rule="mozilla/valid-ci-uses: error" * ``` :::{note} Note that for platform-specific interfaces, you need to manually add the interface in question to {searchfox}`the rule ` (as a build on any given platform cannot find out about interfaces that are not available on that platform). ::: ## Examples of incorrect code for this rule `nsIFoo` does not exist. ```js Ci.nsIFoo ``` `UNKNOWN_CONSTANT` does not exist on nsIURIFixup. ```js Ci.nsIURIFixup.UNKNOWN_CONSTANT ``` ## Examples of correct code for this rule `nsIFile` does exist. ```js Ci.nsIFile ``` `FIXUP_FLAG_NONE` does exist on nsIURIFixup. ```js Ci.nsIURIFixup.FIXUP_FLAG_NONE ```