{"owner":"uber","repo":"NullAway","hasSkills":true,"totalSkillsCount":1,"totalTokensCount":821,"categories":["root-instruction"],"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md"],"skills":{"AGENTS.md":"# Testing\n\nTo run only the tests for the main NullAway module, run `./gradlew :nullaway:test`. Run _only_ these tests unless you\nare specifically asked to run a test in a different module. If you want to run a single\ntest class or method within that module, you can use the `--tests` flag. For example, to run all tests in the\n`com.uber.nullaway.NullAwayTest` class, you would run:\n\n```bash\n./gradlew :nullaway:test --tests \"com.uber.nullaway.NullAwayTest\"\n```\n\nDo _not_ try to run multiple Gradle build commands in parallel; it is not supported and often leads to a failure.\n\nGenerally, whenever you run a test suite, it's best to also check that `./gradlew :nullaway:buildWithNullAway`\nalso passes; that runs NullAway checking on itself.  You don't need to run this after every targeted test run.\n\nWhen you write `CompilationTestHelper` tests, assume Error Prone reports every mismatched line at once rather than\nstopping at the first.  Put the cases of one rule, those that report an error and those that do not, in one source file,\nwith one method per case named for what it checks.\n\n# Code coverage\n\n`./gradlew :nullaway:test` reports diff coverage for changed executable lines and branches; filtered test runs only\nreflect the tests actually executed, so run the module's full suite before treating uncovered code as a missing test.\n\nBy default the diff is measured against the configured upstream/base; for stacked PRs, set `-PdiffBase=<ref>` to the\nparent PR or commit so only the current layer is measured.  The same property sets the base for mutation testing.\n\nIf an uncovered line is intentionally unreachable or not worth testing, acknowledge the reviewed exception with\n`// diff-coverage: ignore -- <reason>`; it remains counted as uncovered but is removed from the actionable list.\n\n# Mutation testing\n\nAfter you add or change tests for a change to `<module>/src/main`, run `./gradlew :<module>:pitestDiff` and act on the\nmutants it reports; it is not part of `test`.\n\n# Third-party projects in CI\n\nWhen a `Build <project> with snapshot` CI job fails, read `.github/third-party/README.md`.\n\n# Changelog\n\nOur `CHANGELOG.md` file should be formatted as follows:\n\n* Link to PRs just via their number, e.g. `#1234`, not a full GitHub URL\n* Don't credit `@msridhar` in changelog entries, but credit all other contributors\n* Under maintenance, list sub-bullets with a `-` rather than a `*`\n\n# Coding style\n\nDo not add top-level `@Nullable` annotations on local variables.  NullAway infers the nullability of local variables and\nignores these explicit annotations.\n\nWhenever you add a non-trivial method, add Javadoc, even if it's a private method.  JUnit test methods do not require Javadoc.\n\nYou do _not_ need to run `./gradlew spotlessJavaCheck` to check formatting.  We have a pre-commit hook that\nautomatically formats code before it is committed.\n\n\n## Commit messages\n\nAlways end commit messages, including drafts, with `Assisted-by: <tool> (<model-id>)`, never `Co-Authored-By:`.\nKeep existing trailers and add yours when amending someone else's commit.\n\n# Pull requests\n\nPull requests are squash-merged: the description becomes the body of the single commit that lands on the target branch,\nso write it as the commit message for all the changes in the PR.  Headlines are imperative and in sentence case, with no\nConventional Commits prefix and no trailing period, e.g. `Preserve nested nullness in enhanced for var types`; the squash\nmerge appends the PR number.\n"},"files":{"AGENTS.md":"# Testing\n\nTo run only the tests for the main NullAway module, run `./gradlew :nullaway:test`. Run _only_ these tests unless you\nare specifically asked to run a test in a different module. If you want to run a single\ntest class or method within that module, you can use the `--tests` flag. For example, to run all tests in the\n`com.uber.nullaway.NullAwayTest` class, you would run:\n\n```bash\n./gradlew :nullaway:test --tests \"com.uber.nullaway.NullAwayTest\"\n```\n\nDo _not_ try to run multiple Gradle build commands in parallel; it is not supported and often leads to a failure.\n\nGenerally, whenever you run a test suite, it's best to also check that `./gradlew :nullaway:buildWithNullAway`\nalso passes; that runs NullAway checking on itself.  You don't need to run this after every targeted test run.\n\nWhen you write `CompilationTestHelper` tests, assume Error Prone reports every mismatched line at once rather than\nstopping at the first.  Put the cases of one rule, those that report an error and those that do not, in one source file,\nwith one method per case named for what it checks.\n\n# Code coverage\n\n`./gradlew :nullaway:test` reports diff coverage for changed executable lines and branches; filtered test runs only\nreflect the tests actually executed, so run the module's full suite before treating uncovered code as a missing test.\n\nBy default the diff is measured against the configured upstream/base; for stacked PRs, set `-PdiffBase=<ref>` to the\nparent PR or commit so only the current layer is measured.  The same property sets the base for mutation testing.\n\nIf an uncovered line is intentionally unreachable or not worth testing, acknowledge the reviewed exception with\n`// diff-coverage: ignore -- <reason>`; it remains counted as uncovered but is removed from the actionable list.\n\n# Mutation testing\n\nAfter you add or change tests for a change to `<module>/src/main`, run `./gradlew :<module>:pitestDiff` and act on the\nmutants it reports; it is not part of `test`.\n\n# Third-party projects in CI\n\nWhen a `Build <project> with snapshot` CI job fails, read `.github/third-party/README.md`.\n\n# Changelog\n\nOur `CHANGELOG.md` file should be formatted as follows:\n\n* Link to PRs just via their number, e.g. `#1234`, not a full GitHub URL\n* Don't credit `@msridhar` in changelog entries, but credit all other contributors\n* Under maintenance, list sub-bullets with a `-` rather than a `*`\n\n# Coding style\n\nDo not add top-level `@Nullable` annotations on local variables.  NullAway infers the nullability of local variables and\nignores these explicit annotations.\n\nWhenever you add a non-trivial method, add Javadoc, even if it's a private method.  JUnit test methods do not require Javadoc.\n\nYou do _not_ need to run `./gradlew spotlessJavaCheck` to check formatting.  We have a pre-commit hook that\nautomatically formats code before it is committed.\n\n\n## Commit messages\n\nAlways end commit messages, including drafts, with `Assisted-by: <tool> (<model-id>)`, never `Co-Authored-By:`.\nKeep existing trailers and add yours when amending someone else's commit.\n\n# Pull requests\n\nPull requests are squash-merged: the description becomes the body of the single commit that lands on the target branch,\nso write it as the commit message for all the changes in the PR.  Headlines are imperative and in sentence case, with no\nConventional Commits prefix and no trailing period, e.g. `Preserve nested nullness in enhanced for var types`; the squash\nmerge appends the PR number.\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","rawUrl":"https://raw.githubusercontent.com/uber/NullAway/HEAD/AGENTS.md","title":"AI Agent Protocol & Instructions","category":"root-instruction","format":"markdown","content":"# Testing\n\nTo run only the tests for the main NullAway module, run `./gradlew :nullaway:test`. Run _only_ these tests unless you\nare specifically asked to run a test in a different module. If you want to run a single\ntest class or method within that module, you can use the `--tests` flag. For example, to run all tests in the\n`com.uber.nullaway.NullAwayTest` class, you would run:\n\n```bash\n./gradlew :nullaway:test --tests \"com.uber.nullaway.NullAwayTest\"\n```\n\nDo _not_ try to run multiple Gradle build commands in parallel; it is not supported and often leads to a failure.\n\nGenerally, whenever you run a test suite, it's best to also check that `./gradlew :nullaway:buildWithNullAway`\nalso passes; that runs NullAway checking on itself.  You don't need to run this after every targeted test run.\n\nWhen you write `CompilationTestHelper` tests, assume Error Prone reports every mismatched line at once rather than\nstopping at the first.  Put the cases of one rule, those that report an error and those that do not, in one source file,\nwith one method per case named for what it checks.\n\n# Code coverage\n\n`./gradlew :nullaway:test` reports diff coverage for changed executable lines and branches; filtered test runs only\nreflect the tests actually executed, so run the module's full suite before treating uncovered code as a missing test.\n\nBy default the diff is measured against the configured upstream/base; for stacked PRs, set `-PdiffBase=<ref>` to the\nparent PR or commit so only the current layer is measured.  The same property sets the base for mutation testing.\n\nIf an uncovered line is intentionally unreachable or not worth testing, acknowledge the reviewed exception with\n`// diff-coverage: ignore -- <reason>`; it remains counted as uncovered but is removed from the actionable list.\n\n# Mutation testing\n\nAfter you add or change tests for a change to `<module>/src/main`, run `./gradlew :<module>:pitestDiff` and act on the\nmutants it reports; it is not part of `test`.\n\n# Third-party projects in CI\n\nWhen a `Build <project> with snapshot` CI job fails, read `.github/third-party/README.md`.\n\n# Changelog\n\nOur `CHANGELOG.md` file should be formatted as follows:\n\n* Link to PRs just via their number, e.g. `#1234`, not a full GitHub URL\n* Don't credit `@msridhar` in changelog entries, but credit all other contributors\n* Under maintenance, list sub-bullets with a `-` rather than a `*`\n\n# Coding style\n\nDo not add top-level `@Nullable` annotations on local variables.  NullAway infers the nullability of local variables and\nignores these explicit annotations.\n\nWhenever you add a non-trivial method, add Javadoc, even if it's a private method.  JUnit test methods do not require Javadoc.\n\nYou do _not_ need to run `./gradlew spotlessJavaCheck` to check formatting.  We have a pre-commit hook that\nautomatically formats code before it is committed.\n\n\n## Commit messages\n\nAlways end commit messages, including drafts, with `Assisted-by: <tool> (<model-id>)`, never `Co-Authored-By:`.\nKeep existing trailers and add yours when amending someone else's commit.\n\n# Pull requests\n\nPull requests are squash-merged: the description becomes the body of the single commit that lands on the target branch,\nso write it as the commit message for all the changes in the PR.  Headlines are imperative and in sentence case, with no\nConventional Commits prefix and no trailing period, e.g. `Preserve nested nullness in enhanced for var types`; the squash\nmerge appends the PR number.\n","isInternal":false,"tokens":821,"sizeBytes":3479}],"systemPromptSnippet":"<yakaai_skills repo=\"uber/NullAway\">\n<!-- File: AGENTS.md (Tokens: ~821 | Category: root-instruction) -->\n# Testing\n\nTo run only the tests for the main NullAway module, run `./gradlew :nullaway:test`. Run _only_ these tests unless you\nare specifically asked to run a test in a different module. If you want to run a single\ntest class or method within that module, you can use the `--tests` flag. For example, to run all tests in the\n`com.uber.nullaway.NullAwayTest` class, you would run:\n\n```bash\n./gradlew :nullaway:test --tests \"com.uber.nullaway.NullAwayTest\"\n```\n\nDo _not_ try to run multiple Gradle build commands in parallel; it is not supported and often leads to a failure.\n\nGenerally, whenever you run a test suite, it's best to also check that `./gradlew :nullaway:buildWithNullAway`\nalso passes; that runs NullAway checking on itself.  You don't need to run this after every targeted test run.\n\nWhen you write `CompilationTestHelper` tests, assume Error Prone reports every mismatched line at once rather than\nstopping at the first.  Put the cases of one rule, those that report an error and those that do not, in one source file,\nwith one method per case named for what it checks.\n\n# Code coverage\n\n`./gradlew :nullaway:test` reports diff coverage for changed executable lines and branches; filtered test runs only\nreflect the tests actually executed, so run the module's full suite before treating uncovered code as a missing test.\n\nBy default the diff is measured against the configured upstream/base; for stacked PRs, set `-PdiffBase=<ref>` to the\nparent PR or commit so only the current layer is measured.  The same property sets the base for mutation testing.\n\nIf an uncovered line is intentionally unreachable or not worth testing, acknowledge the reviewed exception with\n`// diff-coverage: ignore -- <reason>`; it remains counted as uncovered but is removed from the actionable list.\n\n# Mutation testing\n\nAfter you add or change tests for a change to `<module>/src/main`, run `./gradlew :<module>:pitestDiff` and act on the\nmutants it reports; it is not part of `test`.\n\n# Third-party projects in CI\n\nWhen a `Build <project> with snapshot` CI job fails, read `.github/third-party/README.md`.\n\n# Changelog\n\nOur `CHANGELOG.md` file should be formatted as follows:\n\n* Link to PRs just via their number, e.g. `#1234`, not a full GitHub URL\n* Don't credit `@msridhar` in changelog entries, but credit all other contributors\n* Under maintenance, list sub-bullets with a `-` rather than a `*`\n\n# Coding style\n\nDo not add top-level `@Nullable` annotations on local variables.  NullAway infers the nullability of local variables and\nignores these explicit annotations.\n\nWhenever you add a non-trivial method, add Javadoc, even if it's a private method.  JUnit test methods do not require Javadoc.\n\nYou do _not_ need to run `./gradlew spotlessJavaCheck` to check formatting.  We have a pre-commit hook that\nautomatically formats code before it is committed.\n\n\n## Commit messages\n\nAlways end commit messages, including drafts, with `Assisted-by: <tool> (<model-id>)`, never `Co-Authored-By:`.\nKeep existing trailers and add yours when amending someone else's commit.\n\n# Pull requests\n\nPull requests are squash-merged: the description becomes the body of the single commit that lands on the target branch,\nso write it as the commit message for all the changes in the PR.  Headlines are imperative and in sentence case, with no\nConventional Commits prefix and no trailing period, e.g. `Preserve nested nullness in enhanced for var types`; the squash\nmerge appends the PR number.\n</yakaai_skills>"}