A project specification is easier to inspect than a large opaque project-file diff, but generation is still a build input. Review the generated target, files and deployment settings before trusting a successful command.
- 1Description
- 2Project specification
- 3Generated project
- 4Build scheme
Work through the example
Compare the checked-in Reading List project.yml with its Xcode project. Identify the app target and test targets without changing signing settings.
Start with a disposable branch and synthetic data. Write the expected outcome before changing the implementation, then keep the first failing result. This prevents a later repair from quietly redefining the task. The procedure below is grounded in the repository reference; its examples must still be checked against your project and installed toolchain.
Implementation reference
The following focused section is adapted from the maintained project guide. It preserves the source’s examples and limitations.
1. The layout
MyApp/
├── App/ # the user's source — the only directory they edit
│ ├── MyApp/
│ └── MyAppTests/
├── README.md
├── LICENSE
├── .gitignore
└── .ios-agent/ # tool-owned; deleting it loses nothing
├── .gitignore # generated
├── config.json # tracked
├── state.json
├── metadata.json
├── cache/
├── logs/
├── build/
├── screenshots/
├── templates/ # tracked
├── plugins/ # tracked
└── tmp/
With --minimal, the whole project is MyApp/App/, and .ios-agent/
materialises the first time a command needs it.
Acceptance and failure review
| Checkpoint | What to inspect | If it does not match |
|---|---|---|
| Description | Confirm the input and environment | Preserve the failure and return to this step |
| Project specification | Inspect the intermediate artifact | Preserve the failure and return to this step |
| Generated project | Run the focused check | Preserve the failure and return to this step |
| Build scheme | Record the observed result | Preserve the failure and return to this step |
Ask the agent to explain the smallest change that resolves the observed mismatch. Keep unrelated refactors out of the repair. A change that makes a warning disappear is not enough if the behavior or ownership contract has changed. Re-run the same acceptance check so the before and after results are comparable.
Evidence and limits
XcodeGen is not on the current PATH; the checked-in project builds without regeneration.
This is an educational guide. Its presence in the series does not certify a completed client-specific lab. The series evidence record separates executed checks from exercises and blocked environments.
Inspect the source used in this lesson.
Related reading
- ChatGPT and Codex: plan the app, then verify it locally
Separate a browser planning session from a connected development environment.
- Review AI-generated Swift before you trust it
A focused review, a small patch and a real test beat a confident completion message.
What to do next
Next: Running and seeing your app: simulator boot, install, launch, screenshot from the agent