Repository inventory

tddworks/claude-skills

Skills indexed from this repository, with install-style signals scoped to the repo.
3 skills66 GitHub stars0 weekly installsHTMLGitHubOwner profile

Overview

This skill scaffolds a new iOS app using Tuist, Swift 6, and a layered architecture (Domain, Infrastructure, App). It creates a ready-to-generate Xcode workspace, Swift package entries, xcconfig-based build settings, and example files to jumpstart development. Use it to enforce clean separation of concerns and accelerate project setup.

How this skill works

The scaffold script generates a Tuist Project.swift, Tuist.swift, and a Sources/ tree organized into Domain, Infrastructure, and App layers, plus Tests. It seeds example models, protocols annotated for @Mockable, SwiftData repository stubs, SwiftUI app entry points, and xcconfig files for signing and version management. After running the script you run tuist generate and open the workspace to start implementing features.

When to use it

  • Creating a brand new iOS app project with Tuist
  • Setting up a layered/clean architecture (Domain, Infrastructure, App)
  • Bootstrapping Swift 6 projects with SwiftData and SwiftUI examples
  • Initializing consistent build settings and versioning via xcconfig and Project.swift
  • When you want testable repository protocols with @Mockable support

Best practices

  • Replace and rename example files immediately (Example.swift, ExampleRepository.swift) to match your domain
  • Keep Domain layer business logic dependency-free and testable
  • Declare repository protocols in Domain and implement persistence in Infrastructure only
  • Manage app versions and build numbers in Project.swift, reference them in Info.plist via build settings
  • Add external Swift packages in Project.swift and wire them into target dependencies
  • Use xcconfig files (shared/debug/release) for signing, bundle id, and deployment target to keep configurations reproducible

Example use cases

  • Scaffold a new consumer app called MyApp with bundle and team IDs and immediately run tuist generate
  • Create a prototype where Domain models contain business rules and the Infrastructure layer uses SwiftData for persistence
  • Set up CI that bumps MARKETING_VERSION and CURRENT_PROJECT_VERSION in Project.swift before building
  • Start a test-driven workflow using @Mockable repository protocols and DomainTests
  • Standardize new internal projects with uniform xcconfig signing and deployment targets

FAQ

Yes. Run the scaffold script to create the project, then use tuist generate to produce the workspace. Tuist must be installed and available on your PATH.

Where do I change the bundle id and team id?

Pass --bundle-id and --team-id to the scaffold script or edit Sources/App/Resources/XCConfig/shared.xcconfig to set PRODUCT_BUNDLE_IDENTIFIER and DEVELOPMENT_TEAM.

How do I add third-party packages?

Add package declarations to the packages array in Project.swift, then include the package product in the target dependencies section for the relevant target.

3 skills

More from this maintainer
Other repositories and skills published under the same GitHub owner.
Skills library
Jump back to the full directory or explore grouped topics.
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational