-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.gitignore
More file actions
92 lines (81 loc) · 3.39 KB
/
Copy path.gitignore
File metadata and controls
92 lines (81 loc) · 3.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# Secrets / credentials
*.pem
*.p8
*.p12
*.mobileprovision
*.cer
.env
.env.*
!.env.example
# secrets/ — deny everything (PEMs, API keys, .env files) EXCEPT committed
# templates (*.example) and the optional top-level README.md. See PR1 of the
# AdMob secret-injection migration for the rationale + file inventory.
secrets/**
!secrets/*.example
!secrets/README.md
# Apple Developer signing — DEVELOPMENT_TEAM lives in this gitignored xcconfig.
# Template (committed): Tuist/Signing.xcconfig.example
Tuist/Signing.xcconfig
# AdMob App ID + banner unit ID — referenced from both apps' Info.plist via
# $(ADMOB_APP_ID) / $(ADMOB_BANNER_UNIT_ID). Generated locally from
# .example; generated in CI from XCC env vars by ci_post_clone.sh.
# Template (committed): Tuist/AdMob.xcconfig.example
Tuist/AdMob.xcconfig
# App Store Connect app id — referenced from both apps' Info.plist via
# $(APP_STORE_ID) (#744: Share App / Write a Review rows). Generated locally
# from .example; generated in CI from XCC env vars by ci_post_clone.sh.
# Template (committed): Tuist/AppStore.xcconfig.example
Tuist/AppStore.xcconfig
# Xcode / build
DerivedData/
build/
xcuserdata/
*.xcuserstate
.swiftpm/
.build/
# Tuist-generated artifacts. Source of truth is Project.swift; never commit the
# generated *.xcodeproj / *.xcworkspace. Regenerate with `tuist generate`.
*.xcodeproj/
*.xcworkspace/
Derived/
.tuist-bin/
.tuist-cache/
# macOS
.DS_Store
# Personal notes / drafts
*.private.md
NOTES.md.private
# Local development secrets directory (chmod 600 PEMs / API keys live here)
.config/
!.config/example/
# IDE
.vscode/
.idea/
# LicensePlist-generated Settings.bundle (regenerated by Xcode Cloud
# `ci_scripts/ci_post_clone.sh`; `license_plist*.yml` are the sources of truth).
# Root.plist is the exception: it's the mandatory Settings.bundle entry point
# (PSChildPaneSpecifier -> Acknowledgements) that LicensePlist never writes —
# it must be a committed seed, not gitignored generated output (#721), AND its
# directory must physically exist before `tuist generate` runs (Tuist's glob
# below only wires up a folder Xcode later re-scans at build time if at least
# one match exists at generate time). #832: single-sourced content — each
# per-app Root.plist is a tracked BYTE-COPY of the one real file at
# `App/Shared/Settings.bundle/Root.plist`, resynced by `mise run
# gen:settings_root` (runs before every tuist generate + in CI post-clone) —
# edit ONLY the App/Shared source; direct edits to a per-app copy are
# silently overwritten on the next generate (a second Tuist resource entry
# pointing straight at the shared path was tried and reverted: two different
# source folders both landing at `Settings.bundle` in the same target collide
# with Xcode's "Multiple commands produce" once license-plist's per-app
# output exists alongside it).
App/Sudoku/Resources/Settings.bundle/*
!App/Sudoku/Resources/Settings.bundle/Root.plist
App/Minesweeper/Resources/Settings.bundle/*
!App/Minesweeper/Resources/Settings.bundle/Root.plist
.claude/worktrees/
# Sub-package Package.resolved — top-level SudokuKit pins everything; per-leaf-pkg resolveds are noise (Stage 2 precedent, TelemetryKit/SudokuCoreKit don't ship one).
# SudokuKit's + MinesweeperKit's own resolveds ARE committed (mirror parity, #747)
# so both app packages pin identical third-party versions.
Packages/*/Package.resolved
!Packages/MinesweeperKit/Package.resolved
.claude/scheduled_tasks.lock