Skip to content

Commit 02b052f

Browse files
committed
docs: Tuist 생성 프로젝트 관리 규칙 정리
1 parent c40e449 commit 02b052f

5 files changed

Lines changed: 10 additions & 11 deletions

File tree

.hermes/skills/devlog-architecture-harness/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Use this skill in the repository root when the task touches any of these areas:
2828
- Widget snapshot, App Group, or widget deep-link data flow.
2929
- Architecture diagrams, README architecture text, or PR architecture explanation.
3030

31-
This repository is an Xcode workspace-based modular iOS app. There is no root `Package.swift`; modules are separate `.xcodeproj` entries under `DevLog.xcworkspace`.
31+
This repository is a Tuist-generated, workspace-based modular iOS app. There is no root `Package.swift`; module projects are generated from `Workspace.swift` and each module's `Project.swift`.
3232

3333
## Required project context
3434

.hermes/skills/devlog-architecture-harness/references/devlog-architecture-flow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ The goal is not to make the AI decide more architecture policy. The goal is to m
88

99
Use this reference with `AGENTS.md` and `.hermes/skills/devlog-architecture-harness/SKILL.md`.
1010

11-
This repository is an Xcode workspace-based modular iOS app. There is no root `Package.swift`; modules are separate `.xcodeproj` entries under `DevLog.xcworkspace`.
11+
This repository is a Tuist-generated, workspace-based modular iOS app. There is no root `Package.swift`; module projects are generated from `Workspace.swift` and each module's `Project.swift`.
1212

1313
## High-level harness flow
1414

.hermes/skills/devlog-architecture-harness/references/devlog-workflow-rules.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ This reference holds DevLog-specific working rules that should live with the pro
1313
- Prefer Xcode Local MCP for iOS project code changes.
1414
- If Xcode Local MCP is unavailable or fails because of session transport, state that explicitly before using a fallback.
1515
- This repository is workspace-based. Prefer workspace/scheme context over standalone project builds when dependencies cross module projects.
16-
- CI truth lives in `.github/workflows/build.yml`: select Xcode 26.3, install Tuist with mise, run `tuist generate --no-open`, assert generated Xcode files are clean with `git diff --exit-code`, then build `DevLog.xcworkspace` scheme `DevLog` with `-resolvePackageDependencies`, `-skipPackagePluginValidation`, and `-skipMacroValidation`.
16+
- CI truth lives in `.github/workflows/build.yml`: select Xcode 26.3, install Tuist with mise, run `tuist generate --no-open`, then build `DevLog.xcworkspace` scheme `DevLogApp` with `-resolvePackageDependencies`, `-skipPackagePluginValidation`, and `-skipMacroValidation`.
1717
- CI is build validation, not a full test run, unless the workflow changes.
18-
- Avoid unrelated `Package.resolved` churn. Keep lockfile changes only when dependency resolution is the task.
18+
- Avoid unrelated generated project and `Package.resolved` churn. Generated Xcode workspace/project files should not be tracked unless the project explicitly changes that policy.
1919

2020
## Xcode project file work
2121

22-
- Inspect Swift imports and `.xcodeproj/project.pbxproj` framework links together.
23-
- Validate touched `project.pbxproj` files with `plutil -lint`.
22+
- Inspect Swift imports and Tuist target dependencies together.
23+
- Validate generated project structure by rerunning `tuist generate --no-open` and building the workspace.
2424
- `plutil -lint` does not prove Xcode save behavior is healthy; for Xcode save crashes, inspect crash reports and project-reference call stacks.
2525
- Do not force a single `objectVersion` across projects. Treat Xcode's actual save output as the source of truth.
2626
- For synchronized-root cleanup, verify on copied files or a narrowed rule set before touching real project files.
27-
- When removing project-file objects, distinguish stale product references, real target links, orphan build files, and plugin churn.
27+
- When changing project structure, update the Tuist manifest first and treat generated Xcode project churn as disposable output.
2828

2929
## PR and review handling
3030

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ These instructions apply only to the repository root.
2727

2828
Use this harness before any task that changes module boundaries, file ownership, layer dependencies, DI assembly, repository/service contracts, widget data flow, Firebase dependency placement, or architecture documentation.
2929

30-
Treat this repository as an Xcode workspace-based modular iOS app. There is no root `Package.swift`; modules are separate `.xcodeproj` entries under `DevLog.xcworkspace`.
30+
Treat this repository as a Tuist-generated, workspace-based modular iOS app. There is no root `Package.swift`; module projects are generated from `Workspace.swift` and each module's `Project.swift`.
3131

3232
### Mandatory flow
3333

@@ -89,7 +89,7 @@ These may proceed after inspection when they do not change architecture meaning:
8989
- If iOS project code changes, test build with Xcode Local MCP.
9090
- If Xcode Local MCP is unavailable, state that explicitly before using a fallback.
9191
- Do not claim architecture work is complete without checking the diff scope.
92-
- Do not spend time on unrelated lockfile churn. Keep `Package.resolved` changes only when they are part of the requested task.
92+
- Do not spend time on unrelated generated project or lockfile churn. Keep generated workspace/project and `Package.resolved` changes out of source control unless they are part of an explicitly approved dependency-lock policy.
9393
- For Firebase Cloud Functions, deploy updated functions one by one separately.
9494

9595
## Canonical project rules

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ MVVM을 기반으로 하되, ViewModel 상태 관리에는 MVI 형태의 단방
154154

155155
## 개발 도구
156156

157-
- Xcode 프로젝트와 워크스페이스는 Tuist manifest를 기준으로 생성
157+
- Xcode 프로젝트와 워크스페이스는 Tuist manifest를 기준으로 생성하며 Git은 생성물을 추적하지 않음
158158
- `.mise.toml`에서 Tuist 버전을 고정
159159
- `Project.swift`, `Workspace.swift`, `Tuist/ProjectDescriptionHelpers` 변경 후 아래 명령으로 Xcode 프로젝트 재생성
160160

@@ -168,7 +168,6 @@ tuist generate --no-open
168168

169169
```text
170170
SwiftUI_DevLog/
171-
├── DevLog.xcworkspace
172171
├── Tuist.swift
173172
├── Workspace.swift
174173
├── .mise.toml

0 commit comments

Comments
 (0)