audit-build-warnings

Builds the Bitwarden iOS app, categorizes compiler and lint warnings, and fixes actionable ones.

680|154|Updated Jul 14, 2023
One-click install
npx skills add https://github.com/bitwarden/ios --skill audit-build-warnings
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: audit-build-warnings
Source: https://github.com/bitwarden/ios/tree/main/.claude/skills/audit-build-warnings
Command: npx skills add https://github.com/bitwarden/ios --skill audit-build-warnings

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

iOS builds accumulate compiler and lint warnings that create noise and hide real issues. This Skill builds the Bitwarden iOS app, captures every warning, separates Swift 6 concurrency warnings from actionable ones, and interactively fixes the actionable set before a PR.

Core Features & Use Cases

  • Automated pre-fixing: Runs SwiftFormat and SwiftLint --fix via a prep script before building so auto-fixable warnings never appear in the report.
  • Warning categorization: Classifies warnings into Swift 6 concurrency (skipped), actionable (SwiftLint, compiler, retroactive conformance), and default skips (vendored code, intentional casts).
  • Interactive fixing: Presents a summary report, asks which warnings to exclude, then applies targeted fixes such as @retroactive conformances, trailing commas, and swiftlint:disable placement.
  • Use Case: Before opening a pull request on the Bitwarden iOS repo, run the audit to clean up line-length violations, unused closure parameters, and deprecation warnings while leaving Swift 6 concurrency issues for a dedicated effort.

Quick Start

Ask the assistant to audit build warnings for the Bitwarden scheme and fix the actionable ones.

Frequently Asked Questions about audit-build-warnings

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I audit and fix build warnings in the Bitwarden iOS app?

Run the audit-build-warnings workflow, which generates the Xcode project with xcodegen, builds with xcodebuild, extracts unique warnings, and categorizes them. Actionable warnings are fixed interactively after you confirm exclusions.

How are Swift 6 concurrency warnings handled during a warning audit?

Swift 6 concurrency warnings involving Sendable, actor isolation, or @preconcurrency are always skipped and tracked separately. They require intentional review with actor annotations or protocol changes, not automated fixing.

Which build schemes does the warning audit support?

The audit supports four schemes: Bitwarden (Password Manager, the default), Authenticator, BitwardenKit, and TestHarness. Each maps to its own xcodegen spec file such as project-pm.yml or project-bwa.yml.

Can the audit fix retroactive conformance warnings in Swift?

Yes, warnings about an extension declaring conformance of an imported type to an imported protocol are fixed by adding @retroactive before the protocol name. BitwardenSdk types from the Rust SDK are never modified directly.

What happens if the Xcode build fails during the audit?

If the build output shows BUILD FAILED instead of BUILD SUCCEEDED, the workflow reports the errors and stops immediately. It does not proceed to warning extraction or fixing until the build succeeds.

Where are the warning audit reports stored?

Reports and build output are written to the gitignored .claude/tmp/ directory as build_warnings_report.md and bitwarden_build_output.txt. They are never written to tracked directories like Docs/, and deletion requires user confirmation.