docs(standards): add @Environment DI guidance and fix @MainActor patterns#69
Merged
arclabs-studio merged 1 commit intodevelopfrom Mar 21, 2026
Merged
Conversation
…erns (#67) * chore(ci): add Claude GitHub Actions workflows (#40) - Add claude.yml: Respond to @claude mentions in issues/PRs - Add claude-code-review.yml: Automated PR code reviews - Follows ARC Labs Swift standards - Configured with CLAUDE_CODE_OAUTH_TOKEN secret * Feature/skills review (#44) * feat(skills): add worktrees workflow skill for parallel development * feat(skills): add memory and worktrees workflow skills * docs(skills): add skills index for iOS/Swift development Create comprehensive skills index document that maps when to use each skill source (ARC Labs, Van der Lee, Axiom) for iOS/Swift development tasks. Includes quick decision guide, coverage gaps matrix, and common scenario recommendations. * feat(skills): add iOS 26 Liquid Glass and @Previewable patterns Update arc-presentation-layer skill with: - iOS 26 Liquid Glass material effects (.glassEffect modifier) - Backward compatible glass implementations - Glass effect tinting patterns - Toolbar Liquid Glass treatment - @Previewable macro for SwiftUI previews (iOS 18+) - Preview best practices with multiple states - Updated related skills table with Axiom iOS 26 references * feat(skills): add memory and worktrees workflow skills * feat(skills): add arc-final-review skill for pre-merge quality checks Add comprehensive final review skill inspired by Staff iOS Engineer review patterns. The skill: - Analyzes changes by domain (SwiftUI, Concurrency, Data, Architecture) - Invokes specialized Axiom skills for each domain - Generates prioritized finalization plan with verification gates - Identifies tech debt cleanup items - Provides merge recommendation Also updates CLAUDE.md to document the new skill in the workflow. * docs: add Swift 6 concurrency patterns and Clean Architecture learnings FVRS-73 Clean Architecture audit documented key patterns: Testing: - @mainactor isolation requirements for test structs - Mock extension isolation for Swift 6 compatibility - Tag centralization to avoid "ambiguous use" errors - Mock factory best practices (avoiding false matches) Presentation: - @observable + lazy var incompatibility (use IUOs + init) - Composition Root pattern for AppCoordinator DI Architecture: - ISP: Reader/Writer protocol separation for repositories - Pure Use Cases (stateless, no dependencies) - Real-world FVRS-73 ISP example with Toggle/Get/Filter use cases * chore(security): add ARC Labs security patterns to .gitignore * Feature/audit configuration (#51) * docs(standards): rewrite CLAUDE.md with comprehensive agent guide - Add presentation layer rules (no business logic in Views or ViewModels) - Add UseCase patterns (single-responsibility + grouped with enum actions) - Add concurrency guidelines (@mainactor per-method only, never blanket) - Add multiline declaration formatting (after-first style) - Add private extension pattern for private methods - Add ARCKnowledge access configuration via submodule chain - Add complementary skills section (Axiom, Van der Lee, MCP Cupertino) - Update critical rules from 13 to 15 - Add periodic review section with /arc-audit * docs(architecture): update ViewModel, UseCase and concurrency patterns - Remove blanket @mainactor from ViewModel examples - Add @mainactor per-method on UI-bound state methods only - Add Sendable conformance to UseCase protocols and implementations - Add grouped UseCase pattern with enum actions - Add concurrency guidelines section (WWDC 2025-268) - Update anti-patterns list * docs(presentation): apply @mainactor per-method to ViewModel examples - Remove blanket @mainactor from UserProfileViewModel - Add @mainactor to onAppear(), onTappedRetry(), loadProfile() methods - Remove blanket @mainactor from ContentViewModel and HomeViewModel - Update description to emphasize ViewModels contain NO business logic * docs(testing): add mandatory UseCase testing and update ViewModel tests - Add "Testing Use Cases (Mandatory)" section with full example - Update ViewModel test examples: @mainactor per-method, not on @suite - Cover business rules, error paths, and validation in UseCase tests * docs(quality): add multiline formatting and private extension patterns - Add multiline declarations section (after-first style) - Add private extension pattern section - Update SwiftFormat config with --wrapparameters, --wrapcollections, --closingparen balanced - Update MARK section ordering in code-style.md - Remove redundant private extension for String type * docs(domain): add grouped UseCase pattern and Sendable conformance - Add grouped UseCase pattern with enum actions - Add Sendable conformance to UseCase protocol and implementation - Move private methods to private extension pattern - Add testing requirement for all UseCases - Update Domain Layer checklist with new requirements - Update MARK sections to new standard * docs(review): update checklists for @mainactor per-method and Sendable - Fix Architecture Checklist: no blanket @mainactor on ViewModels - Fix Concurrency Checklist: @mainactor per-method, Sendable on UseCases - Add private extension and UseCase testing checks * feat(skills): create /arc-audit skill for project standards compliance New comprehensive audit skill with: - 9 audit domains (Architecture, Presentation, Domain, Data, Testing, Code Style, Documentation, Accessibility, Concurrency) - Compliance grading (A-F) with severity levels - Scope support (full project, directory, single file) - Scan commands and patterns for each domain - Report template with findings and recommendations - Integration with complementary Axiom and ARC Labs skills * docs(index): add /arc-audit and /arc-final-review to skills index - Add /arc-audit and /arc-final-review to ARC Labs skills table - Add project standards audit to Quick Decision Guide - Update ARC Labs version info to Feb 2026 * Feature/skills improvement (#54) * refactor(skills): align arc-final-review with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-audit with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-memory with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-worktrees-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-data-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move data.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-tdd-patterns with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move testing.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-presentation-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move presentation.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move git-branches.md, git-commits.md, plan-mode.md to references/ subdirectory. * refactor(skills): align arc-swift-architecture with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-quality-standards with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-project-setup with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 5 supplemental files to references/ subdirectory for progressive disclosure. * Feature/arc xcode cloud (#57) * feat(ci): add arc-xcode-cloud skill and update skills index - Add .claude/skills/arc-xcode-cloud/SKILL.md with full Xcode Cloud setup guide - Update Skills/skills-index.md to include arc-xcode-cloud - Update Tools/xcode.md with Xcode Cloud section - Update CLAUDE.md skills table to include arc-xcode-cloud * docs: add arc-xcode-cloud to README skills table and documentation index * Feature/agents (#60) * feat(agents): add 6 ARC Labs subagents for autonomous task execution Introduces the agents system to ARCKnowledge. Each agent invokes skills dynamically based on the task rather than embedding all knowledge in the prompt. - arc-swift-tdd (sonnet): TDD implementation, writes tests before code - arc-swift-reviewer (sonnet): delegated code review, structured report - arc-swift-debugger (sonnet): build/test failure diagnosis, env-first - arc-spm-manager (haiku): Package.swift management and verification - arc-xcode-explorer (haiku): read-only codebase navigation and mapping - arc-linear-bridge (haiku): Linear ticket to Swift test scaffolding * docs(agents): add AGENTS.md index with trigger phrases and design principles * docs(skills): add Agents section to skills-index with routing table * docs(arc-final-review): clarify guided vs delegated review distinction * feat(arc-linear-bridge): create branch automatically after scaffolding Add mcp__ARC_Linear_GitHub__github_create_branch to tools. Execute git checkout -b locally as primary path; fall back to GitHub MCP if not in a git repo or branch already exists. * fix(arc-spm-manager): correct org URL and add ARCPurchasing, ARCAuthentication Fix GitHub org from arcdevtools → arclabs-studio. Add ARCPurchasing (RevenueCat IAP) and ARCAuthentication (SIWA + Vapor) to the known packages table with product names and domains. * feat(agents): add arc-pr-publisher and arc-release-orchestrator arc-pr-publisher: validates pre-PR checklist, creates GitHub PR, links Linear ticket, updates issue to "In Review". Closes the workflow gap between code review and merge. arc-release-orchestrator: bumps version, updates CHANGELOG, creates release branch and PR. Confirms version with user before edits. Reports manual steps (tag + App Store) after PR merge. * docs(agents): update index for 8-agent system and package table * feat(agents): add arc-testflight distribution agent Orchestrates archive → upload → TestFlight configuration. Distinct from arc-release-orchestrator (code/PR) — handles beta distribution only: tester groups, release notes, ExportOptions. * feat(agents): add arc-aso App Store Optimization agent Orchestrates 8 ASO skills (app-marketing-context, aso-audit, keyword-research, metadata-optimization, screenshot-optimization, app-store-featured, ab-test-store-listing, app-launch). Produces ready-to-upload metadata files in aso/[bundle-id]/. * feat(agents): add arc-swiftdata-migration high-risk schema agent Most conservative agent in the system. Classifies changes as lightweight vs custom, confirms before any breaking change, and enforces test-before-code for all migration plans. Invokes swiftdata-pro, axiom migration skills, arc-data-layer, arc-tdd-patterns. * feat(agents): add arc-dependency-auditor read-only audit agent Audits SPM dependencies across the project ecosystem. Detects outdated packages, version inconsistencies, and branch/revision pins. Produces a prioritized report; delegates updates to arc-spm-manager. * docs(agents): update AGENTS.md from 8 to 12 agents Add entries for arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor. Update master skills/MCPs table with all 4 new agents and their skill/MCP dependencies. * docs(skills): add 4 new agents to skills-index agents section Add arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor to the ARC Labs Agents table with model selection and trigger phrases. * Feature/swift solid pattern (#65) * docs(architecture): add swift-design-principles foundational document Six Swift-native design principles for ARC Labs Studio: Value Semantics by Default, Protocol-Driven Abstraction, Composition Over Inheritance, Well-Defined Ownership, Structured Concurrency, and Compile-Time Correctness. Includes SOLID mapping table, anti-patterns section, and full references (WWDC, Swift Evolution, Apple docs). Motivated by Fernández Muñoz's critique of SOLID in Swift and two prior sessions that refined the position: SOLID is not dead but its intent is expressed through Swift-native vocabulary and mechanisms. Co-located reference copy added to arc-swift-architecture skill references. * docs(architecture): add cross-references to swift-design-principles - solid-principles.md: add ARC Labs context note positioning SOLID as a reference framework interpreted through the Swift design principles lens - protocol-oriented.md: add cross-reference to swift-design-principles as the broader philosophical framework * docs(skills): update arc-swift-architecture with swift design principles Replace the SOLID Quick Guide section with the six Swift design principles summary. Add swift-design-principles.md as the primary architecture reference, positioned before clean-architecture.md. * docs(claude): surface swift design principles in agent guide and index - CLAUDE.md: replace bare "SOLID Principles" technical principle with the six Swift design principles and a link to swift-design-principles.md; SOLID remains referenced as a useful historical framework - Skills/skills-index.md: update arc-swift-architecture entry to mention Swift design principles alongside MVVM+C * chore(release): prepare v2.10.0 - README.md: add swift-design-principles.md to Architecture directory listing and arc-swift-architecture skill files table - CHANGELOG.md: document v2.10.0 with all added and changed files * docs(standards): add @Environment DI guidance and fix @mainactor patterns - Add Dependency Injection Strategy section to presentation.md with a decision matrix (init injection vs @Environment), @entry macro (iOS 18+), type-based @Environment for @observable (iOS 17+), anti-patterns, and @EnvironmentObject deprecation note - Fix @mainactor inconsistency: remove blanket annotation from ViewModel class declarations; add it only to methods that await nonisolated code and write to @observable state (matches CLAUDE.md rule #14) - Add @mainactor Placement explanation section backed by SE-0316 and SE-0466 (Swift 6.2 DefaultIsolation), clarifying why class-level is wrong for packages and when method-level annotation is required - Remove redundant @mainactor from pure-delegation methods (onAppear, onTappedRetry) — the main-actor hop happens inside the callee - Restore private modifier on loadRestaurants example - Add Router @Environment rationale callout to mvvm-c.md - Add cross-reference and DIP row clarification to swift-design-principles.md - Sync all changes to skill reference copies
arclabs-studio
added a commit
that referenced
this pull request
Mar 21, 2026
* chore(ci): add Claude GitHub Actions workflows (#40) - Add claude.yml: Respond to @claude mentions in issues/PRs - Add claude-code-review.yml: Automated PR code reviews - Follows ARC Labs Swift standards - Configured with CLAUDE_CODE_OAUTH_TOKEN secret * Feature/skills review (#44) * feat(skills): add worktrees workflow skill for parallel development * feat(skills): add memory and worktrees workflow skills * docs(skills): add skills index for iOS/Swift development Create comprehensive skills index document that maps when to use each skill source (ARC Labs, Van der Lee, Axiom) for iOS/Swift development tasks. Includes quick decision guide, coverage gaps matrix, and common scenario recommendations. * feat(skills): add iOS 26 Liquid Glass and @Previewable patterns Update arc-presentation-layer skill with: - iOS 26 Liquid Glass material effects (.glassEffect modifier) - Backward compatible glass implementations - Glass effect tinting patterns - Toolbar Liquid Glass treatment - @Previewable macro for SwiftUI previews (iOS 18+) - Preview best practices with multiple states - Updated related skills table with Axiom iOS 26 references * feat(skills): add memory and worktrees workflow skills * feat(skills): add arc-final-review skill for pre-merge quality checks Add comprehensive final review skill inspired by Staff iOS Engineer review patterns. The skill: - Analyzes changes by domain (SwiftUI, Concurrency, Data, Architecture) - Invokes specialized Axiom skills for each domain - Generates prioritized finalization plan with verification gates - Identifies tech debt cleanup items - Provides merge recommendation Also updates CLAUDE.md to document the new skill in the workflow. * docs: add Swift 6 concurrency patterns and Clean Architecture learnings FVRS-73 Clean Architecture audit documented key patterns: Testing: - @mainactor isolation requirements for test structs - Mock extension isolation for Swift 6 compatibility - Tag centralization to avoid "ambiguous use" errors - Mock factory best practices (avoiding false matches) Presentation: - @observable + lazy var incompatibility (use IUOs + init) - Composition Root pattern for AppCoordinator DI Architecture: - ISP: Reader/Writer protocol separation for repositories - Pure Use Cases (stateless, no dependencies) - Real-world FVRS-73 ISP example with Toggle/Get/Filter use cases * chore(security): add ARC Labs security patterns to .gitignore * Feature/audit configuration (#51) * docs(standards): rewrite CLAUDE.md with comprehensive agent guide - Add presentation layer rules (no business logic in Views or ViewModels) - Add UseCase patterns (single-responsibility + grouped with enum actions) - Add concurrency guidelines (@mainactor per-method only, never blanket) - Add multiline declaration formatting (after-first style) - Add private extension pattern for private methods - Add ARCKnowledge access configuration via submodule chain - Add complementary skills section (Axiom, Van der Lee, MCP Cupertino) - Update critical rules from 13 to 15 - Add periodic review section with /arc-audit * docs(architecture): update ViewModel, UseCase and concurrency patterns - Remove blanket @mainactor from ViewModel examples - Add @mainactor per-method on UI-bound state methods only - Add Sendable conformance to UseCase protocols and implementations - Add grouped UseCase pattern with enum actions - Add concurrency guidelines section (WWDC 2025-268) - Update anti-patterns list * docs(presentation): apply @mainactor per-method to ViewModel examples - Remove blanket @mainactor from UserProfileViewModel - Add @mainactor to onAppear(), onTappedRetry(), loadProfile() methods - Remove blanket @mainactor from ContentViewModel and HomeViewModel - Update description to emphasize ViewModels contain NO business logic * docs(testing): add mandatory UseCase testing and update ViewModel tests - Add "Testing Use Cases (Mandatory)" section with full example - Update ViewModel test examples: @mainactor per-method, not on @suite - Cover business rules, error paths, and validation in UseCase tests * docs(quality): add multiline formatting and private extension patterns - Add multiline declarations section (after-first style) - Add private extension pattern section - Update SwiftFormat config with --wrapparameters, --wrapcollections, --closingparen balanced - Update MARK section ordering in code-style.md - Remove redundant private extension for String type * docs(domain): add grouped UseCase pattern and Sendable conformance - Add grouped UseCase pattern with enum actions - Add Sendable conformance to UseCase protocol and implementation - Move private methods to private extension pattern - Add testing requirement for all UseCases - Update Domain Layer checklist with new requirements - Update MARK sections to new standard * docs(review): update checklists for @mainactor per-method and Sendable - Fix Architecture Checklist: no blanket @mainactor on ViewModels - Fix Concurrency Checklist: @mainactor per-method, Sendable on UseCases - Add private extension and UseCase testing checks * feat(skills): create /arc-audit skill for project standards compliance New comprehensive audit skill with: - 9 audit domains (Architecture, Presentation, Domain, Data, Testing, Code Style, Documentation, Accessibility, Concurrency) - Compliance grading (A-F) with severity levels - Scope support (full project, directory, single file) - Scan commands and patterns for each domain - Report template with findings and recommendations - Integration with complementary Axiom and ARC Labs skills * docs(index): add /arc-audit and /arc-final-review to skills index - Add /arc-audit and /arc-final-review to ARC Labs skills table - Add project standards audit to Quick Decision Guide - Update ARC Labs version info to Feb 2026 * Feature/skills improvement (#54) * refactor(skills): align arc-final-review with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-audit with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-memory with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-worktrees-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-data-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move data.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-tdd-patterns with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move testing.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-presentation-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move presentation.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move git-branches.md, git-commits.md, plan-mode.md to references/ subdirectory. * refactor(skills): align arc-swift-architecture with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-quality-standards with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-project-setup with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 5 supplemental files to references/ subdirectory for progressive disclosure. * Feature/arc xcode cloud (#57) * feat(ci): add arc-xcode-cloud skill and update skills index - Add .claude/skills/arc-xcode-cloud/SKILL.md with full Xcode Cloud setup guide - Update Skills/skills-index.md to include arc-xcode-cloud - Update Tools/xcode.md with Xcode Cloud section - Update CLAUDE.md skills table to include arc-xcode-cloud * docs: add arc-xcode-cloud to README skills table and documentation index * Feature/agents (#60) * feat(agents): add 6 ARC Labs subagents for autonomous task execution Introduces the agents system to ARCKnowledge. Each agent invokes skills dynamically based on the task rather than embedding all knowledge in the prompt. - arc-swift-tdd (sonnet): TDD implementation, writes tests before code - arc-swift-reviewer (sonnet): delegated code review, structured report - arc-swift-debugger (sonnet): build/test failure diagnosis, env-first - arc-spm-manager (haiku): Package.swift management and verification - arc-xcode-explorer (haiku): read-only codebase navigation and mapping - arc-linear-bridge (haiku): Linear ticket to Swift test scaffolding * docs(agents): add AGENTS.md index with trigger phrases and design principles * docs(skills): add Agents section to skills-index with routing table * docs(arc-final-review): clarify guided vs delegated review distinction * feat(arc-linear-bridge): create branch automatically after scaffolding Add mcp__ARC_Linear_GitHub__github_create_branch to tools. Execute git checkout -b locally as primary path; fall back to GitHub MCP if not in a git repo or branch already exists. * fix(arc-spm-manager): correct org URL and add ARCPurchasing, ARCAuthentication Fix GitHub org from arcdevtools → arclabs-studio. Add ARCPurchasing (RevenueCat IAP) and ARCAuthentication (SIWA + Vapor) to the known packages table with product names and domains. * feat(agents): add arc-pr-publisher and arc-release-orchestrator arc-pr-publisher: validates pre-PR checklist, creates GitHub PR, links Linear ticket, updates issue to "In Review". Closes the workflow gap between code review and merge. arc-release-orchestrator: bumps version, updates CHANGELOG, creates release branch and PR. Confirms version with user before edits. Reports manual steps (tag + App Store) after PR merge. * docs(agents): update index for 8-agent system and package table * feat(agents): add arc-testflight distribution agent Orchestrates archive → upload → TestFlight configuration. Distinct from arc-release-orchestrator (code/PR) — handles beta distribution only: tester groups, release notes, ExportOptions. * feat(agents): add arc-aso App Store Optimization agent Orchestrates 8 ASO skills (app-marketing-context, aso-audit, keyword-research, metadata-optimization, screenshot-optimization, app-store-featured, ab-test-store-listing, app-launch). Produces ready-to-upload metadata files in aso/[bundle-id]/. * feat(agents): add arc-swiftdata-migration high-risk schema agent Most conservative agent in the system. Classifies changes as lightweight vs custom, confirms before any breaking change, and enforces test-before-code for all migration plans. Invokes swiftdata-pro, axiom migration skills, arc-data-layer, arc-tdd-patterns. * feat(agents): add arc-dependency-auditor read-only audit agent Audits SPM dependencies across the project ecosystem. Detects outdated packages, version inconsistencies, and branch/revision pins. Produces a prioritized report; delegates updates to arc-spm-manager. * docs(agents): update AGENTS.md from 8 to 12 agents Add entries for arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor. Update master skills/MCPs table with all 4 new agents and their skill/MCP dependencies. * docs(skills): add 4 new agents to skills-index agents section Add arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor to the ARC Labs Agents table with model selection and trigger phrases. * Feature/swift solid pattern (#65) * docs(architecture): add swift-design-principles foundational document Six Swift-native design principles for ARC Labs Studio: Value Semantics by Default, Protocol-Driven Abstraction, Composition Over Inheritance, Well-Defined Ownership, Structured Concurrency, and Compile-Time Correctness. Includes SOLID mapping table, anti-patterns section, and full references (WWDC, Swift Evolution, Apple docs). Motivated by Fernández Muñoz's critique of SOLID in Swift and two prior sessions that refined the position: SOLID is not dead but its intent is expressed through Swift-native vocabulary and mechanisms. Co-located reference copy added to arc-swift-architecture skill references. * docs(architecture): add cross-references to swift-design-principles - solid-principles.md: add ARC Labs context note positioning SOLID as a reference framework interpreted through the Swift design principles lens - protocol-oriented.md: add cross-reference to swift-design-principles as the broader philosophical framework * docs(skills): update arc-swift-architecture with swift design principles Replace the SOLID Quick Guide section with the six Swift design principles summary. Add swift-design-principles.md as the primary architecture reference, positioned before clean-architecture.md. * docs(claude): surface swift design principles in agent guide and index - CLAUDE.md: replace bare "SOLID Principles" technical principle with the six Swift design principles and a link to swift-design-principles.md; SOLID remains referenced as a useful historical framework - Skills/skills-index.md: update arc-swift-architecture entry to mention Swift design principles alongside MVVM+C * chore(release): prepare v2.10.0 - README.md: add swift-design-principles.md to Architecture directory listing and arc-swift-architecture skill files table - CHANGELOG.md: document v2.10.0 with all added and changed files * docs(standards): add @Environment DI guidance and fix @mainactor patterns (#67) (#69) * chore(ci): add Claude GitHub Actions workflows (#40) - Add claude.yml: Respond to @claude mentions in issues/PRs - Add claude-code-review.yml: Automated PR code reviews - Follows ARC Labs Swift standards - Configured with CLAUDE_CODE_OAUTH_TOKEN secret * Feature/skills review (#44) * feat(skills): add worktrees workflow skill for parallel development * feat(skills): add memory and worktrees workflow skills * docs(skills): add skills index for iOS/Swift development Create comprehensive skills index document that maps when to use each skill source (ARC Labs, Van der Lee, Axiom) for iOS/Swift development tasks. Includes quick decision guide, coverage gaps matrix, and common scenario recommendations. * feat(skills): add iOS 26 Liquid Glass and @Previewable patterns Update arc-presentation-layer skill with: - iOS 26 Liquid Glass material effects (.glassEffect modifier) - Backward compatible glass implementations - Glass effect tinting patterns - Toolbar Liquid Glass treatment - @Previewable macro for SwiftUI previews (iOS 18+) - Preview best practices with multiple states - Updated related skills table with Axiom iOS 26 references * feat(skills): add memory and worktrees workflow skills * feat(skills): add arc-final-review skill for pre-merge quality checks Add comprehensive final review skill inspired by Staff iOS Engineer review patterns. The skill: - Analyzes changes by domain (SwiftUI, Concurrency, Data, Architecture) - Invokes specialized Axiom skills for each domain - Generates prioritized finalization plan with verification gates - Identifies tech debt cleanup items - Provides merge recommendation Also updates CLAUDE.md to document the new skill in the workflow. * docs: add Swift 6 concurrency patterns and Clean Architecture learnings FVRS-73 Clean Architecture audit documented key patterns: Testing: - @mainactor isolation requirements for test structs - Mock extension isolation for Swift 6 compatibility - Tag centralization to avoid "ambiguous use" errors - Mock factory best practices (avoiding false matches) Presentation: - @observable + lazy var incompatibility (use IUOs + init) - Composition Root pattern for AppCoordinator DI Architecture: - ISP: Reader/Writer protocol separation for repositories - Pure Use Cases (stateless, no dependencies) - Real-world FVRS-73 ISP example with Toggle/Get/Filter use cases * chore(security): add ARC Labs security patterns to .gitignore * Feature/audit configuration (#51) * docs(standards): rewrite CLAUDE.md with comprehensive agent guide - Add presentation layer rules (no business logic in Views or ViewModels) - Add UseCase patterns (single-responsibility + grouped with enum actions) - Add concurrency guidelines (@mainactor per-method only, never blanket) - Add multiline declaration formatting (after-first style) - Add private extension pattern for private methods - Add ARCKnowledge access configuration via submodule chain - Add complementary skills section (Axiom, Van der Lee, MCP Cupertino) - Update critical rules from 13 to 15 - Add periodic review section with /arc-audit * docs(architecture): update ViewModel, UseCase and concurrency patterns - Remove blanket @mainactor from ViewModel examples - Add @mainactor per-method on UI-bound state methods only - Add Sendable conformance to UseCase protocols and implementations - Add grouped UseCase pattern with enum actions - Add concurrency guidelines section (WWDC 2025-268) - Update anti-patterns list * docs(presentation): apply @mainactor per-method to ViewModel examples - Remove blanket @mainactor from UserProfileViewModel - Add @mainactor to onAppear(), onTappedRetry(), loadProfile() methods - Remove blanket @mainactor from ContentViewModel and HomeViewModel - Update description to emphasize ViewModels contain NO business logic * docs(testing): add mandatory UseCase testing and update ViewModel tests - Add "Testing Use Cases (Mandatory)" section with full example - Update ViewModel test examples: @mainactor per-method, not on @suite - Cover business rules, error paths, and validation in UseCase tests * docs(quality): add multiline formatting and private extension patterns - Add multiline declarations section (after-first style) - Add private extension pattern section - Update SwiftFormat config with --wrapparameters, --wrapcollections, --closingparen balanced - Update MARK section ordering in code-style.md - Remove redundant private extension for String type * docs(domain): add grouped UseCase pattern and Sendable conformance - Add grouped UseCase pattern with enum actions - Add Sendable conformance to UseCase protocol and implementation - Move private methods to private extension pattern - Add testing requirement for all UseCases - Update Domain Layer checklist with new requirements - Update MARK sections to new standard * docs(review): update checklists for @mainactor per-method and Sendable - Fix Architecture Checklist: no blanket @mainactor on ViewModels - Fix Concurrency Checklist: @mainactor per-method, Sendable on UseCases - Add private extension and UseCase testing checks * feat(skills): create /arc-audit skill for project standards compliance New comprehensive audit skill with: - 9 audit domains (Architecture, Presentation, Domain, Data, Testing, Code Style, Documentation, Accessibility, Concurrency) - Compliance grading (A-F) with severity levels - Scope support (full project, directory, single file) - Scan commands and patterns for each domain - Report template with findings and recommendations - Integration with complementary Axiom and ARC Labs skills * docs(index): add /arc-audit and /arc-final-review to skills index - Add /arc-audit and /arc-final-review to ARC Labs skills table - Add project standards audit to Quick Decision Guide - Update ARC Labs version info to Feb 2026 * Feature/skills improvement (#54) * refactor(skills): align arc-final-review with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-audit with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-memory with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-worktrees-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-data-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move data.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-tdd-patterns with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move testing.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-presentation-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move presentation.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move git-branches.md, git-commits.md, plan-mode.md to references/ subdirectory. * refactor(skills): align arc-swift-architecture with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-quality-standards with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-project-setup with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 5 supplemental files to references/ subdirectory for progressive disclosure. * Feature/arc xcode cloud (#57) * feat(ci): add arc-xcode-cloud skill and update skills index - Add .claude/skills/arc-xcode-cloud/SKILL.md with full Xcode Cloud setup guide - Update Skills/skills-index.md to include arc-xcode-cloud - Update Tools/xcode.md with Xcode Cloud section - Update CLAUDE.md skills table to include arc-xcode-cloud * docs: add arc-xcode-cloud to README skills table and documentation index * Feature/agents (#60) * feat(agents): add 6 ARC Labs subagents for autonomous task execution Introduces the agents system to ARCKnowledge. Each agent invokes skills dynamically based on the task rather than embedding all knowledge in the prompt. - arc-swift-tdd (sonnet): TDD implementation, writes tests before code - arc-swift-reviewer (sonnet): delegated code review, structured report - arc-swift-debugger (sonnet): build/test failure diagnosis, env-first - arc-spm-manager (haiku): Package.swift management and verification - arc-xcode-explorer (haiku): read-only codebase navigation and mapping - arc-linear-bridge (haiku): Linear ticket to Swift test scaffolding * docs(agents): add AGENTS.md index with trigger phrases and design principles * docs(skills): add Agents section to skills-index with routing table * docs(arc-final-review): clarify guided vs delegated review distinction * feat(arc-linear-bridge): create branch automatically after scaffolding Add mcp__ARC_Linear_GitHub__github_create_branch to tools. Execute git checkout -b locally as primary path; fall back to GitHub MCP if not in a git repo or branch already exists. * fix(arc-spm-manager): correct org URL and add ARCPurchasing, ARCAuthentication Fix GitHub org from arcdevtools → arclabs-studio. Add ARCPurchasing (RevenueCat IAP) and ARCAuthentication (SIWA + Vapor) to the known packages table with product names and domains. * feat(agents): add arc-pr-publisher and arc-release-orchestrator arc-pr-publisher: validates pre-PR checklist, creates GitHub PR, links Linear ticket, updates issue to "In Review". Closes the workflow gap between code review and merge. arc-release-orchestrator: bumps version, updates CHANGELOG, creates release branch and PR. Confirms version with user before edits. Reports manual steps (tag + App Store) after PR merge. * docs(agents): update index for 8-agent system and package table * feat(agents): add arc-testflight distribution agent Orchestrates archive → upload → TestFlight configuration. Distinct from arc-release-orchestrator (code/PR) — handles beta distribution only: tester groups, release notes, ExportOptions. * feat(agents): add arc-aso App Store Optimization agent Orchestrates 8 ASO skills (app-marketing-context, aso-audit, keyword-research, metadata-optimization, screenshot-optimization, app-store-featured, ab-test-store-listing, app-launch). Produces ready-to-upload metadata files in aso/[bundle-id]/. * feat(agents): add arc-swiftdata-migration high-risk schema agent Most conservative agent in the system. Classifies changes as lightweight vs custom, confirms before any breaking change, and enforces test-before-code for all migration plans. Invokes swiftdata-pro, axiom migration skills, arc-data-layer, arc-tdd-patterns. * feat(agents): add arc-dependency-auditor read-only audit agent Audits SPM dependencies across the project ecosystem. Detects outdated packages, version inconsistencies, and branch/revision pins. Produces a prioritized report; delegates updates to arc-spm-manager. * docs(agents): update AGENTS.md from 8 to 12 agents Add entries for arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor. Update master skills/MCPs table with all 4 new agents and their skill/MCP dependencies. * docs(skills): add 4 new agents to skills-index agents section Add arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor to the ARC Labs Agents table with model selection and trigger phrases. * Feature/swift solid pattern (#65) * docs(architecture): add swift-design-principles foundational document Six Swift-native design principles for ARC Labs Studio: Value Semantics by Default, Protocol-Driven Abstraction, Composition Over Inheritance, Well-Defined Ownership, Structured Concurrency, and Compile-Time Correctness. Includes SOLID mapping table, anti-patterns section, and full references (WWDC, Swift Evolution, Apple docs). Motivated by Fernández Muñoz's critique of SOLID in Swift and two prior sessions that refined the position: SOLID is not dead but its intent is expressed through Swift-native vocabulary and mechanisms. Co-located reference copy added to arc-swift-architecture skill references. * docs(architecture): add cross-references to swift-design-principles - solid-principles.md: add ARC Labs context note positioning SOLID as a reference framework interpreted through the Swift design principles lens - protocol-oriented.md: add cross-reference to swift-design-principles as the broader philosophical framework * docs(skills): update arc-swift-architecture with swift design principles Replace the SOLID Quick Guide section with the six Swift design principles summary. Add swift-design-principles.md as the primary architecture reference, positioned before clean-architecture.md. * docs(claude): surface swift design principles in agent guide and index - CLAUDE.md: replace bare "SOLID Principles" technical principle with the six Swift design principles and a link to swift-design-principles.md; SOLID remains referenced as a useful historical framework - Skills/skills-index.md: update arc-swift-architecture entry to mention Swift design principles alongside MVVM+C * chore(release): prepare v2.10.0 - README.md: add swift-design-principles.md to Architecture directory listing and arc-swift-architecture skill files table - CHANGELOG.md: document v2.10.0 with all added and changed files * docs(standards): add @Environment DI guidance and fix @mainactor patterns - Add Dependency Injection Strategy section to presentation.md with a decision matrix (init injection vs @Environment), @entry macro (iOS 18+), type-based @Environment for @observable (iOS 17+), anti-patterns, and @EnvironmentObject deprecation note - Fix @mainactor inconsistency: remove blanket annotation from ViewModel class declarations; add it only to methods that await nonisolated code and write to @observable state (matches CLAUDE.md rule #14) - Add @mainactor Placement explanation section backed by SE-0316 and SE-0466 (Swift 6.2 DefaultIsolation), clarifying why class-level is wrong for packages and when method-level annotation is required - Remove redundant @mainactor from pure-delegation methods (onAppear, onTappedRetry) — the main-actor hop happens inside the callee - Restore private modifier on loadRestaurants example - Add Router @Environment rationale callout to mvvm-c.md - Add cross-reference and DIP row clarification to swift-design-principles.md - Sync all changes to skill reference copies
arclabs-studio
added a commit
that referenced
this pull request
Mar 24, 2026
* chore(ci): add Claude GitHub Actions workflows (#40) - Add claude.yml: Respond to @claude mentions in issues/PRs - Add claude-code-review.yml: Automated PR code reviews - Follows ARC Labs Swift standards - Configured with CLAUDE_CODE_OAUTH_TOKEN secret * Feature/skills review (#44) * feat(skills): add worktrees workflow skill for parallel development * feat(skills): add memory and worktrees workflow skills * docs(skills): add skills index for iOS/Swift development Create comprehensive skills index document that maps when to use each skill source (ARC Labs, Van der Lee, Axiom) for iOS/Swift development tasks. Includes quick decision guide, coverage gaps matrix, and common scenario recommendations. * feat(skills): add iOS 26 Liquid Glass and @Previewable patterns Update arc-presentation-layer skill with: - iOS 26 Liquid Glass material effects (.glassEffect modifier) - Backward compatible glass implementations - Glass effect tinting patterns - Toolbar Liquid Glass treatment - @Previewable macro for SwiftUI previews (iOS 18+) - Preview best practices with multiple states - Updated related skills table with Axiom iOS 26 references * feat(skills): add memory and worktrees workflow skills * feat(skills): add arc-final-review skill for pre-merge quality checks Add comprehensive final review skill inspired by Staff iOS Engineer review patterns. The skill: - Analyzes changes by domain (SwiftUI, Concurrency, Data, Architecture) - Invokes specialized Axiom skills for each domain - Generates prioritized finalization plan with verification gates - Identifies tech debt cleanup items - Provides merge recommendation Also updates CLAUDE.md to document the new skill in the workflow. * docs: add Swift 6 concurrency patterns and Clean Architecture learnings FVRS-73 Clean Architecture audit documented key patterns: Testing: - @mainactor isolation requirements for test structs - Mock extension isolation for Swift 6 compatibility - Tag centralization to avoid "ambiguous use" errors - Mock factory best practices (avoiding false matches) Presentation: - @observable + lazy var incompatibility (use IUOs + init) - Composition Root pattern for AppCoordinator DI Architecture: - ISP: Reader/Writer protocol separation for repositories - Pure Use Cases (stateless, no dependencies) - Real-world FVRS-73 ISP example with Toggle/Get/Filter use cases * chore(security): add ARC Labs security patterns to .gitignore * Feature/audit configuration (#51) * docs(standards): rewrite CLAUDE.md with comprehensive agent guide - Add presentation layer rules (no business logic in Views or ViewModels) - Add UseCase patterns (single-responsibility + grouped with enum actions) - Add concurrency guidelines (@mainactor per-method only, never blanket) - Add multiline declaration formatting (after-first style) - Add private extension pattern for private methods - Add ARCKnowledge access configuration via submodule chain - Add complementary skills section (Axiom, Van der Lee, MCP Cupertino) - Update critical rules from 13 to 15 - Add periodic review section with /arc-audit * docs(architecture): update ViewModel, UseCase and concurrency patterns - Remove blanket @mainactor from ViewModel examples - Add @mainactor per-method on UI-bound state methods only - Add Sendable conformance to UseCase protocols and implementations - Add grouped UseCase pattern with enum actions - Add concurrency guidelines section (WWDC 2025-268) - Update anti-patterns list * docs(presentation): apply @mainactor per-method to ViewModel examples - Remove blanket @mainactor from UserProfileViewModel - Add @mainactor to onAppear(), onTappedRetry(), loadProfile() methods - Remove blanket @mainactor from ContentViewModel and HomeViewModel - Update description to emphasize ViewModels contain NO business logic * docs(testing): add mandatory UseCase testing and update ViewModel tests - Add "Testing Use Cases (Mandatory)" section with full example - Update ViewModel test examples: @mainactor per-method, not on @suite - Cover business rules, error paths, and validation in UseCase tests * docs(quality): add multiline formatting and private extension patterns - Add multiline declarations section (after-first style) - Add private extension pattern section - Update SwiftFormat config with --wrapparameters, --wrapcollections, --closingparen balanced - Update MARK section ordering in code-style.md - Remove redundant private extension for String type * docs(domain): add grouped UseCase pattern and Sendable conformance - Add grouped UseCase pattern with enum actions - Add Sendable conformance to UseCase protocol and implementation - Move private methods to private extension pattern - Add testing requirement for all UseCases - Update Domain Layer checklist with new requirements - Update MARK sections to new standard * docs(review): update checklists for @mainactor per-method and Sendable - Fix Architecture Checklist: no blanket @mainactor on ViewModels - Fix Concurrency Checklist: @mainactor per-method, Sendable on UseCases - Add private extension and UseCase testing checks * feat(skills): create /arc-audit skill for project standards compliance New comprehensive audit skill with: - 9 audit domains (Architecture, Presentation, Domain, Data, Testing, Code Style, Documentation, Accessibility, Concurrency) - Compliance grading (A-F) with severity levels - Scope support (full project, directory, single file) - Scan commands and patterns for each domain - Report template with findings and recommendations - Integration with complementary Axiom and ARC Labs skills * docs(index): add /arc-audit and /arc-final-review to skills index - Add /arc-audit and /arc-final-review to ARC Labs skills table - Add project standards audit to Quick Decision Guide - Update ARC Labs version info to Feb 2026 * Feature/skills improvement (#54) * refactor(skills): align arc-final-review with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-audit with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-memory with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-worktrees-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-data-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move data.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-tdd-patterns with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move testing.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-presentation-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move presentation.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move git-branches.md, git-commits.md, plan-mode.md to references/ subdirectory. * refactor(skills): align arc-swift-architecture with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-quality-standards with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-project-setup with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 5 supplemental files to references/ subdirectory for progressive disclosure. * Feature/arc xcode cloud (#57) * feat(ci): add arc-xcode-cloud skill and update skills index - Add .claude/skills/arc-xcode-cloud/SKILL.md with full Xcode Cloud setup guide - Update Skills/skills-index.md to include arc-xcode-cloud - Update Tools/xcode.md with Xcode Cloud section - Update CLAUDE.md skills table to include arc-xcode-cloud * docs: add arc-xcode-cloud to README skills table and documentation index * Feature/agents (#60) * feat(agents): add 6 ARC Labs subagents for autonomous task execution Introduces the agents system to ARCKnowledge. Each agent invokes skills dynamically based on the task rather than embedding all knowledge in the prompt. - arc-swift-tdd (sonnet): TDD implementation, writes tests before code - arc-swift-reviewer (sonnet): delegated code review, structured report - arc-swift-debugger (sonnet): build/test failure diagnosis, env-first - arc-spm-manager (haiku): Package.swift management and verification - arc-xcode-explorer (haiku): read-only codebase navigation and mapping - arc-linear-bridge (haiku): Linear ticket to Swift test scaffolding * docs(agents): add AGENTS.md index with trigger phrases and design principles * docs(skills): add Agents section to skills-index with routing table * docs(arc-final-review): clarify guided vs delegated review distinction * feat(arc-linear-bridge): create branch automatically after scaffolding Add mcp__ARC_Linear_GitHub__github_create_branch to tools. Execute git checkout -b locally as primary path; fall back to GitHub MCP if not in a git repo or branch already exists. * fix(arc-spm-manager): correct org URL and add ARCPurchasing, ARCAuthentication Fix GitHub org from arcdevtools → arclabs-studio. Add ARCPurchasing (RevenueCat IAP) and ARCAuthentication (SIWA + Vapor) to the known packages table with product names and domains. * feat(agents): add arc-pr-publisher and arc-release-orchestrator arc-pr-publisher: validates pre-PR checklist, creates GitHub PR, links Linear ticket, updates issue to "In Review". Closes the workflow gap between code review and merge. arc-release-orchestrator: bumps version, updates CHANGELOG, creates release branch and PR. Confirms version with user before edits. Reports manual steps (tag + App Store) after PR merge. * docs(agents): update index for 8-agent system and package table * feat(agents): add arc-testflight distribution agent Orchestrates archive → upload → TestFlight configuration. Distinct from arc-release-orchestrator (code/PR) — handles beta distribution only: tester groups, release notes, ExportOptions. * feat(agents): add arc-aso App Store Optimization agent Orchestrates 8 ASO skills (app-marketing-context, aso-audit, keyword-research, metadata-optimization, screenshot-optimization, app-store-featured, ab-test-store-listing, app-launch). Produces ready-to-upload metadata files in aso/[bundle-id]/. * feat(agents): add arc-swiftdata-migration high-risk schema agent Most conservative agent in the system. Classifies changes as lightweight vs custom, confirms before any breaking change, and enforces test-before-code for all migration plans. Invokes swiftdata-pro, axiom migration skills, arc-data-layer, arc-tdd-patterns. * feat(agents): add arc-dependency-auditor read-only audit agent Audits SPM dependencies across the project ecosystem. Detects outdated packages, version inconsistencies, and branch/revision pins. Produces a prioritized report; delegates updates to arc-spm-manager. * docs(agents): update AGENTS.md from 8 to 12 agents Add entries for arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor. Update master skills/MCPs table with all 4 new agents and their skill/MCP dependencies. * docs(skills): add 4 new agents to skills-index agents section Add arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor to the ARC Labs Agents table with model selection and trigger phrases. * Feature/swift solid pattern (#65) * docs(architecture): add swift-design-principles foundational document Six Swift-native design principles for ARC Labs Studio: Value Semantics by Default, Protocol-Driven Abstraction, Composition Over Inheritance, Well-Defined Ownership, Structured Concurrency, and Compile-Time Correctness. Includes SOLID mapping table, anti-patterns section, and full references (WWDC, Swift Evolution, Apple docs). Motivated by Fernández Muñoz's critique of SOLID in Swift and two prior sessions that refined the position: SOLID is not dead but its intent is expressed through Swift-native vocabulary and mechanisms. Co-located reference copy added to arc-swift-architecture skill references. * docs(architecture): add cross-references to swift-design-principles - solid-principles.md: add ARC Labs context note positioning SOLID as a reference framework interpreted through the Swift design principles lens - protocol-oriented.md: add cross-reference to swift-design-principles as the broader philosophical framework * docs(skills): update arc-swift-architecture with swift design principles Replace the SOLID Quick Guide section with the six Swift design principles summary. Add swift-design-principles.md as the primary architecture reference, positioned before clean-architecture.md. * docs(claude): surface swift design principles in agent guide and index - CLAUDE.md: replace bare "SOLID Principles" technical principle with the six Swift design principles and a link to swift-design-principles.md; SOLID remains referenced as a useful historical framework - Skills/skills-index.md: update arc-swift-architecture entry to mention Swift design principles alongside MVVM+C * chore(release): prepare v2.10.0 - README.md: add swift-design-principles.md to Architecture directory listing and arc-swift-architecture skill files table - CHANGELOG.md: document v2.10.0 with all added and changed files * docs(standards): add @Environment DI guidance and fix @mainactor patterns (#67) (#69) * chore(ci): add Claude GitHub Actions workflows (#40) - Add claude.yml: Respond to @claude mentions in issues/PRs - Add claude-code-review.yml: Automated PR code reviews - Follows ARC Labs Swift standards - Configured with CLAUDE_CODE_OAUTH_TOKEN secret * Feature/skills review (#44) * feat(skills): add worktrees workflow skill for parallel development * feat(skills): add memory and worktrees workflow skills * docs(skills): add skills index for iOS/Swift development Create comprehensive skills index document that maps when to use each skill source (ARC Labs, Van der Lee, Axiom) for iOS/Swift development tasks. Includes quick decision guide, coverage gaps matrix, and common scenario recommendations. * feat(skills): add iOS 26 Liquid Glass and @Previewable patterns Update arc-presentation-layer skill with: - iOS 26 Liquid Glass material effects (.glassEffect modifier) - Backward compatible glass implementations - Glass effect tinting patterns - Toolbar Liquid Glass treatment - @Previewable macro for SwiftUI previews (iOS 18+) - Preview best practices with multiple states - Updated related skills table with Axiom iOS 26 references * feat(skills): add memory and worktrees workflow skills * feat(skills): add arc-final-review skill for pre-merge quality checks Add comprehensive final review skill inspired by Staff iOS Engineer review patterns. The skill: - Analyzes changes by domain (SwiftUI, Concurrency, Data, Architecture) - Invokes specialized Axiom skills for each domain - Generates prioritized finalization plan with verification gates - Identifies tech debt cleanup items - Provides merge recommendation Also updates CLAUDE.md to document the new skill in the workflow. * docs: add Swift 6 concurrency patterns and Clean Architecture learnings FVRS-73 Clean Architecture audit documented key patterns: Testing: - @mainactor isolation requirements for test structs - Mock extension isolation for Swift 6 compatibility - Tag centralization to avoid "ambiguous use" errors - Mock factory best practices (avoiding false matches) Presentation: - @observable + lazy var incompatibility (use IUOs + init) - Composition Root pattern for AppCoordinator DI Architecture: - ISP: Reader/Writer protocol separation for repositories - Pure Use Cases (stateless, no dependencies) - Real-world FVRS-73 ISP example with Toggle/Get/Filter use cases * chore(security): add ARC Labs security patterns to .gitignore * Feature/audit configuration (#51) * docs(standards): rewrite CLAUDE.md with comprehensive agent guide - Add presentation layer rules (no business logic in Views or ViewModels) - Add UseCase patterns (single-responsibility + grouped with enum actions) - Add concurrency guidelines (@mainactor per-method only, never blanket) - Add multiline declaration formatting (after-first style) - Add private extension pattern for private methods - Add ARCKnowledge access configuration via submodule chain - Add complementary skills section (Axiom, Van der Lee, MCP Cupertino) - Update critical rules from 13 to 15 - Add periodic review section with /arc-audit * docs(architecture): update ViewModel, UseCase and concurrency patterns - Remove blanket @mainactor from ViewModel examples - Add @mainactor per-method on UI-bound state methods only - Add Sendable conformance to UseCase protocols and implementations - Add grouped UseCase pattern with enum actions - Add concurrency guidelines section (WWDC 2025-268) - Update anti-patterns list * docs(presentation): apply @mainactor per-method to ViewModel examples - Remove blanket @mainactor from UserProfileViewModel - Add @mainactor to onAppear(), onTappedRetry(), loadProfile() methods - Remove blanket @mainactor from ContentViewModel and HomeViewModel - Update description to emphasize ViewModels contain NO business logic * docs(testing): add mandatory UseCase testing and update ViewModel tests - Add "Testing Use Cases (Mandatory)" section with full example - Update ViewModel test examples: @mainactor per-method, not on @suite - Cover business rules, error paths, and validation in UseCase tests * docs(quality): add multiline formatting and private extension patterns - Add multiline declarations section (after-first style) - Add private extension pattern section - Update SwiftFormat config with --wrapparameters, --wrapcollections, --closingparen balanced - Update MARK section ordering in code-style.md - Remove redundant private extension for String type * docs(domain): add grouped UseCase pattern and Sendable conformance - Add grouped UseCase pattern with enum actions - Add Sendable conformance to UseCase protocol and implementation - Move private methods to private extension pattern - Add testing requirement for all UseCases - Update Domain Layer checklist with new requirements - Update MARK sections to new standard * docs(review): update checklists for @mainactor per-method and Sendable - Fix Architecture Checklist: no blanket @mainactor on ViewModels - Fix Concurrency Checklist: @mainactor per-method, Sendable on UseCases - Add private extension and UseCase testing checks * feat(skills): create /arc-audit skill for project standards compliance New comprehensive audit skill with: - 9 audit domains (Architecture, Presentation, Domain, Data, Testing, Code Style, Documentation, Accessibility, Concurrency) - Compliance grading (A-F) with severity levels - Scope support (full project, directory, single file) - Scan commands and patterns for each domain - Report template with findings and recommendations - Integration with complementary Axiom and ARC Labs skills * docs(index): add /arc-audit and /arc-final-review to skills index - Add /arc-audit and /arc-final-review to ARC Labs skills table - Add project standards audit to Quick Decision Guide - Update ARC Labs version info to Feb 2026 * Feature/skills improvement (#54) * refactor(skills): align arc-final-review with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-audit with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-memory with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-worktrees-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-data-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move data.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-tdd-patterns with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move testing.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-presentation-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move presentation.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move git-branches.md, git-commits.md, plan-mode.md to references/ subdirectory. * refactor(skills): align arc-swift-architecture with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-quality-standards with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-project-setup with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 5 supplemental files to references/ subdirectory for progressive disclosure. * Feature/arc xcode cloud (#57) * feat(ci): add arc-xcode-cloud skill and update skills index - Add .claude/skills/arc-xcode-cloud/SKILL.md with full Xcode Cloud setup guide - Update Skills/skills-index.md to include arc-xcode-cloud - Update Tools/xcode.md with Xcode Cloud section - Update CLAUDE.md skills table to include arc-xcode-cloud * docs: add arc-xcode-cloud to README skills table and documentation index * Feature/agents (#60) * feat(agents): add 6 ARC Labs subagents for autonomous task execution Introduces the agents system to ARCKnowledge. Each agent invokes skills dynamically based on the task rather than embedding all knowledge in the prompt. - arc-swift-tdd (sonnet): TDD implementation, writes tests before code - arc-swift-reviewer (sonnet): delegated code review, structured report - arc-swift-debugger (sonnet): build/test failure diagnosis, env-first - arc-spm-manager (haiku): Package.swift management and verification - arc-xcode-explorer (haiku): read-only codebase navigation and mapping - arc-linear-bridge (haiku): Linear ticket to Swift test scaffolding * docs(agents): add AGENTS.md index with trigger phrases and design principles * docs(skills): add Agents section to skills-index with routing table * docs(arc-final-review): clarify guided vs delegated review distinction * feat(arc-linear-bridge): create branch automatically after scaffolding Add mcp__ARC_Linear_GitHub__github_create_branch to tools. Execute git checkout -b locally as primary path; fall back to GitHub MCP if not in a git repo or branch already exists. * fix(arc-spm-manager): correct org URL and add ARCPurchasing, ARCAuthentication Fix GitHub org from arcdevtools → arclabs-studio. Add ARCPurchasing (RevenueCat IAP) and ARCAuthentication (SIWA + Vapor) to the known packages table with product names and domains. * feat(agents): add arc-pr-publisher and arc-release-orchestrator arc-pr-publisher: validates pre-PR checklist, creates GitHub PR, links Linear ticket, updates issue to "In Review". Closes the workflow gap between code review and merge. arc-release-orchestrator: bumps version, updates CHANGELOG, creates release branch and PR. Confirms version with user before edits. Reports manual steps (tag + App Store) after PR merge. * docs(agents): update index for 8-agent system and package table * feat(agents): add arc-testflight distribution agent Orchestrates archive → upload → TestFlight configuration. Distinct from arc-release-orchestrator (code/PR) — handles beta distribution only: tester groups, release notes, ExportOptions. * feat(agents): add arc-aso App Store Optimization agent Orchestrates 8 ASO skills (app-marketing-context, aso-audit, keyword-research, metadata-optimization, screenshot-optimization, app-store-featured, ab-test-store-listing, app-launch). Produces ready-to-upload metadata files in aso/[bundle-id]/. * feat(agents): add arc-swiftdata-migration high-risk schema agent Most conservative agent in the system. Classifies changes as lightweight vs custom, confirms before any breaking change, and enforces test-before-code for all migration plans. Invokes swiftdata-pro, axiom migration skills, arc-data-layer, arc-tdd-patterns. * feat(agents): add arc-dependency-auditor read-only audit agent Audits SPM dependencies across the project ecosystem. Detects outdated packages, version inconsistencies, and branch/revision pins. Produces a prioritized report; delegates updates to arc-spm-manager. * docs(agents): update AGENTS.md from 8 to 12 agents Add entries for arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor. Update master skills/MCPs table with all 4 new agents and their skill/MCP dependencies. * docs(skills): add 4 new agents to skills-index agents section Add arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor to the ARC Labs Agents table with model selection and trigger phrases. * Feature/swift solid pattern (#65) * docs(architecture): add swift-design-principles foundational document Six Swift-native design principles for ARC Labs Studio: Value Semantics by Default, Protocol-Driven Abstraction, Composition Over Inheritance, Well-Defined Ownership, Structured Concurrency, and Compile-Time Correctness. Includes SOLID mapping table, anti-patterns section, and full references (WWDC, Swift Evolution, Apple docs). Motivated by Fernández Muñoz's critique of SOLID in Swift and two prior sessions that refined the position: SOLID is not dead but its intent is expressed through Swift-native vocabulary and mechanisms. Co-located reference copy added to arc-swift-architecture skill references. * docs(architecture): add cross-references to swift-design-principles - solid-principles.md: add ARC Labs context note positioning SOLID as a reference framework interpreted through the Swift design principles lens - protocol-oriented.md: add cross-reference to swift-design-principles as the broader philosophical framework * docs(skills): update arc-swift-architecture with swift design principles Replace the SOLID Quick Guide section with the six Swift design principles summary. Add swift-design-principles.md as the primary architecture reference, positioned before clean-architecture.md. * docs(claude): surface swift design principles in agent guide and index - CLAUDE.md: replace bare "SOLID Principles" technical principle with the six Swift design principles and a link to swift-design-principles.md; SOLID remains referenced as a useful historical framework - Skills/skills-index.md: update arc-swift-architecture entry to mention Swift design principles alongside MVVM+C * chore(release): prepare v2.10.0 - README.md: add swift-design-principles.md to Architecture directory listing and arc-swift-architecture skill files table - CHANGELOG.md: document v2.10.0 with all added and changed files * docs(standards): add @Environment DI guidance and fix @mainactor patterns - Add Dependency Injection Strategy section to presentation.md with a decision matrix (init injection vs @Environment), @entry macro (iOS 18+), type-based @Environment for @observable (iOS 17+), anti-patterns, and @EnvironmentObject deprecation note - Fix @mainactor inconsistency: remove blanket annotation from ViewModel class declarations; add it only to methods that await nonisolated code and write to @observable state (matches CLAUDE.md rule #14) - Add @mainactor Placement explanation section backed by SE-0316 and SE-0466 (Swift 6.2 DefaultIsolation), clarifying why class-level is wrong for packages and when method-level annotation is required - Remove redundant @mainactor from pure-delegation methods (onAppear, onTappedRetry) — the main-actor hop happens inside the callee - Restore private modifier on loadRestaurants example - Add Router @Environment rationale callout to mvvm-c.md - Add cross-reference and DIP row clarification to swift-design-principles.md - Sync all changes to skill reference copies * docs(ARCPK-14): add Monetization/ section and register ARCPurchasing (#72) * docs(monetization): add Monetization/ knowledge section Creates ARCKnowledge/Monetization/ with four reference documents: - paywall-patterns.md: high-conversion design, timing, paywall types, checklist - pricing-strategy.md: business model matrix, subscription structure, localization, metrics - tools-references.md: RevenueCat dashboard, A/B testing, analytics, App Store Connect - integration-guide.md: Clean Architecture integration, protocol/repository pattern, launch checklist Closes #ARCPK-14 * chore(setup): register ARCPurchasing in ARC Labs Studio catalog - CLAUDE.md: adds ARCPurchasing to the Swift Packages product list and Monetization/ to the ARCKnowledge directory tree - Projects/packages.md: adds ARCPurchasing entry with module description Closes #ARCPK-14
arclabs-studio
added a commit
that referenced
this pull request
Mar 25, 2026
* chore(ci): add Claude GitHub Actions workflows (#40) - Add claude.yml: Respond to @claude mentions in issues/PRs - Add claude-code-review.yml: Automated PR code reviews - Follows ARC Labs Swift standards - Configured with CLAUDE_CODE_OAUTH_TOKEN secret * Feature/skills review (#44) * feat(skills): add worktrees workflow skill for parallel development * feat(skills): add memory and worktrees workflow skills * docs(skills): add skills index for iOS/Swift development Create comprehensive skills index document that maps when to use each skill source (ARC Labs, Van der Lee, Axiom) for iOS/Swift development tasks. Includes quick decision guide, coverage gaps matrix, and common scenario recommendations. * feat(skills): add iOS 26 Liquid Glass and @Previewable patterns Update arc-presentation-layer skill with: - iOS 26 Liquid Glass material effects (.glassEffect modifier) - Backward compatible glass implementations - Glass effect tinting patterns - Toolbar Liquid Glass treatment - @Previewable macro for SwiftUI previews (iOS 18+) - Preview best practices with multiple states - Updated related skills table with Axiom iOS 26 references * feat(skills): add memory and worktrees workflow skills * feat(skills): add arc-final-review skill for pre-merge quality checks Add comprehensive final review skill inspired by Staff iOS Engineer review patterns. The skill: - Analyzes changes by domain (SwiftUI, Concurrency, Data, Architecture) - Invokes specialized Axiom skills for each domain - Generates prioritized finalization plan with verification gates - Identifies tech debt cleanup items - Provides merge recommendation Also updates CLAUDE.md to document the new skill in the workflow. * docs: add Swift 6 concurrency patterns and Clean Architecture learnings FVRS-73 Clean Architecture audit documented key patterns: Testing: - @mainactor isolation requirements for test structs - Mock extension isolation for Swift 6 compatibility - Tag centralization to avoid "ambiguous use" errors - Mock factory best practices (avoiding false matches) Presentation: - @observable + lazy var incompatibility (use IUOs + init) - Composition Root pattern for AppCoordinator DI Architecture: - ISP: Reader/Writer protocol separation for repositories - Pure Use Cases (stateless, no dependencies) - Real-world FVRS-73 ISP example with Toggle/Get/Filter use cases * chore(security): add ARC Labs security patterns to .gitignore * Feature/audit configuration (#51) * docs(standards): rewrite CLAUDE.md with comprehensive agent guide - Add presentation layer rules (no business logic in Views or ViewModels) - Add UseCase patterns (single-responsibility + grouped with enum actions) - Add concurrency guidelines (@mainactor per-method only, never blanket) - Add multiline declaration formatting (after-first style) - Add private extension pattern for private methods - Add ARCKnowledge access configuration via submodule chain - Add complementary skills section (Axiom, Van der Lee, MCP Cupertino) - Update critical rules from 13 to 15 - Add periodic review section with /arc-audit * docs(architecture): update ViewModel, UseCase and concurrency patterns - Remove blanket @mainactor from ViewModel examples - Add @mainactor per-method on UI-bound state methods only - Add Sendable conformance to UseCase protocols and implementations - Add grouped UseCase pattern with enum actions - Add concurrency guidelines section (WWDC 2025-268) - Update anti-patterns list * docs(presentation): apply @mainactor per-method to ViewModel examples - Remove blanket @mainactor from UserProfileViewModel - Add @mainactor to onAppear(), onTappedRetry(), loadProfile() methods - Remove blanket @mainactor from ContentViewModel and HomeViewModel - Update description to emphasize ViewModels contain NO business logic * docs(testing): add mandatory UseCase testing and update ViewModel tests - Add "Testing Use Cases (Mandatory)" section with full example - Update ViewModel test examples: @mainactor per-method, not on @suite - Cover business rules, error paths, and validation in UseCase tests * docs(quality): add multiline formatting and private extension patterns - Add multiline declarations section (after-first style) - Add private extension pattern section - Update SwiftFormat config with --wrapparameters, --wrapcollections, --closingparen balanced - Update MARK section ordering in code-style.md - Remove redundant private extension for String type * docs(domain): add grouped UseCase pattern and Sendable conformance - Add grouped UseCase pattern with enum actions - Add Sendable conformance to UseCase protocol and implementation - Move private methods to private extension pattern - Add testing requirement for all UseCases - Update Domain Layer checklist with new requirements - Update MARK sections to new standard * docs(review): update checklists for @mainactor per-method and Sendable - Fix Architecture Checklist: no blanket @mainactor on ViewModels - Fix Concurrency Checklist: @mainactor per-method, Sendable on UseCases - Add private extension and UseCase testing checks * feat(skills): create /arc-audit skill for project standards compliance New comprehensive audit skill with: - 9 audit domains (Architecture, Presentation, Domain, Data, Testing, Code Style, Documentation, Accessibility, Concurrency) - Compliance grading (A-F) with severity levels - Scope support (full project, directory, single file) - Scan commands and patterns for each domain - Report template with findings and recommendations - Integration with complementary Axiom and ARC Labs skills * docs(index): add /arc-audit and /arc-final-review to skills index - Add /arc-audit and /arc-final-review to ARC Labs skills table - Add project standards audit to Quick Decision Guide - Update ARC Labs version info to Feb 2026 * Feature/skills improvement (#54) * refactor(skills): align arc-final-review with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-audit with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-memory with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-worktrees-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-data-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move data.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-tdd-patterns with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move testing.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-presentation-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move presentation.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move git-branches.md, git-commits.md, plan-mode.md to references/ subdirectory. * refactor(skills): align arc-swift-architecture with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-quality-standards with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-project-setup with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 5 supplemental files to references/ subdirectory for progressive disclosure. * Feature/arc xcode cloud (#57) * feat(ci): add arc-xcode-cloud skill and update skills index - Add .claude/skills/arc-xcode-cloud/SKILL.md with full Xcode Cloud setup guide - Update Skills/skills-index.md to include arc-xcode-cloud - Update Tools/xcode.md with Xcode Cloud section - Update CLAUDE.md skills table to include arc-xcode-cloud * docs: add arc-xcode-cloud to README skills table and documentation index * Feature/agents (#60) * feat(agents): add 6 ARC Labs subagents for autonomous task execution Introduces the agents system to ARCKnowledge. Each agent invokes skills dynamically based on the task rather than embedding all knowledge in the prompt. - arc-swift-tdd (sonnet): TDD implementation, writes tests before code - arc-swift-reviewer (sonnet): delegated code review, structured report - arc-swift-debugger (sonnet): build/test failure diagnosis, env-first - arc-spm-manager (haiku): Package.swift management and verification - arc-xcode-explorer (haiku): read-only codebase navigation and mapping - arc-linear-bridge (haiku): Linear ticket to Swift test scaffolding * docs(agents): add AGENTS.md index with trigger phrases and design principles * docs(skills): add Agents section to skills-index with routing table * docs(arc-final-review): clarify guided vs delegated review distinction * feat(arc-linear-bridge): create branch automatically after scaffolding Add mcp__ARC_Linear_GitHub__github_create_branch to tools. Execute git checkout -b locally as primary path; fall back to GitHub MCP if not in a git repo or branch already exists. * fix(arc-spm-manager): correct org URL and add ARCPurchasing, ARCAuthentication Fix GitHub org from arcdevtools → arclabs-studio. Add ARCPurchasing (RevenueCat IAP) and ARCAuthentication (SIWA + Vapor) to the known packages table with product names and domains. * feat(agents): add arc-pr-publisher and arc-release-orchestrator arc-pr-publisher: validates pre-PR checklist, creates GitHub PR, links Linear ticket, updates issue to "In Review". Closes the workflow gap between code review and merge. arc-release-orchestrator: bumps version, updates CHANGELOG, creates release branch and PR. Confirms version with user before edits. Reports manual steps (tag + App Store) after PR merge. * docs(agents): update index for 8-agent system and package table * feat(agents): add arc-testflight distribution agent Orchestrates archive → upload → TestFlight configuration. Distinct from arc-release-orchestrator (code/PR) — handles beta distribution only: tester groups, release notes, ExportOptions. * feat(agents): add arc-aso App Store Optimization agent Orchestrates 8 ASO skills (app-marketing-context, aso-audit, keyword-research, metadata-optimization, screenshot-optimization, app-store-featured, ab-test-store-listing, app-launch). Produces ready-to-upload metadata files in aso/[bundle-id]/. * feat(agents): add arc-swiftdata-migration high-risk schema agent Most conservative agent in the system. Classifies changes as lightweight vs custom, confirms before any breaking change, and enforces test-before-code for all migration plans. Invokes swiftdata-pro, axiom migration skills, arc-data-layer, arc-tdd-patterns. * feat(agents): add arc-dependency-auditor read-only audit agent Audits SPM dependencies across the project ecosystem. Detects outdated packages, version inconsistencies, and branch/revision pins. Produces a prioritized report; delegates updates to arc-spm-manager. * docs(agents): update AGENTS.md from 8 to 12 agents Add entries for arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor. Update master skills/MCPs table with all 4 new agents and their skill/MCP dependencies. * docs(skills): add 4 new agents to skills-index agents section Add arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor to the ARC Labs Agents table with model selection and trigger phrases. * Feature/swift solid pattern (#65) * docs(architecture): add swift-design-principles foundational document Six Swift-native design principles for ARC Labs Studio: Value Semantics by Default, Protocol-Driven Abstraction, Composition Over Inheritance, Well-Defined Ownership, Structured Concurrency, and Compile-Time Correctness. Includes SOLID mapping table, anti-patterns section, and full references (WWDC, Swift Evolution, Apple docs). Motivated by Fernández Muñoz's critique of SOLID in Swift and two prior sessions that refined the position: SOLID is not dead but its intent is expressed through Swift-native vocabulary and mechanisms. Co-located reference copy added to arc-swift-architecture skill references. * docs(architecture): add cross-references to swift-design-principles - solid-principles.md: add ARC Labs context note positioning SOLID as a reference framework interpreted through the Swift design principles lens - protocol-oriented.md: add cross-reference to swift-design-principles as the broader philosophical framework * docs(skills): update arc-swift-architecture with swift design principles Replace the SOLID Quick Guide section with the six Swift design principles summary. Add swift-design-principles.md as the primary architecture reference, positioned before clean-architecture.md. * docs(claude): surface swift design principles in agent guide and index - CLAUDE.md: replace bare "SOLID Principles" technical principle with the six Swift design principles and a link to swift-design-principles.md; SOLID remains referenced as a useful historical framework - Skills/skills-index.md: update arc-swift-architecture entry to mention Swift design principles alongside MVVM+C * chore(release): prepare v2.10.0 - README.md: add swift-design-principles.md to Architecture directory listing and arc-swift-architecture skill files table - CHANGELOG.md: document v2.10.0 with all added and changed files * docs(standards): add @Environment DI guidance and fix @mainactor patterns (#67) (#69) * chore(ci): add Claude GitHub Actions workflows (#40) - Add claude.yml: Respond to @claude mentions in issues/PRs - Add claude-code-review.yml: Automated PR code reviews - Follows ARC Labs Swift standards - Configured with CLAUDE_CODE_OAUTH_TOKEN secret * Feature/skills review (#44) * feat(skills): add worktrees workflow skill for parallel development * feat(skills): add memory and worktrees workflow skills * docs(skills): add skills index for iOS/Swift development Create comprehensive skills index document that maps when to use each skill source (ARC Labs, Van der Lee, Axiom) for iOS/Swift development tasks. Includes quick decision guide, coverage gaps matrix, and common scenario recommendations. * feat(skills): add iOS 26 Liquid Glass and @Previewable patterns Update arc-presentation-layer skill with: - iOS 26 Liquid Glass material effects (.glassEffect modifier) - Backward compatible glass implementations - Glass effect tinting patterns - Toolbar Liquid Glass treatment - @Previewable macro for SwiftUI previews (iOS 18+) - Preview best practices with multiple states - Updated related skills table with Axiom iOS 26 references * feat(skills): add memory and worktrees workflow skills * feat(skills): add arc-final-review skill for pre-merge quality checks Add comprehensive final review skill inspired by Staff iOS Engineer review patterns. The skill: - Analyzes changes by domain (SwiftUI, Concurrency, Data, Architecture) - Invokes specialized Axiom skills for each domain - Generates prioritized finalization plan with verification gates - Identifies tech debt cleanup items - Provides merge recommendation Also updates CLAUDE.md to document the new skill in the workflow. * docs: add Swift 6 concurrency patterns and Clean Architecture learnings FVRS-73 Clean Architecture audit documented key patterns: Testing: - @mainactor isolation requirements for test structs - Mock extension isolation for Swift 6 compatibility - Tag centralization to avoid "ambiguous use" errors - Mock factory best practices (avoiding false matches) Presentation: - @observable + lazy var incompatibility (use IUOs + init) - Composition Root pattern for AppCoordinator DI Architecture: - ISP: Reader/Writer protocol separation for repositories - Pure Use Cases (stateless, no dependencies) - Real-world FVRS-73 ISP example with Toggle/Get/Filter use cases * chore(security): add ARC Labs security patterns to .gitignore * Feature/audit configuration (#51) * docs(standards): rewrite CLAUDE.md with comprehensive agent guide - Add presentation layer rules (no business logic in Views or ViewModels) - Add UseCase patterns (single-responsibility + grouped with enum actions) - Add concurrency guidelines (@mainactor per-method only, never blanket) - Add multiline declaration formatting (after-first style) - Add private extension pattern for private methods - Add ARCKnowledge access configuration via submodule chain - Add complementary skills section (Axiom, Van der Lee, MCP Cupertino) - Update critical rules from 13 to 15 - Add periodic review section with /arc-audit * docs(architecture): update ViewModel, UseCase and concurrency patterns - Remove blanket @mainactor from ViewModel examples - Add @mainactor per-method on UI-bound state methods only - Add Sendable conformance to UseCase protocols and implementations - Add grouped UseCase pattern with enum actions - Add concurrency guidelines section (WWDC 2025-268) - Update anti-patterns list * docs(presentation): apply @mainactor per-method to ViewModel examples - Remove blanket @mainactor from UserProfileViewModel - Add @mainactor to onAppear(), onTappedRetry(), loadProfile() methods - Remove blanket @mainactor from ContentViewModel and HomeViewModel - Update description to emphasize ViewModels contain NO business logic * docs(testing): add mandatory UseCase testing and update ViewModel tests - Add "Testing Use Cases (Mandatory)" section with full example - Update ViewModel test examples: @mainactor per-method, not on @suite - Cover business rules, error paths, and validation in UseCase tests * docs(quality): add multiline formatting and private extension patterns - Add multiline declarations section (after-first style) - Add private extension pattern section - Update SwiftFormat config with --wrapparameters, --wrapcollections, --closingparen balanced - Update MARK section ordering in code-style.md - Remove redundant private extension for String type * docs(domain): add grouped UseCase pattern and Sendable conformance - Add grouped UseCase pattern with enum actions - Add Sendable conformance to UseCase protocol and implementation - Move private methods to private extension pattern - Add testing requirement for all UseCases - Update Domain Layer checklist with new requirements - Update MARK sections to new standard * docs(review): update checklists for @mainactor per-method and Sendable - Fix Architecture Checklist: no blanket @mainactor on ViewModels - Fix Concurrency Checklist: @mainactor per-method, Sendable on UseCases - Add private extension and UseCase testing checks * feat(skills): create /arc-audit skill for project standards compliance New comprehensive audit skill with: - 9 audit domains (Architecture, Presentation, Domain, Data, Testing, Code Style, Documentation, Accessibility, Concurrency) - Compliance grading (A-F) with severity levels - Scope support (full project, directory, single file) - Scan commands and patterns for each domain - Report template with findings and recommendations - Integration with complementary Axiom and ARC Labs skills * docs(index): add /arc-audit and /arc-final-review to skills index - Add /arc-audit and /arc-final-review to ARC Labs skills table - Add project standards audit to Quick Decision Guide - Update ARC Labs version info to Feb 2026 * Feature/skills improvement (#54) * refactor(skills): align arc-final-review with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-audit with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-memory with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-worktrees-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-data-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move data.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-tdd-patterns with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move testing.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-presentation-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move presentation.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move git-branches.md, git-commits.md, plan-mode.md to references/ subdirectory. * refactor(skills): align arc-swift-architecture with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-quality-standards with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-project-setup with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 5 supplemental files to references/ subdirectory for progressive disclosure. * Feature/arc xcode cloud (#57) * feat(ci): add arc-xcode-cloud skill and update skills index - Add .claude/skills/arc-xcode-cloud/SKILL.md with full Xcode Cloud setup guide - Update Skills/skills-index.md to include arc-xcode-cloud - Update Tools/xcode.md with Xcode Cloud section - Update CLAUDE.md skills table to include arc-xcode-cloud * docs: add arc-xcode-cloud to README skills table and documentation index * Feature/agents (#60) * feat(agents): add 6 ARC Labs subagents for autonomous task execution Introduces the agents system to ARCKnowledge. Each agent invokes skills dynamically based on the task rather than embedding all knowledge in the prompt. - arc-swift-tdd (sonnet): TDD implementation, writes tests before code - arc-swift-reviewer (sonnet): delegated code review, structured report - arc-swift-debugger (sonnet): build/test failure diagnosis, env-first - arc-spm-manager (haiku): Package.swift management and verification - arc-xcode-explorer (haiku): read-only codebase navigation and mapping - arc-linear-bridge (haiku): Linear ticket to Swift test scaffolding * docs(agents): add AGENTS.md index with trigger phrases and design principles * docs(skills): add Agents section to skills-index with routing table * docs(arc-final-review): clarify guided vs delegated review distinction * feat(arc-linear-bridge): create branch automatically after scaffolding Add mcp__ARC_Linear_GitHub__github_create_branch to tools. Execute git checkout -b locally as primary path; fall back to GitHub MCP if not in a git repo or branch already exists. * fix(arc-spm-manager): correct org URL and add ARCPurchasing, ARCAuthentication Fix GitHub org from arcdevtools → arclabs-studio. Add ARCPurchasing (RevenueCat IAP) and ARCAuthentication (SIWA + Vapor) to the known packages table with product names and domains. * feat(agents): add arc-pr-publisher and arc-release-orchestrator arc-pr-publisher: validates pre-PR checklist, creates GitHub PR, links Linear ticket, updates issue to "In Review". Closes the workflow gap between code review and merge. arc-release-orchestrator: bumps version, updates CHANGELOG, creates release branch and PR. Confirms version with user before edits. Reports manual steps (tag + App Store) after PR merge. * docs(agents): update index for 8-agent system and package table * feat(agents): add arc-testflight distribution agent Orchestrates archive → upload → TestFlight configuration. Distinct from arc-release-orchestrator (code/PR) — handles beta distribution only: tester groups, release notes, ExportOptions. * feat(agents): add arc-aso App Store Optimization agent Orchestrates 8 ASO skills (app-marketing-context, aso-audit, keyword-research, metadata-optimization, screenshot-optimization, app-store-featured, ab-test-store-listing, app-launch). Produces ready-to-upload metadata files in aso/[bundle-id]/. * feat(agents): add arc-swiftdata-migration high-risk schema agent Most conservative agent in the system. Classifies changes as lightweight vs custom, confirms before any breaking change, and enforces test-before-code for all migration plans. Invokes swiftdata-pro, axiom migration skills, arc-data-layer, arc-tdd-patterns. * feat(agents): add arc-dependency-auditor read-only audit agent Audits SPM dependencies across the project ecosystem. Detects outdated packages, version inconsistencies, and branch/revision pins. Produces a prioritized report; delegates updates to arc-spm-manager. * docs(agents): update AGENTS.md from 8 to 12 agents Add entries for arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor. Update master skills/MCPs table with all 4 new agents and their skill/MCP dependencies. * docs(skills): add 4 new agents to skills-index agents section Add arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor to the ARC Labs Agents table with model selection and trigger phrases. * Feature/swift solid pattern (#65) * docs(architecture): add swift-design-principles foundational document Six Swift-native design principles for ARC Labs Studio: Value Semantics by Default, Protocol-Driven Abstraction, Composition Over Inheritance, Well-Defined Ownership, Structured Concurrency, and Compile-Time Correctness. Includes SOLID mapping table, anti-patterns section, and full references (WWDC, Swift Evolution, Apple docs). Motivated by Fernández Muñoz's critique of SOLID in Swift and two prior sessions that refined the position: SOLID is not dead but its intent is expressed through Swift-native vocabulary and mechanisms. Co-located reference copy added to arc-swift-architecture skill references. * docs(architecture): add cross-references to swift-design-principles - solid-principles.md: add ARC Labs context note positioning SOLID as a reference framework interpreted through the Swift design principles lens - protocol-oriented.md: add cross-reference to swift-design-principles as the broader philosophical framework * docs(skills): update arc-swift-architecture with swift design principles Replace the SOLID Quick Guide section with the six Swift design principles summary. Add swift-design-principles.md as the primary architecture reference, positioned before clean-architecture.md. * docs(claude): surface swift design principles in agent guide and index - CLAUDE.md: replace bare "SOLID Principles" technical principle with the six Swift design principles and a link to swift-design-principles.md; SOLID remains referenced as a useful historical framework - Skills/skills-index.md: update arc-swift-architecture entry to mention Swift design principles alongside MVVM+C * chore(release): prepare v2.10.0 - README.md: add swift-design-principles.md to Architecture directory listing and arc-swift-architecture skill files table - CHANGELOG.md: document v2.10.0 with all added and changed files * docs(standards): add @Environment DI guidance and fix @mainactor patterns - Add Dependency Injection Strategy section to presentation.md with a decision matrix (init injection vs @Environment), @entry macro (iOS 18+), type-based @Environment for @observable (iOS 17+), anti-patterns, and @EnvironmentObject deprecation note - Fix @mainactor inconsistency: remove blanket annotation from ViewModel class declarations; add it only to methods that await nonisolated code and write to @observable state (matches CLAUDE.md rule #14) - Add @mainactor Placement explanation section backed by SE-0316 and SE-0466 (Swift 6.2 DefaultIsolation), clarifying why class-level is wrong for packages and when method-level annotation is required - Remove redundant @mainactor from pure-delegation methods (onAppear, onTappedRetry) — the main-actor hop happens inside the callee - Restore private modifier on loadRestaurants example - Add Router @Environment rationale callout to mvvm-c.md - Add cross-reference and DIP row clarification to swift-design-principles.md - Sync all changes to skill reference copies * docs(ARCPK-14): add Monetization/ section and register ARCPurchasing (#72) * docs(monetization): add Monetization/ knowledge section Creates ARCKnowledge/Monetization/ with four reference documents: - paywall-patterns.md: high-conversion design, timing, paywall types, checklist - pricing-strategy.md: business model matrix, subscription structure, localization, metrics - tools-references.md: RevenueCat dashboard, A/B testing, analytics, App Store Connect - integration-guide.md: Clean Architecture integration, protocol/repository pattern, launch checklist Closes #ARCPK-14 * chore(setup): register ARCPurchasing in ARC Labs Studio catalog - CLAUDE.md: adds ARCPurchasing to the Swift Packages product list and Monetization/ to the ARCKnowledge directory tree - Projects/packages.md: adds ARCPurchasing entry with module description Closes #ARCPK-14 * docs(l10n): add localization standard and /arc-localization skill (#75) Create Quality/localization.md with comprehensive standards: - Packages text-agnostic, apps own all strings - String resolution: LocalizedStringKey vs String(localized:) vs String(localized:locale:) - Navigation title, nameKey, package enum, and LanguageManager patterns Create /arc-localization skill with quick decision tree. Update skills-index.md with localization entry.
arclabs-studio
added a commit
that referenced
this pull request
Mar 28, 2026
* chore(ci): add Claude GitHub Actions workflows (#40) - Add claude.yml: Respond to @claude mentions in issues/PRs - Add claude-code-review.yml: Automated PR code reviews - Follows ARC Labs Swift standards - Configured with CLAUDE_CODE_OAUTH_TOKEN secret * Feature/skills review (#44) * feat(skills): add worktrees workflow skill for parallel development * feat(skills): add memory and worktrees workflow skills * docs(skills): add skills index for iOS/Swift development Create comprehensive skills index document that maps when to use each skill source (ARC Labs, Van der Lee, Axiom) for iOS/Swift development tasks. Includes quick decision guide, coverage gaps matrix, and common scenario recommendations. * feat(skills): add iOS 26 Liquid Glass and @Previewable patterns Update arc-presentation-layer skill with: - iOS 26 Liquid Glass material effects (.glassEffect modifier) - Backward compatible glass implementations - Glass effect tinting patterns - Toolbar Liquid Glass treatment - @Previewable macro for SwiftUI previews (iOS 18+) - Preview best practices with multiple states - Updated related skills table with Axiom iOS 26 references * feat(skills): add memory and worktrees workflow skills * feat(skills): add arc-final-review skill for pre-merge quality checks Add comprehensive final review skill inspired by Staff iOS Engineer review patterns. The skill: - Analyzes changes by domain (SwiftUI, Concurrency, Data, Architecture) - Invokes specialized Axiom skills for each domain - Generates prioritized finalization plan with verification gates - Identifies tech debt cleanup items - Provides merge recommendation Also updates CLAUDE.md to document the new skill in the workflow. * docs: add Swift 6 concurrency patterns and Clean Architecture learnings FVRS-73 Clean Architecture audit documented key patterns: Testing: - @mainactor isolation requirements for test structs - Mock extension isolation for Swift 6 compatibility - Tag centralization to avoid "ambiguous use" errors - Mock factory best practices (avoiding false matches) Presentation: - @observable + lazy var incompatibility (use IUOs + init) - Composition Root pattern for AppCoordinator DI Architecture: - ISP: Reader/Writer protocol separation for repositories - Pure Use Cases (stateless, no dependencies) - Real-world FVRS-73 ISP example with Toggle/Get/Filter use cases * chore(security): add ARC Labs security patterns to .gitignore * Feature/audit configuration (#51) * docs(standards): rewrite CLAUDE.md with comprehensive agent guide - Add presentation layer rules (no business logic in Views or ViewModels) - Add UseCase patterns (single-responsibility + grouped with enum actions) - Add concurrency guidelines (@mainactor per-method only, never blanket) - Add multiline declaration formatting (after-first style) - Add private extension pattern for private methods - Add ARCKnowledge access configuration via submodule chain - Add complementary skills section (Axiom, Van der Lee, MCP Cupertino) - Update critical rules from 13 to 15 - Add periodic review section with /arc-audit * docs(architecture): update ViewModel, UseCase and concurrency patterns - Remove blanket @mainactor from ViewModel examples - Add @mainactor per-method on UI-bound state methods only - Add Sendable conformance to UseCase protocols and implementations - Add grouped UseCase pattern with enum actions - Add concurrency guidelines section (WWDC 2025-268) - Update anti-patterns list * docs(presentation): apply @mainactor per-method to ViewModel examples - Remove blanket @mainactor from UserProfileViewModel - Add @mainactor to onAppear(), onTappedRetry(), loadProfile() methods - Remove blanket @mainactor from ContentViewModel and HomeViewModel - Update description to emphasize ViewModels contain NO business logic * docs(testing): add mandatory UseCase testing and update ViewModel tests - Add "Testing Use Cases (Mandatory)" section with full example - Update ViewModel test examples: @mainactor per-method, not on @suite - Cover business rules, error paths, and validation in UseCase tests * docs(quality): add multiline formatting and private extension patterns - Add multiline declarations section (after-first style) - Add private extension pattern section - Update SwiftFormat config with --wrapparameters, --wrapcollections, --closingparen balanced - Update MARK section ordering in code-style.md - Remove redundant private extension for String type * docs(domain): add grouped UseCase pattern and Sendable conformance - Add grouped UseCase pattern with enum actions - Add Sendable conformance to UseCase protocol and implementation - Move private methods to private extension pattern - Add testing requirement for all UseCases - Update Domain Layer checklist with new requirements - Update MARK sections to new standard * docs(review): update checklists for @mainactor per-method and Sendable - Fix Architecture Checklist: no blanket @mainactor on ViewModels - Fix Concurrency Checklist: @mainactor per-method, Sendable on UseCases - Add private extension and UseCase testing checks * feat(skills): create /arc-audit skill for project standards compliance New comprehensive audit skill with: - 9 audit domains (Architecture, Presentation, Domain, Data, Testing, Code Style, Documentation, Accessibility, Concurrency) - Compliance grading (A-F) with severity levels - Scope support (full project, directory, single file) - Scan commands and patterns for each domain - Report template with findings and recommendations - Integration with complementary Axiom and ARC Labs skills * docs(index): add /arc-audit and /arc-final-review to skills index - Add /arc-audit and /arc-final-review to ARC Labs skills table - Add project standards audit to Quick Decision Guide - Update ARC Labs version info to Feb 2026 * Feature/skills improvement (#54) * refactor(skills): align arc-final-review with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-audit with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-memory with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-worktrees-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-data-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move data.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-tdd-patterns with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move testing.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-presentation-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move presentation.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move git-branches.md, git-commits.md, plan-mode.md to references/ subdirectory. * refactor(skills): align arc-swift-architecture with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-quality-standards with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-project-setup with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 5 supplemental files to references/ subdirectory for progressive disclosure. * Feature/arc xcode cloud (#57) * feat(ci): add arc-xcode-cloud skill and update skills index - Add .claude/skills/arc-xcode-cloud/SKILL.md with full Xcode Cloud setup guide - Update Skills/skills-index.md to include arc-xcode-cloud - Update Tools/xcode.md with Xcode Cloud section - Update CLAUDE.md skills table to include arc-xcode-cloud * docs: add arc-xcode-cloud to README skills table and documentation index * Feature/agents (#60) * feat(agents): add 6 ARC Labs subagents for autonomous task execution Introduces the agents system to ARCKnowledge. Each agent invokes skills dynamically based on the task rather than embedding all knowledge in the prompt. - arc-swift-tdd (sonnet): TDD implementation, writes tests before code - arc-swift-reviewer (sonnet): delegated code review, structured report - arc-swift-debugger (sonnet): build/test failure diagnosis, env-first - arc-spm-manager (haiku): Package.swift management and verification - arc-xcode-explorer (haiku): read-only codebase navigation and mapping - arc-linear-bridge (haiku): Linear ticket to Swift test scaffolding * docs(agents): add AGENTS.md index with trigger phrases and design principles * docs(skills): add Agents section to skills-index with routing table * docs(arc-final-review): clarify guided vs delegated review distinction * feat(arc-linear-bridge): create branch automatically after scaffolding Add mcp__ARC_Linear_GitHub__github_create_branch to tools. Execute git checkout -b locally as primary path; fall back to GitHub MCP if not in a git repo or branch already exists. * fix(arc-spm-manager): correct org URL and add ARCPurchasing, ARCAuthentication Fix GitHub org from arcdevtools → arclabs-studio. Add ARCPurchasing (RevenueCat IAP) and ARCAuthentication (SIWA + Vapor) to the known packages table with product names and domains. * feat(agents): add arc-pr-publisher and arc-release-orchestrator arc-pr-publisher: validates pre-PR checklist, creates GitHub PR, links Linear ticket, updates issue to "In Review". Closes the workflow gap between code review and merge. arc-release-orchestrator: bumps version, updates CHANGELOG, creates release branch and PR. Confirms version with user before edits. Reports manual steps (tag + App Store) after PR merge. * docs(agents): update index for 8-agent system and package table * feat(agents): add arc-testflight distribution agent Orchestrates archive → upload → TestFlight configuration. Distinct from arc-release-orchestrator (code/PR) — handles beta distribution only: tester groups, release notes, ExportOptions. * feat(agents): add arc-aso App Store Optimization agent Orchestrates 8 ASO skills (app-marketing-context, aso-audit, keyword-research, metadata-optimization, screenshot-optimization, app-store-featured, ab-test-store-listing, app-launch). Produces ready-to-upload metadata files in aso/[bundle-id]/. * feat(agents): add arc-swiftdata-migration high-risk schema agent Most conservative agent in the system. Classifies changes as lightweight vs custom, confirms before any breaking change, and enforces test-before-code for all migration plans. Invokes swiftdata-pro, axiom migration skills, arc-data-layer, arc-tdd-patterns. * feat(agents): add arc-dependency-auditor read-only audit agent Audits SPM dependencies across the project ecosystem. Detects outdated packages, version inconsistencies, and branch/revision pins. Produces a prioritized report; delegates updates to arc-spm-manager. * docs(agents): update AGENTS.md from 8 to 12 agents Add entries for arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor. Update master skills/MCPs table with all 4 new agents and their skill/MCP dependencies. * docs(skills): add 4 new agents to skills-index agents section Add arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor to the ARC Labs Agents table with model selection and trigger phrases. * Feature/swift solid pattern (#65) * docs(architecture): add swift-design-principles foundational document Six Swift-native design principles for ARC Labs Studio: Value Semantics by Default, Protocol-Driven Abstraction, Composition Over Inheritance, Well-Defined Ownership, Structured Concurrency, and Compile-Time Correctness. Includes SOLID mapping table, anti-patterns section, and full references (WWDC, Swift Evolution, Apple docs). Motivated by Fernández Muñoz's critique of SOLID in Swift and two prior sessions that refined the position: SOLID is not dead but its intent is expressed through Swift-native vocabulary and mechanisms. Co-located reference copy added to arc-swift-architecture skill references. * docs(architecture): add cross-references to swift-design-principles - solid-principles.md: add ARC Labs context note positioning SOLID as a reference framework interpreted through the Swift design principles lens - protocol-oriented.md: add cross-reference to swift-design-principles as the broader philosophical framework * docs(skills): update arc-swift-architecture with swift design principles Replace the SOLID Quick Guide section with the six Swift design principles summary. Add swift-design-principles.md as the primary architecture reference, positioned before clean-architecture.md. * docs(claude): surface swift design principles in agent guide and index - CLAUDE.md: replace bare "SOLID Principles" technical principle with the six Swift design principles and a link to swift-design-principles.md; SOLID remains referenced as a useful historical framework - Skills/skills-index.md: update arc-swift-architecture entry to mention Swift design principles alongside MVVM+C * chore(release): prepare v2.10.0 - README.md: add swift-design-principles.md to Architecture directory listing and arc-swift-architecture skill files table - CHANGELOG.md: document v2.10.0 with all added and changed files * docs(standards): add @Environment DI guidance and fix @mainactor patterns (#67) (#69) * chore(ci): add Claude GitHub Actions workflows (#40) - Add claude.yml: Respond to @claude mentions in issues/PRs - Add claude-code-review.yml: Automated PR code reviews - Follows ARC Labs Swift standards - Configured with CLAUDE_CODE_OAUTH_TOKEN secret * Feature/skills review (#44) * feat(skills): add worktrees workflow skill for parallel development * feat(skills): add memory and worktrees workflow skills * docs(skills): add skills index for iOS/Swift development Create comprehensive skills index document that maps when to use each skill source (ARC Labs, Van der Lee, Axiom) for iOS/Swift development tasks. Includes quick decision guide, coverage gaps matrix, and common scenario recommendations. * feat(skills): add iOS 26 Liquid Glass and @Previewable patterns Update arc-presentation-layer skill with: - iOS 26 Liquid Glass material effects (.glassEffect modifier) - Backward compatible glass implementations - Glass effect tinting patterns - Toolbar Liquid Glass treatment - @Previewable macro for SwiftUI previews (iOS 18+) - Preview best practices with multiple states - Updated related skills table with Axiom iOS 26 references * feat(skills): add memory and worktrees workflow skills * feat(skills): add arc-final-review skill for pre-merge quality checks Add comprehensive final review skill inspired by Staff iOS Engineer review patterns. The skill: - Analyzes changes by domain (SwiftUI, Concurrency, Data, Architecture) - Invokes specialized Axiom skills for each domain - Generates prioritized finalization plan with verification gates - Identifies tech debt cleanup items - Provides merge recommendation Also updates CLAUDE.md to document the new skill in the workflow. * docs: add Swift 6 concurrency patterns and Clean Architecture learnings FVRS-73 Clean Architecture audit documented key patterns: Testing: - @mainactor isolation requirements for test structs - Mock extension isolation for Swift 6 compatibility - Tag centralization to avoid "ambiguous use" errors - Mock factory best practices (avoiding false matches) Presentation: - @observable + lazy var incompatibility (use IUOs + init) - Composition Root pattern for AppCoordinator DI Architecture: - ISP: Reader/Writer protocol separation for repositories - Pure Use Cases (stateless, no dependencies) - Real-world FVRS-73 ISP example with Toggle/Get/Filter use cases * chore(security): add ARC Labs security patterns to .gitignore * Feature/audit configuration (#51) * docs(standards): rewrite CLAUDE.md with comprehensive agent guide - Add presentation layer rules (no business logic in Views or ViewModels) - Add UseCase patterns (single-responsibility + grouped with enum actions) - Add concurrency guidelines (@mainactor per-method only, never blanket) - Add multiline declaration formatting (after-first style) - Add private extension pattern for private methods - Add ARCKnowledge access configuration via submodule chain - Add complementary skills section (Axiom, Van der Lee, MCP Cupertino) - Update critical rules from 13 to 15 - Add periodic review section with /arc-audit * docs(architecture): update ViewModel, UseCase and concurrency patterns - Remove blanket @mainactor from ViewModel examples - Add @mainactor per-method on UI-bound state methods only - Add Sendable conformance to UseCase protocols and implementations - Add grouped UseCase pattern with enum actions - Add concurrency guidelines section (WWDC 2025-268) - Update anti-patterns list * docs(presentation): apply @mainactor per-method to ViewModel examples - Remove blanket @mainactor from UserProfileViewModel - Add @mainactor to onAppear(), onTappedRetry(), loadProfile() methods - Remove blanket @mainactor from ContentViewModel and HomeViewModel - Update description to emphasize ViewModels contain NO business logic * docs(testing): add mandatory UseCase testing and update ViewModel tests - Add "Testing Use Cases (Mandatory)" section with full example - Update ViewModel test examples: @mainactor per-method, not on @suite - Cover business rules, error paths, and validation in UseCase tests * docs(quality): add multiline formatting and private extension patterns - Add multiline declarations section (after-first style) - Add private extension pattern section - Update SwiftFormat config with --wrapparameters, --wrapcollections, --closingparen balanced - Update MARK section ordering in code-style.md - Remove redundant private extension for String type * docs(domain): add grouped UseCase pattern and Sendable conformance - Add grouped UseCase pattern with enum actions - Add Sendable conformance to UseCase protocol and implementation - Move private methods to private extension pattern - Add testing requirement for all UseCases - Update Domain Layer checklist with new requirements - Update MARK sections to new standard * docs(review): update checklists for @mainactor per-method and Sendable - Fix Architecture Checklist: no blanket @mainactor on ViewModels - Fix Concurrency Checklist: @mainactor per-method, Sendable on UseCases - Add private extension and UseCase testing checks * feat(skills): create /arc-audit skill for project standards compliance New comprehensive audit skill with: - 9 audit domains (Architecture, Presentation, Domain, Data, Testing, Code Style, Documentation, Accessibility, Concurrency) - Compliance grading (A-F) with severity levels - Scope support (full project, directory, single file) - Scan commands and patterns for each domain - Report template with findings and recommendations - Integration with complementary Axiom and ARC Labs skills * docs(index): add /arc-audit and /arc-final-review to skills index - Add /arc-audit and /arc-final-review to ARC Labs skills table - Add project standards audit to Quick Decision Guide - Update ARC Labs version info to Feb 2026 * Feature/skills improvement (#54) * refactor(skills): align arc-final-review with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-audit with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-memory with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-worktrees-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-data-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move data.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-tdd-patterns with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move testing.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-presentation-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move presentation.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move git-branches.md, git-commits.md, plan-mode.md to references/ subdirectory. * refactor(skills): align arc-swift-architecture with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-quality-standards with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-project-setup with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 5 supplemental files to references/ subdirectory for progressive disclosure. * Feature/arc xcode cloud (#57) * feat(ci): add arc-xcode-cloud skill and update skills index - Add .claude/skills/arc-xcode-cloud/SKILL.md with full Xcode Cloud setup guide - Update Skills/skills-index.md to include arc-xcode-cloud - Update Tools/xcode.md with Xcode Cloud section - Update CLAUDE.md skills table to include arc-xcode-cloud * docs: add arc-xcode-cloud to README skills table and documentation index * Feature/agents (#60) * feat(agents): add 6 ARC Labs subagents for autonomous task execution Introduces the agents system to ARCKnowledge. Each agent invokes skills dynamically based on the task rather than embedding all knowledge in the prompt. - arc-swift-tdd (sonnet): TDD implementation, writes tests before code - arc-swift-reviewer (sonnet): delegated code review, structured report - arc-swift-debugger (sonnet): build/test failure diagnosis, env-first - arc-spm-manager (haiku): Package.swift management and verification - arc-xcode-explorer (haiku): read-only codebase navigation and mapping - arc-linear-bridge (haiku): Linear ticket to Swift test scaffolding * docs(agents): add AGENTS.md index with trigger phrases and design principles * docs(skills): add Agents section to skills-index with routing table * docs(arc-final-review): clarify guided vs delegated review distinction * feat(arc-linear-bridge): create branch automatically after scaffolding Add mcp__ARC_Linear_GitHub__github_create_branch to tools. Execute git checkout -b locally as primary path; fall back to GitHub MCP if not in a git repo or branch already exists. * fix(arc-spm-manager): correct org URL and add ARCPurchasing, ARCAuthentication Fix GitHub org from arcdevtools → arclabs-studio. Add ARCPurchasing (RevenueCat IAP) and ARCAuthentication (SIWA + Vapor) to the known packages table with product names and domains. * feat(agents): add arc-pr-publisher and arc-release-orchestrator arc-pr-publisher: validates pre-PR checklist, creates GitHub PR, links Linear ticket, updates issue to "In Review". Closes the workflow gap between code review and merge. arc-release-orchestrator: bumps version, updates CHANGELOG, creates release branch and PR. Confirms version with user before edits. Reports manual steps (tag + App Store) after PR merge. * docs(agents): update index for 8-agent system and package table * feat(agents): add arc-testflight distribution agent Orchestrates archive → upload → TestFlight configuration. Distinct from arc-release-orchestrator (code/PR) — handles beta distribution only: tester groups, release notes, ExportOptions. * feat(agents): add arc-aso App Store Optimization agent Orchestrates 8 ASO skills (app-marketing-context, aso-audit, keyword-research, metadata-optimization, screenshot-optimization, app-store-featured, ab-test-store-listing, app-launch). Produces ready-to-upload metadata files in aso/[bundle-id]/. * feat(agents): add arc-swiftdata-migration high-risk schema agent Most conservative agent in the system. Classifies changes as lightweight vs custom, confirms before any breaking change, and enforces test-before-code for all migration plans. Invokes swiftdata-pro, axiom migration skills, arc-data-layer, arc-tdd-patterns. * feat(agents): add arc-dependency-auditor read-only audit agent Audits SPM dependencies across the project ecosystem. Detects outdated packages, version inconsistencies, and branch/revision pins. Produces a prioritized report; delegates updates to arc-spm-manager. * docs(agents): update AGENTS.md from 8 to 12 agents Add entries for arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor. Update master skills/MCPs table with all 4 new agents and their skill/MCP dependencies. * docs(skills): add 4 new agents to skills-index agents section Add arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor to the ARC Labs Agents table with model selection and trigger phrases. * Feature/swift solid pattern (#65) * docs(architecture): add swift-design-principles foundational document Six Swift-native design principles for ARC Labs Studio: Value Semantics by Default, Protocol-Driven Abstraction, Composition Over Inheritance, Well-Defined Ownership, Structured Concurrency, and Compile-Time Correctness. Includes SOLID mapping table, anti-patterns section, and full references (WWDC, Swift Evolution, Apple docs). Motivated by Fernández Muñoz's critique of SOLID in Swift and two prior sessions that refined the position: SOLID is not dead but its intent is expressed through Swift-native vocabulary and mechanisms. Co-located reference copy added to arc-swift-architecture skill references. * docs(architecture): add cross-references to swift-design-principles - solid-principles.md: add ARC Labs context note positioning SOLID as a reference framework interpreted through the Swift design principles lens - protocol-oriented.md: add cross-reference to swift-design-principles as the broader philosophical framework * docs(skills): update arc-swift-architecture with swift design principles Replace the SOLID Quick Guide section with the six Swift design principles summary. Add swift-design-principles.md as the primary architecture reference, positioned before clean-architecture.md. * docs(claude): surface swift design principles in agent guide and index - CLAUDE.md: replace bare "SOLID Principles" technical principle with the six Swift design principles and a link to swift-design-principles.md; SOLID remains referenced as a useful historical framework - Skills/skills-index.md: update arc-swift-architecture entry to mention Swift design principles alongside MVVM+C * chore(release): prepare v2.10.0 - README.md: add swift-design-principles.md to Architecture directory listing and arc-swift-architecture skill files table - CHANGELOG.md: document v2.10.0 with all added and changed files * docs(standards): add @Environment DI guidance and fix @mainactor patterns - Add Dependency Injection Strategy section to presentation.md with a decision matrix (init injection vs @Environment), @entry macro (iOS 18+), type-based @Environment for @observable (iOS 17+), anti-patterns, and @EnvironmentObject deprecation note - Fix @mainactor inconsistency: remove blanket annotation from ViewModel class declarations; add it only to methods that await nonisolated code and write to @observable state (matches CLAUDE.md rule #14) - Add @mainactor Placement explanation section backed by SE-0316 and SE-0466 (Swift 6.2 DefaultIsolation), clarifying why class-level is wrong for packages and when method-level annotation is required - Remove redundant @mainactor from pure-delegation methods (onAppear, onTappedRetry) — the main-actor hop happens inside the callee - Restore private modifier on loadRestaurants example - Add Router @Environment rationale callout to mvvm-c.md - Add cross-reference and DIP row clarification to swift-design-principles.md - Sync all changes to skill reference copies * docs(ARCPK-14): add Monetization/ section and register ARCPurchasing (#72) * docs(monetization): add Monetization/ knowledge section Creates ARCKnowledge/Monetization/ with four reference documents: - paywall-patterns.md: high-conversion design, timing, paywall types, checklist - pricing-strategy.md: business model matrix, subscription structure, localization, metrics - tools-references.md: RevenueCat dashboard, A/B testing, analytics, App Store Connect - integration-guide.md: Clean Architecture integration, protocol/repository pattern, launch checklist Closes #ARCPK-14 * chore(setup): register ARCPurchasing in ARC Labs Studio catalog - CLAUDE.md: adds ARCPurchasing to the Swift Packages product list and Monetization/ to the ARCKnowledge directory tree - Projects/packages.md: adds ARCPurchasing entry with module description Closes #ARCPK-14 * docs(l10n): add localization standard and /arc-localization skill (#75) Create Quality/localization.md with comprehensive standards: - Packages text-agnostic, apps own all strings - String resolution: LocalizedStringKey vs String(localized:) vs String(localized:locale:) - Navigation title, nameKey, package enum, and LanguageManager patterns Create /arc-localization skill with quick decision tree. Update skills-index.md with localization entry. * docs(tools): add agent tools reference and link from CLAUDE.md (#78) - Add Tools/agent-tools.md with comprehensive reference for: - Community iOS/SwiftUI skills (swiftui-expert, swift-concurrency, etc.) - MCPs: XcodeBuildMCP, ARC Linear GitHub, Firebase - Claude Code plugins: swift-lsp, axiom, slack - Skill load order and how to add new skills - Add single reference line in CLAUDE.md pointing to the new doc (keeps CLAUDE.md clean, detail in dedicated file)
arclabs-studio
added a commit
that referenced
this pull request
Mar 30, 2026
* chore(ci): add Claude GitHub Actions workflows (#40) - Add claude.yml: Respond to @claude mentions in issues/PRs - Add claude-code-review.yml: Automated PR code reviews - Follows ARC Labs Swift standards - Configured with CLAUDE_CODE_OAUTH_TOKEN secret * Feature/skills review (#44) * feat(skills): add worktrees workflow skill for parallel development * feat(skills): add memory and worktrees workflow skills * docs(skills): add skills index for iOS/Swift development Create comprehensive skills index document that maps when to use each skill source (ARC Labs, Van der Lee, Axiom) for iOS/Swift development tasks. Includes quick decision guide, coverage gaps matrix, and common scenario recommendations. * feat(skills): add iOS 26 Liquid Glass and @Previewable patterns Update arc-presentation-layer skill with: - iOS 26 Liquid Glass material effects (.glassEffect modifier) - Backward compatible glass implementations - Glass effect tinting patterns - Toolbar Liquid Glass treatment - @Previewable macro for SwiftUI previews (iOS 18+) - Preview best practices with multiple states - Updated related skills table with Axiom iOS 26 references * feat(skills): add memory and worktrees workflow skills * feat(skills): add arc-final-review skill for pre-merge quality checks Add comprehensive final review skill inspired by Staff iOS Engineer review patterns. The skill: - Analyzes changes by domain (SwiftUI, Concurrency, Data, Architecture) - Invokes specialized Axiom skills for each domain - Generates prioritized finalization plan with verification gates - Identifies tech debt cleanup items - Provides merge recommendation Also updates CLAUDE.md to document the new skill in the workflow. * docs: add Swift 6 concurrency patterns and Clean Architecture learnings FVRS-73 Clean Architecture audit documented key patterns: Testing: - @mainactor isolation requirements for test structs - Mock extension isolation for Swift 6 compatibility - Tag centralization to avoid "ambiguous use" errors - Mock factory best practices (avoiding false matches) Presentation: - @observable + lazy var incompatibility (use IUOs + init) - Composition Root pattern for AppCoordinator DI Architecture: - ISP: Reader/Writer protocol separation for repositories - Pure Use Cases (stateless, no dependencies) - Real-world FVRS-73 ISP example with Toggle/Get/Filter use cases * chore(security): add ARC Labs security patterns to .gitignore * Feature/audit configuration (#51) * docs(standards): rewrite CLAUDE.md with comprehensive agent guide - Add presentation layer rules (no business logic in Views or ViewModels) - Add UseCase patterns (single-responsibility + grouped with enum actions) - Add concurrency guidelines (@mainactor per-method only, never blanket) - Add multiline declaration formatting (after-first style) - Add private extension pattern for private methods - Add ARCKnowledge access configuration via submodule chain - Add complementary skills section (Axiom, Van der Lee, MCP Cupertino) - Update critical rules from 13 to 15 - Add periodic review section with /arc-audit * docs(architecture): update ViewModel, UseCase and concurrency patterns - Remove blanket @mainactor from ViewModel examples - Add @mainactor per-method on UI-bound state methods only - Add Sendable conformance to UseCase protocols and implementations - Add grouped UseCase pattern with enum actions - Add concurrency guidelines section (WWDC 2025-268) - Update anti-patterns list * docs(presentation): apply @mainactor per-method to ViewModel examples - Remove blanket @mainactor from UserProfileViewModel - Add @mainactor to onAppear(), onTappedRetry(), loadProfile() methods - Remove blanket @mainactor from ContentViewModel and HomeViewModel - Update description to emphasize ViewModels contain NO business logic * docs(testing): add mandatory UseCase testing and update ViewModel tests - Add "Testing Use Cases (Mandatory)" section with full example - Update ViewModel test examples: @mainactor per-method, not on @suite - Cover business rules, error paths, and validation in UseCase tests * docs(quality): add multiline formatting and private extension patterns - Add multiline declarations section (after-first style) - Add private extension pattern section - Update SwiftFormat config with --wrapparameters, --wrapcollections, --closingparen balanced - Update MARK section ordering in code-style.md - Remove redundant private extension for String type * docs(domain): add grouped UseCase pattern and Sendable conformance - Add grouped UseCase pattern with enum actions - Add Sendable conformance to UseCase protocol and implementation - Move private methods to private extension pattern - Add testing requirement for all UseCases - Update Domain Layer checklist with new requirements - Update MARK sections to new standard * docs(review): update checklists for @mainactor per-method and Sendable - Fix Architecture Checklist: no blanket @mainactor on ViewModels - Fix Concurrency Checklist: @mainactor per-method, Sendable on UseCases - Add private extension and UseCase testing checks * feat(skills): create /arc-audit skill for project standards compliance New comprehensive audit skill with: - 9 audit domains (Architecture, Presentation, Domain, Data, Testing, Code Style, Documentation, Accessibility, Concurrency) - Compliance grading (A-F) with severity levels - Scope support (full project, directory, single file) - Scan commands and patterns for each domain - Report template with findings and recommendations - Integration with complementary Axiom and ARC Labs skills * docs(index): add /arc-audit and /arc-final-review to skills index - Add /arc-audit and /arc-final-review to ARC Labs skills table - Add project standards audit to Quick Decision Guide - Update ARC Labs version info to Feb 2026 * Feature/skills improvement (#54) * refactor(skills): align arc-final-review with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-audit with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-memory with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-worktrees-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-data-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move data.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-tdd-patterns with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move testing.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-presentation-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move presentation.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move git-branches.md, git-commits.md, plan-mode.md to references/ subdirectory. * refactor(skills): align arc-swift-architecture with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-quality-standards with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-project-setup with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 5 supplemental files to references/ subdirectory for progressive disclosure. * Feature/arc xcode cloud (#57) * feat(ci): add arc-xcode-cloud skill and update skills index - Add .claude/skills/arc-xcode-cloud/SKILL.md with full Xcode Cloud setup guide - Update Skills/skills-index.md to include arc-xcode-cloud - Update Tools/xcode.md with Xcode Cloud section - Update CLAUDE.md skills table to include arc-xcode-cloud * docs: add arc-xcode-cloud to README skills table and documentation index * Feature/agents (#60) * feat(agents): add 6 ARC Labs subagents for autonomous task execution Introduces the agents system to ARCKnowledge. Each agent invokes skills dynamically based on the task rather than embedding all knowledge in the prompt. - arc-swift-tdd (sonnet): TDD implementation, writes tests before code - arc-swift-reviewer (sonnet): delegated code review, structured report - arc-swift-debugger (sonnet): build/test failure diagnosis, env-first - arc-spm-manager (haiku): Package.swift management and verification - arc-xcode-explorer (haiku): read-only codebase navigation and mapping - arc-linear-bridge (haiku): Linear ticket to Swift test scaffolding * docs(agents): add AGENTS.md index with trigger phrases and design principles * docs(skills): add Agents section to skills-index with routing table * docs(arc-final-review): clarify guided vs delegated review distinction * feat(arc-linear-bridge): create branch automatically after scaffolding Add mcp__ARC_Linear_GitHub__github_create_branch to tools. Execute git checkout -b locally as primary path; fall back to GitHub MCP if not in a git repo or branch already exists. * fix(arc-spm-manager): correct org URL and add ARCPurchasing, ARCAuthentication Fix GitHub org from arcdevtools → arclabs-studio. Add ARCPurchasing (RevenueCat IAP) and ARCAuthentication (SIWA + Vapor) to the known packages table with product names and domains. * feat(agents): add arc-pr-publisher and arc-release-orchestrator arc-pr-publisher: validates pre-PR checklist, creates GitHub PR, links Linear ticket, updates issue to "In Review". Closes the workflow gap between code review and merge. arc-release-orchestrator: bumps version, updates CHANGELOG, creates release branch and PR. Confirms version with user before edits. Reports manual steps (tag + App Store) after PR merge. * docs(agents): update index for 8-agent system and package table * feat(agents): add arc-testflight distribution agent Orchestrates archive → upload → TestFlight configuration. Distinct from arc-release-orchestrator (code/PR) — handles beta distribution only: tester groups, release notes, ExportOptions. * feat(agents): add arc-aso App Store Optimization agent Orchestrates 8 ASO skills (app-marketing-context, aso-audit, keyword-research, metadata-optimization, screenshot-optimization, app-store-featured, ab-test-store-listing, app-launch). Produces ready-to-upload metadata files in aso/[bundle-id]/. * feat(agents): add arc-swiftdata-migration high-risk schema agent Most conservative agent in the system. Classifies changes as lightweight vs custom, confirms before any breaking change, and enforces test-before-code for all migration plans. Invokes swiftdata-pro, axiom migration skills, arc-data-layer, arc-tdd-patterns. * feat(agents): add arc-dependency-auditor read-only audit agent Audits SPM dependencies across the project ecosystem. Detects outdated packages, version inconsistencies, and branch/revision pins. Produces a prioritized report; delegates updates to arc-spm-manager. * docs(agents): update AGENTS.md from 8 to 12 agents Add entries for arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor. Update master skills/MCPs table with all 4 new agents and their skill/MCP dependencies. * docs(skills): add 4 new agents to skills-index agents section Add arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor to the ARC Labs Agents table with model selection and trigger phrases. * Feature/swift solid pattern (#65) * docs(architecture): add swift-design-principles foundational document Six Swift-native design principles for ARC Labs Studio: Value Semantics by Default, Protocol-Driven Abstraction, Composition Over Inheritance, Well-Defined Ownership, Structured Concurrency, and Compile-Time Correctness. Includes SOLID mapping table, anti-patterns section, and full references (WWDC, Swift Evolution, Apple docs). Motivated by Fernández Muñoz's critique of SOLID in Swift and two prior sessions that refined the position: SOLID is not dead but its intent is expressed through Swift-native vocabulary and mechanisms. Co-located reference copy added to arc-swift-architecture skill references. * docs(architecture): add cross-references to swift-design-principles - solid-principles.md: add ARC Labs context note positioning SOLID as a reference framework interpreted through the Swift design principles lens - protocol-oriented.md: add cross-reference to swift-design-principles as the broader philosophical framework * docs(skills): update arc-swift-architecture with swift design principles Replace the SOLID Quick Guide section with the six Swift design principles summary. Add swift-design-principles.md as the primary architecture reference, positioned before clean-architecture.md. * docs(claude): surface swift design principles in agent guide and index - CLAUDE.md: replace bare "SOLID Principles" technical principle with the six Swift design principles and a link to swift-design-principles.md; SOLID remains referenced as a useful historical framework - Skills/skills-index.md: update arc-swift-architecture entry to mention Swift design principles alongside MVVM+C * chore(release): prepare v2.10.0 - README.md: add swift-design-principles.md to Architecture directory listing and arc-swift-architecture skill files table - CHANGELOG.md: document v2.10.0 with all added and changed files * docs(standards): add @Environment DI guidance and fix @mainactor patterns (#67) (#69) * chore(ci): add Claude GitHub Actions workflows (#40) - Add claude.yml: Respond to @claude mentions in issues/PRs - Add claude-code-review.yml: Automated PR code reviews - Follows ARC Labs Swift standards - Configured with CLAUDE_CODE_OAUTH_TOKEN secret * Feature/skills review (#44) * feat(skills): add worktrees workflow skill for parallel development * feat(skills): add memory and worktrees workflow skills * docs(skills): add skills index for iOS/Swift development Create comprehensive skills index document that maps when to use each skill source (ARC Labs, Van der Lee, Axiom) for iOS/Swift development tasks. Includes quick decision guide, coverage gaps matrix, and common scenario recommendations. * feat(skills): add iOS 26 Liquid Glass and @Previewable patterns Update arc-presentation-layer skill with: - iOS 26 Liquid Glass material effects (.glassEffect modifier) - Backward compatible glass implementations - Glass effect tinting patterns - Toolbar Liquid Glass treatment - @Previewable macro for SwiftUI previews (iOS 18+) - Preview best practices with multiple states - Updated related skills table with Axiom iOS 26 references * feat(skills): add memory and worktrees workflow skills * feat(skills): add arc-final-review skill for pre-merge quality checks Add comprehensive final review skill inspired by Staff iOS Engineer review patterns. The skill: - Analyzes changes by domain (SwiftUI, Concurrency, Data, Architecture) - Invokes specialized Axiom skills for each domain - Generates prioritized finalization plan with verification gates - Identifies tech debt cleanup items - Provides merge recommendation Also updates CLAUDE.md to document the new skill in the workflow. * docs: add Swift 6 concurrency patterns and Clean Architecture learnings FVRS-73 Clean Architecture audit documented key patterns: Testing: - @mainactor isolation requirements for test structs - Mock extension isolation for Swift 6 compatibility - Tag centralization to avoid "ambiguous use" errors - Mock factory best practices (avoiding false matches) Presentation: - @observable + lazy var incompatibility (use IUOs + init) - Composition Root pattern for AppCoordinator DI Architecture: - ISP: Reader/Writer protocol separation for repositories - Pure Use Cases (stateless, no dependencies) - Real-world FVRS-73 ISP example with Toggle/Get/Filter use cases * chore(security): add ARC Labs security patterns to .gitignore * Feature/audit configuration (#51) * docs(standards): rewrite CLAUDE.md with comprehensive agent guide - Add presentation layer rules (no business logic in Views or ViewModels) - Add UseCase patterns (single-responsibility + grouped with enum actions) - Add concurrency guidelines (@mainactor per-method only, never blanket) - Add multiline declaration formatting (after-first style) - Add private extension pattern for private methods - Add ARCKnowledge access configuration via submodule chain - Add complementary skills section (Axiom, Van der Lee, MCP Cupertino) - Update critical rules from 13 to 15 - Add periodic review section with /arc-audit * docs(architecture): update ViewModel, UseCase and concurrency patterns - Remove blanket @mainactor from ViewModel examples - Add @mainactor per-method on UI-bound state methods only - Add Sendable conformance to UseCase protocols and implementations - Add grouped UseCase pattern with enum actions - Add concurrency guidelines section (WWDC 2025-268) - Update anti-patterns list * docs(presentation): apply @mainactor per-method to ViewModel examples - Remove blanket @mainactor from UserProfileViewModel - Add @mainactor to onAppear(), onTappedRetry(), loadProfile() methods - Remove blanket @mainactor from ContentViewModel and HomeViewModel - Update description to emphasize ViewModels contain NO business logic * docs(testing): add mandatory UseCase testing and update ViewModel tests - Add "Testing Use Cases (Mandatory)" section with full example - Update ViewModel test examples: @mainactor per-method, not on @suite - Cover business rules, error paths, and validation in UseCase tests * docs(quality): add multiline formatting and private extension patterns - Add multiline declarations section (after-first style) - Add private extension pattern section - Update SwiftFormat config with --wrapparameters, --wrapcollections, --closingparen balanced - Update MARK section ordering in code-style.md - Remove redundant private extension for String type * docs(domain): add grouped UseCase pattern and Sendable conformance - Add grouped UseCase pattern with enum actions - Add Sendable conformance to UseCase protocol and implementation - Move private methods to private extension pattern - Add testing requirement for all UseCases - Update Domain Layer checklist with new requirements - Update MARK sections to new standard * docs(review): update checklists for @mainactor per-method and Sendable - Fix Architecture Checklist: no blanket @mainactor on ViewModels - Fix Concurrency Checklist: @mainactor per-method, Sendable on UseCases - Add private extension and UseCase testing checks * feat(skills): create /arc-audit skill for project standards compliance New comprehensive audit skill with: - 9 audit domains (Architecture, Presentation, Domain, Data, Testing, Code Style, Documentation, Accessibility, Concurrency) - Compliance grading (A-F) with severity levels - Scope support (full project, directory, single file) - Scan commands and patterns for each domain - Report template with findings and recommendations - Integration with complementary Axiom and ARC Labs skills * docs(index): add /arc-audit and /arc-final-review to skills index - Add /arc-audit and /arc-final-review to ARC Labs skills table - Add project standards audit to Quick Decision Guide - Update ARC Labs version info to Feb 2026 * Feature/skills improvement (#54) * refactor(skills): align arc-final-review with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-audit with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-memory with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-worktrees-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, and add Examples section. * refactor(skills): align arc-data-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move data.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-tdd-patterns with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move testing.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-presentation-layer with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move presentation.md to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-workflow with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move git-branches.md, git-commits.md, plan-mode.md to references/ subdirectory. * refactor(skills): align arc-swift-architecture with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-quality-standards with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 6 supplemental files to references/ subdirectory for progressive disclosure. * refactor(skills): align arc-project-setup with Anthropic skill guide Rewrite description field with trigger phrases, add metadata block, rename section headings, add Examples section, and move 5 supplemental files to references/ subdirectory for progressive disclosure. * Feature/arc xcode cloud (#57) * feat(ci): add arc-xcode-cloud skill and update skills index - Add .claude/skills/arc-xcode-cloud/SKILL.md with full Xcode Cloud setup guide - Update Skills/skills-index.md to include arc-xcode-cloud - Update Tools/xcode.md with Xcode Cloud section - Update CLAUDE.md skills table to include arc-xcode-cloud * docs: add arc-xcode-cloud to README skills table and documentation index * Feature/agents (#60) * feat(agents): add 6 ARC Labs subagents for autonomous task execution Introduces the agents system to ARCKnowledge. Each agent invokes skills dynamically based on the task rather than embedding all knowledge in the prompt. - arc-swift-tdd (sonnet): TDD implementation, writes tests before code - arc-swift-reviewer (sonnet): delegated code review, structured report - arc-swift-debugger (sonnet): build/test failure diagnosis, env-first - arc-spm-manager (haiku): Package.swift management and verification - arc-xcode-explorer (haiku): read-only codebase navigation and mapping - arc-linear-bridge (haiku): Linear ticket to Swift test scaffolding * docs(agents): add AGENTS.md index with trigger phrases and design principles * docs(skills): add Agents section to skills-index with routing table * docs(arc-final-review): clarify guided vs delegated review distinction * feat(arc-linear-bridge): create branch automatically after scaffolding Add mcp__ARC_Linear_GitHub__github_create_branch to tools. Execute git checkout -b locally as primary path; fall back to GitHub MCP if not in a git repo or branch already exists. * fix(arc-spm-manager): correct org URL and add ARCPurchasing, ARCAuthentication Fix GitHub org from arcdevtools → arclabs-studio. Add ARCPurchasing (RevenueCat IAP) and ARCAuthentication (SIWA + Vapor) to the known packages table with product names and domains. * feat(agents): add arc-pr-publisher and arc-release-orchestrator arc-pr-publisher: validates pre-PR checklist, creates GitHub PR, links Linear ticket, updates issue to "In Review". Closes the workflow gap between code review and merge. arc-release-orchestrator: bumps version, updates CHANGELOG, creates release branch and PR. Confirms version with user before edits. Reports manual steps (tag + App Store) after PR merge. * docs(agents): update index for 8-agent system and package table * feat(agents): add arc-testflight distribution agent Orchestrates archive → upload → TestFlight configuration. Distinct from arc-release-orchestrator (code/PR) — handles beta distribution only: tester groups, release notes, ExportOptions. * feat(agents): add arc-aso App Store Optimization agent Orchestrates 8 ASO skills (app-marketing-context, aso-audit, keyword-research, metadata-optimization, screenshot-optimization, app-store-featured, ab-test-store-listing, app-launch). Produces ready-to-upload metadata files in aso/[bundle-id]/. * feat(agents): add arc-swiftdata-migration high-risk schema agent Most conservative agent in the system. Classifies changes as lightweight vs custom, confirms before any breaking change, and enforces test-before-code for all migration plans. Invokes swiftdata-pro, axiom migration skills, arc-data-layer, arc-tdd-patterns. * feat(agents): add arc-dependency-auditor read-only audit agent Audits SPM dependencies across the project ecosystem. Detects outdated packages, version inconsistencies, and branch/revision pins. Produces a prioritized report; delegates updates to arc-spm-manager. * docs(agents): update AGENTS.md from 8 to 12 agents Add entries for arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor. Update master skills/MCPs table with all 4 new agents and their skill/MCP dependencies. * docs(skills): add 4 new agents to skills-index agents section Add arc-testflight, arc-aso, arc-swiftdata-migration, arc-dependency-auditor to the ARC Labs Agents table with model selection and trigger phrases. * Feature/swift solid pattern (#65) * docs(architecture): add swift-design-principles foundational document Six Swift-native design principles for ARC Labs Studio: Value Semantics by Default, Protocol-Driven Abstraction, Composition Over Inheritance, Well-Defined Ownership, Structured Concurrency, and Compile-Time Correctness. Includes SOLID mapping table, anti-patterns section, and full references (WWDC, Swift Evolution, Apple docs). Motivated by Fernández Muñoz's critique of SOLID in Swift and two prior sessions that refined the position: SOLID is not dead but its intent is expressed through Swift-native vocabulary and mechanisms. Co-located reference copy added to arc-swift-architecture skill references. * docs(architecture): add cross-references to swift-design-principles - solid-principles.md: add ARC Labs context note positioning SOLID as a reference framework interpreted through the Swift design principles lens - protocol-oriented.md: add cross-reference to swift-design-principles as the broader philosophical framework * docs(skills): update arc-swift-architecture with swift design principles Replace the SOLID Quick Guide section with the six Swift design principles summary. Add swift-design-principles.md as the primary architecture reference, positioned before clean-architecture.md. * docs(claude): surface swift design principles in agent guide and index - CLAUDE.md: replace bare "SOLID Principles" technical principle with the six Swift design principles and a link to swift-design-principles.md; SOLID remains referenced as a useful historical framework - Skills/skills-index.md: update arc-swift-architecture entry to mention Swift design principles alongside MVVM+C * chore(release): prepare v2.10.0 - README.md: add swift-design-principles.md to Architecture directory listing and arc-swift-architecture skill files table - CHANGELOG.md: document v2.10.0 with all added and changed files * docs(standards): add @Environment DI guidance and fix @mainactor patterns - Add Dependency Injection Strategy section to presentation.md with a decision matrix (init injection vs @Environment), @entry macro (iOS 18+), type-based @Environment for @observable (iOS 17+), anti-patterns, and @EnvironmentObject deprecation note - Fix @mainactor inconsistency: remove blanket annotation from ViewModel class declarations; add it only to methods that await nonisolated code and write to @observable state (matches CLAUDE.md rule #14) - Add @mainactor Placement explanation section backed by SE-0316 and SE-0466 (Swift 6.2 DefaultIsolation), clarifying why class-level is wrong for packages and when method-level annotation is required - Remove redundant @mainactor from pure-delegation methods (onAppear, onTappedRetry) — the main-actor hop happens inside the callee - Restore private modifier on loadRestaurants example - Add Router @Environment rationale callout to mvvm-c.md - Add cross-reference and DIP row clarification to swift-design-principles.md - Sync all changes to skill reference copies * docs(ARCPK-14): add Monetization/ section and register ARCPurchasing (#72) * docs(monetization): add Monetization/ knowledge section Creates ARCKnowledge/Monetization/ with four reference documents: - paywall-patterns.md: high-conversion design, timing, paywall types, checklist - pricing-strategy.md: business model matrix, subscription structure, localization, metrics - tools-references.md: RevenueCat dashboard, A/B testing, analytics, App Store Connect - integration-guide.md: Clean Architecture integration, protocol/repository pattern, launch checklist Closes #ARCPK-14 * chore(setup): register ARCPurchasing in ARC Labs Studio catalog - CLAUDE.md: adds ARCPurchasing to the Swift Packages product list and Monetization/ to the ARCKnowledge directory tree - Projects/packages.md: adds ARCPurchasing entry with module description Closes #ARCPK-14 * docs(l10n): add localization standard and /arc-localization skill (#75) Create Quality/localization.md with comprehensive standards: - Packages text-agnostic, apps own all strings - String resolution: LocalizedStringKey vs String(localized:) vs String(localized:locale:) - Navigation title, nameKey, package enum, and LanguageManager patterns Create /arc-localization skill with quick decision tree. Update skills-index.md with localization entry. * docs(tools): add agent tools reference and link from CLAUDE.md (#78) - Add Tools/agent-tools.md with comprehensive reference for: - Community iOS/SwiftUI skills (swiftui-expert, swift-concurrency, etc.) - MCPs: XcodeBuildMCP, ARC Linear GitHub, Firebase - Claude Code plugins: swift-lsp, axiom, slack - Skill load order and how to add new skills - Add single reference line in CLAUDE.md pointing to the new doc (keeps CLAUDE.md clean, detail in dedicated file) * docs(tools): add Xcode Build Optimization skill suite reference (#81) Documents the 6-skill suite by AvdLee for benchmarking and optimizing Xcode build times: - xcode-build-orchestrator (entry point) - xcode-build-benchmark - xcode-compilation-analyzer - xcode-project-analyzer - spm-build-analysis - xcode-build-fixer Includes usage instructions and workflow (analyze → approve → apply → verify).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Re-targeting the feature from PR #67 (accidentally merged to
main) to the correct base branchdevelop.Cherry-picked from commit
a9f9f6f.Changes
presentation.mdwith a decision matrix (init injection vs@Environment),@Entrymacro (iOS 18+), type-based@Environmentfor@Observable(iOS 17+), anti-patterns, and@EnvironmentObjectdeprecation note@MainActorinconsistency: remove blanket annotation from ViewModel class declarations; add it only to methods that await nonisolated code and write to@Observablestate (matches CLAUDE.md rule Update file name (#13) #14)@MainActorPlacement explanation section backed by SE-0316 and SE-0466@MainActorfrom pure-delegation methods@Environmentrationale callout tomvvm-c.mdswift-design-principles.mdNote
PR #67 was accidentally merged directly to
main. PR #68 (develop→main) followed. Since force-push tomainis not possible, this PR brings the feature through the correctfeature → developflow. The next develop→main merge will reconcile cleanly.