- Fetch from GitHub immediately on app open (and on workspace switch) instead of waiting up to ~67s for the first interval tick. Reopening the app after the agent pushed remotely now reconciles right away, closing the window where a stale local state could overwrite remote commits on the next push.
- Show an incoming-commits indicator (↓N) on the sync button when the remote is ahead, and surface both sides (↓N ↑N) when local and remote have diverged — mirroring VSCode's source-control counts. Sync status now reports
ahead/behindcommit counts derived from theorigin/<branch>tracking ref.
- Add
apps/website: a Next.js (App Router, Tailwind v4) marketing landing page for Memento, served on port 3002. Dark brutalist-editorial layout with vertical grid lines, sticky-stacking project cards, and sections for hero, screenshots, story, and a macOS download CTA. Builds static vianext build.
- Add GitHub sync so Memento can be a local editor over a private GitHub repo (e.g. an AI agent's memory layer). Connect by pasting a GitHub Personal Access Token (with the
reposcope) — it's validated against the GitHub API and then stored in the macOS Keychain, never on disk or in.git/config; an invalid token is rejected and nothing is saved. Pick a repo from the welcome screen and it clones to~/Desktop/Memento/<repo>/, opens as the workspace, and writes a~/.memento/state.jsonpointer so external agents/scripts can find the markdown without git or a token. If that path already holds a clone of the same repo (e.g. you reconnected after a previous run), it's reused instead of erroring; only an unrelated directory at the path is rejected. - Keep the local copy fresh automatically: the app fetches and fast-forwards on an interval, on window focus, and on tab visibility. Fast-forward only runs when the working tree is clean, so a fetched change reloads the open editor as fresh remote content without touching in-progress edits.
- Add a VSCode-style Source Control view: a top-right sync button shows the live change count and opens a Source Control tab listing every changed file with a side-by-side diff (CodeMirror merge), per-file Discard, and a commit-message box + Push. The tab also has a Changes/History toggle; History lists recent commits grouped by day. The button's menu offers Push now, Fetch now, View changes, and Sign out of GitHub.
- Add a Stats page: a GitHub-style commit-activity heatmap plus headline counts (total commits, commits this week, current daily streak, last commit) built from the repo's local git history.
- Add File, View, GitHub, and Go menus to the macOS menu bar, with keyboard accelerators routed to the matching in-app actions.
- Push all local changes in one commit on click, fetching-and-retrying if the remote moved. If the local copy diverged and can't fast-forward, a banner offers Push or (confirm-gated) Discard local — changes are never silently overwritten.
- Transport uses embedded libgit2 (
git2), so there is no dependency on a systemgit. Adds thecom.apple.security.network.cliententitlement required for outbound HTTPS under the hardened runtime.