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.

Description → Project specification → Generated project → Build scheme
  1. 1Description
  2. 2Project specification
  3. 3Generated project
  4. 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.

What to do next

Next: Running and seeing your app: simulator boot, install, launch, screenshot from the agent