[[command]]
name = "periphery"
description = "Static analysis tool that identifies unused code in Swift projects. The scan subcommand invokes xcodebuild or swift build to produce an index store, then analyzes it for unreferenced declarations — this means scan executes arbitrary build scripts, build phases, and package plugins unless --skip-build is used. Periphery never modifies source code and has no auto-removal feature. check-update makes a GitHub API call. clear-cache deletes Periphery's local cache directory. --write-baseline and --write-results write report files to user-specified paths. Actively maintained with roughly monthly releases."
url = "https://github.com/peripheryapp/periphery"
bare_flags = ["--help", "--version", "-V", "-h"]
[[command.sub]]
name = "scan"
level = "SafeRead"
standalone = [
"--bazel", "--bazel-check-visibility",
"--clean-build",
"--disable-redundant-public-analysis", "--disable-unused-import-analysis",
"--disable-update-check",
"--exclude-tests",
"--help",
"--no-color", "--no-superfluous-ignore-comments",
"--quiet",
"--relative-results",
"--retain-assign-only-properties", "--retain-codable-properties",
"--retain-encodable-properties", "--retain-objc-accessible",
"--retain-objc-annotated", "--retain-public",
"--retain-swift-ui-previews",
"--retain-unused-protocol-func-params",
"--skip-build", "--skip-schemes-validation",
"--strict", "--superfluous-ignore-comments",
"--verbose",
"-h",
]
valued = [
"--baseline", "--bazel-filter", "--bazel-index-store",
"--color", "--config",
"--exclude-targets", "--external-codable-protocols",
"--external-encodable-protocols", "--external-test-case-classes",
"--format",
"--generic-project-config",
"--index-exclude", "--index-store-path",
"--json-package-manifest-path",
"--no-retain-spi",
"--project", "--project-root",
"--report-exclude", "--report-include",
"--retain-assign-only-property-types", "--retain-files",
"--retain-unused-imported-modules",
"--schemes",
"--write-baseline", "--write-results",
]
[[command.sub]]
name = "check-update"
standalone = ["--help", "-h"]
[[command.sub]]
name = "version"
standalone = ["--help", "-h"]
[[command.sub]]
name = "clear-cache"
level = "SafeWrite"
standalone = ["--help", "-h"]