FAQ
On this page
- Is outskirts the same tool as Periphery?
- Is it free?
- Should I remove everything outskirts reports?
- Why is a declaration I use reported as unused?
- Why does the scan build my project?
- Does it work on Linux?
- Does it analyze Objective-C?
- Does it change my code?
- Does it send data anywhere?
- How do I report a bug or contribute?
Is outskirts the same tool as Periphery?#
outskirts is Periphery 3.x under a new name, maintained by the community since the original repository was archived in August 2026. It keeps the periphery command, the .periphery.yml file and the // periphery:ignore comments working, see Migrating from Periphery. It is not affiliated with Periphery Pro.
Is it free?#
Yes. outskirts is open source under the MIT license, like Periphery. There is no paid edition.
Should I remove everything outskirts reports?#
Not necessarily. A result is a declaration nothing reaches in the build that was scanned: often a leftover from a refactor, sometimes a feature that was never wired up, an API waiting for its first caller, or code used in a configuration or platform that was not built. outskirts shows you where it is, and you decide. Keep code on purpose with a comment command, or record today's results in a baseline.
Why is a declaration I use reported as unused?#
Usually because the code that uses it was not indexed: a target outside the scanned schemes, a file excluded with --index-exclude, a branch of #if DEBUG, Objective-C code, or a call made by a framework through reflection. See Troubleshooting and Framework conventions and retention.
Why does the scan build my project?#
The analysis reads the index store that the compiler writes during a build. outskirts builds the project once and keeps an incremental build cache, so later scans are faster. If you already have a build, reuse it with --skip-build, see How a scan works.
Does it work on Linux?#
Yes, for Swift Package Manager projects, see Platforms. Xcode projects need macOS.
Does it analyze Objective-C?#
No. Swift declarations used from Objective-C can be kept with --retain-objc-accessible or --retain-objc-annotated, see Objective-C.
Does it change my code?#
No. outskirts only reads your project and reports. It writes only its build cache and the files you ask for (--write-results, --write-baseline, --prune-baseline, and the configuration file of the guided setup).
Does it send data anywhere?#
The update check asks GitHub whether a newer release exists; turn it off with --disable-update-check. Nothing else leaves your machine.
How do I report a bug or contribute?#
Open an issue with a minimal project, or a pull request. The process is described in CONTRIBUTING.md, and what is planned is on the roadmap.