A useful gitignore keeps generated artifacts and private local state out of commits without hiding reproducible inputs. Treat every new ignore pattern as a scope decision.
- 1Classify file
- 2Source or generated?
- 3Ignore narrowly
- 4Inspect git status
Work through the example
Prompt: Propose ignore rules for build output and local evidence, but keep project specs, tests and shared configuration tracked.
One practical example
Use the prompt above on one small, named part of your app. Before accepting an edit, ask the agent to point to the source or configuration that supports its answer. If it cannot locate that context, resolve the missing input before expanding the task.
In the diagram, each arrow represents a handoff you can inspect. Keep the intermediate result rather than jumping directly to the final claim. For example, a reported finding should retain its location, and an executed check should retain its outcome. This gives the next attempt a concrete starting point and makes a misleading completion message easier to challenge.
Apply it to your project
Prompt: Propose ignore rules for build output and local evidence, but keep project specs, tests and shared configuration tracked. Then compare the resulting diff with the original request. If it changed a neighboring concern, ask why that change was necessary. Save the result only after the relevant check has run, and record any part that remains unverified.
Evidence and limits
Ignoring a secret after committing it does not remove it from history.
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
- How can Claude Code hooks protect generated files and verify a project before stopping?
A tested generated-file guard and Stop check, with configuration, reproducible exit codes, and enforcement limits.