Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Sync Issues with Git

An in-repo project’s issue store is just files in .nitpin/. That means git can carry your captures to teammates, other machines, and CI, with nitpin doing the commit-and-push chores for you.

What syncs

When a project is linked to a git repo with a remote, nitpin keeps the issue store in sync: your issues, screenshots, notes, comments, and resolutions. Two per-project choices in Project Settings › Issue Sync shape it:

  • Where the store syncsnitpin/issues (default: issue commits stay off your main branch on a dedicated branch) or main (issue commits ride along with the code). This is independent of where code fixes land.
  • Share triage groups — whether the triage clustering syncs too, or stays local.

Claims always stay local. Which agent on your machine holds what is never anybody else’s business.

The sync pill

The Cockpit’s status bar shows sync at a glance: a calm check at rest, ↑ N when commits are waiting to push, Saved when you’re offline (everything is committed locally and pushes when you’re back), and Sync error when something needs a look. Tap it to Sync now.

From a terminal:

nitpin sync            # commit, pull, push — the full round trip
nitpin sync --push     # commit + push only
nitpin sync --pull     # pull only

Joining a project from a repo

If a teammate’s repo already carries a .nitpin/ store, you don’t set anything up:

nitpin clone https://github.com/team/app     # clone + open its project in one step

— or use New Project… › Clone from Git in the app. Cloning an ordinary repo without a store creates one for it.

Trust, exactly bounded

nitpin’s git behavior is deliberately narrow, and enforced in code — not by convention:

  • it stages only the .nitpin/ store — never your code;
  • it only ever runs add / commit / fetch / pull –rebase / push (and non-destructive worktree bookkeeping); it never force-pushes, resets, cleans, or rewrites history;
  • its work happens on a hidden checkout, never your working branch, so a sync can’t disturb what you have open;
  • it stores no credentials, riding your existing git setup (SSH agent, credential helpers).

Code fixes are different: those commits are made by your coding agent under the project’s landing setting, not by nitpin.