skills/derklinke/codex-config/tuist-best-practices

tuist-best-practices

SKILL.md

Tuist Best Practices

When to use

  • editing Tuist manifests or adding targets
  • updating project structure or shared helpers
  • generating Xcode projects or debugging Tuist behavior

Repo layout

  • root config in Tuist.swift
  • shared helpers in Tuist/ProjectDescriptionHelpers
  • iOS manifest in Project.swift (often under ios/ but not required)
  • prefer repo-provided task runner (just, make, etc.) for generate/build/test/open
  • if using tuist xcodebuild, keep subcommand first to avoid argument reorder issues

Manifests

  • Project.swift: root variable should be let project = Project(...)
  • Workspace.swift optional; Tuist auto-generates workspace with project + dependencies
  • Tuist.swift recommended; Tuist walks up dirs to find it, so running from ios/ still uses root config

Code sharing

  • place helpers in Tuist/ProjectDescriptionHelpers
  • import with import ProjectDescriptionHelpers in manifests
  • helpers available in Project.swift, Workspace.swift, and Package.swift (behind #TUIST)

Caching

  • tuist cache builds binaries; tuist generate/test use binary cache by default when available
  • opt out with --no-binary-cache
  • binary cache is for dev/test, not release builds

Change workflow

  • add targets/settings in Project.swift using helpers
  • after adding files or project changes: run repo generate task (e.g. just generate)
  • avoid running xcodebuild directly

References

  • Tuist docs: manifests, directory structure, code sharing, module cache, config (docs.tuist.dev)
Weekly Installs
3
GitHub Stars
7
First Seen
Jan 27, 2026
Installed on
cursor2
codex2
claude-code2
gemini-cli2
replit1
amp1