Skip to content

Commit 96c6afb

Browse files
authored
Merge pull request #67 from nativeapptemplate/link-substrate-contract
contributing: link to rename-safety contract
2 parents 95b03eb + f754101 commit 96c6afb

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,16 @@ Architecture: Simple MVVM Layered Architecture with `@Observable` state manageme
4848
- Tests use [Swift Testing](https://developer.apple.com/xcode/swift-testing/).
4949
- Place new tests alongside existing ones mirroring the source structure.
5050

51+
## Rename safety
52+
53+
This substrate is consumed by [`nativeapptemplate-agent`](https://github.com/nativeapptemplate/nativeapptemplate-agent), which mechanically renames `Shop`, `Shopkeeper`, and `ItemTag` (and all their case forms — PascalCase, snake_case, camelCase, flat, UPPER_SNAKE, humanized lower/title/sentence × singular/plural) to user-chosen target words. Some patterns that read fine in this repo break when renamed.
54+
55+
Before merging changes that touch user-facing strings, test descriptors, or comments mentioning domain entities, read the [substrate rename-safety contract](https://github.com/nativeapptemplate/nativeapptemplate-agent/blob/main/docs/SUBSTRATE-CONTRACT.md).
56+
57+
**Quick rule of thumb:** avoid `"a"` / `"an"` directly preceding `Shop`, `Shopkeeper`, or `ItemTag` (or their humanized forms) — write self-contained or article-free phrasings instead.
58+
59+
**Failure mode this prevents:** a string like `"Swipe an item tag to ..."` reads correctly here but produces `"Swipe an patient to ..."` after the rename pipeline substitutes a consonant-starting word like `Patient`.
60+
5161
## Development Setup
5262

5363
See [README.md](README.md) for full setup instructions.

0 commit comments

Comments
 (0)