One Shot is delivered as a git repository, and you build your product directly on top of it, then
pull kit updates into your own repository for as long as your license stays active. Your app stays
yours permanently either way: everything you've already cloned keeps working whether or not you
renew. An active license is specifically what keeps your access to the delivery repository, and
therefore to *new* releases going forward.

## One-time setup

Add the kit as a second git remote when you start your project:

```bash
git remote add oneshot https://github.com/wbnns/shiponeshot.git
# or, with an SSH key on your GitHub account:
# git remote add oneshot git@github.com:wbnns/shiponeshot.git
```

## Pulling an update

```bash
git fetch oneshot
git merge oneshot/main        # or cherry-pick specific tagged releases instead
bin/rails db:migrate
bin/check                     # must be green before you continue
```

Review `CHANGELOG.md` for what actually changed and whether it calls out any manual steps beyond
the migration.

## Next

Read what keeps this merge from turning into a multi-hour conflict resolution session:
[Keeping Merges Clean](/docs/upgrading-releases/keeping-merges-clean).
