umbrella repo for thisnextotthat project
Find a file
2026-10-26 20:43:51 -07:00
schema Document Poly.depth draw-order field in things format 2026-07-08 22:12:33 -07:00
scripts Add SHA and commit age columns to git-status; update TASKS and lock 2026-06-28 21:29:30 -07:00
.gitignore Initialize umbrella repo for cross-repo orchestration 2026-05-31 10:59:43 -07:00
AGENTS.md Add AGENTS.md; reorganize TASKS.md into TODO/CONTENT/DONE 2026-06-06 22:06:42 -07:00
CLAUDE.md Move shell scripts into scripts/ directory 2026-05-31 12:24:42 -07:00
Makefile Fix help text alignment, typo, add task, and relock versions 2026-10-26 20:43:51 -07:00
README.md Trim README to make targets and workflows 2026-05-31 12:04:57 -07:00
TASKS.md Fix help text alignment, typo, add task, and relock versions 2026-10-26 20:43:51 -07:00
versions.lock Fix help text alignment, typo, add task, and relock versions 2026-10-26 20:43:51 -07:00

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