| schema | ||
| scripts | ||
| .gitignore | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| Makefile | ||
| README.md | ||
| TASKS.md | ||
| versions.lock | ||
ThisNextToThat
Common tasks across the project's three sub-repos (app/, data/, editor/)
are driven by make from this directory. Run make help to list everything.
For project architecture and the data format, see the CLAUDE.md files and
schema/things_format.md.
Make targets
Data pipeline
| Command | What it does |
|---|---|
make data |
Run the full pipeline, validate the output, and copy data.things into the app bundle. |
make validate |
Validate the app's current data.things against the schema. |
make check-sync |
Report whether the app's data.things matches the last pipeline run (OK / DRIFT / STALE). |
Cross-repo git
| Command | What it does |
|---|---|
make status |
Print the branch and short git status of all three sub-repos. |
make pull |
git pull in every repo (umbrella + app/data/editor). |
make push |
git push in every repo. |
make sync |
git pull then git push in every repo. |
Repos without a configured upstream are skipped. One repo failing doesn't stop
the others; the command exits non-zero if any failed. make pull/sync move
each repo to its remote's latest — they do not consult versions.lock.
Version pinning
versions.lock records which commit of each sub-repo go together — a
lightweight way to remember a known-good combination.
| Command | What it does |
|---|---|
make lock |
Record each sub-repo's current commit into versions.lock. |
make restore |
Check each sub-repo out to the commit in versions.lock. |
make restore skips any repo with uncommitted changes or whose recorded commit
isn't present locally (run make pull first), and lands in detached HEAD at
the recorded commit. Re-attach afterward with git -C <repo> checkout main.
Misc
| Command | What it does |
|---|---|
make help |
List all targets. |
make open-app |
Open the iOS app in Xcode. |
Typical workflows
Rebuild the data and load it into the app
make data # pipeline → validate → copy into app bundle
make open-app # build/run in Xcode
Record a known-good combination after committing across repos
# commit your changes in app/, data/, editor/ as needed
make sync # push all repos
make lock # record their commits
git add versions.lock && git commit -m "Pin known-good combination"
Reproduce that combination later
make pull # ensure the recorded commits exist locally
make restore # check out each sub-repo to versions.lock (detached HEAD)
# ... when done ...
git -C app checkout main; git -C data checkout main; git -C editor checkout main