Skip to content
NeuralRepo
Get Support

iOS App

The NeuralRepo iOS app is a native SwiftUI client for the two things you do on a phone: capture an idea the moment it arrives, and find one when you need it. It talks to the same /api/v1 surface as the CLI, authenticated with the same nrp_ key, so everything you capture appears everywhere else immediately.

  1. Install the prerequisites:

    Terminal window
    brew install xcodegen # Xcode 16 or later is also required
  2. Generate the Xcode project from the checked-in definition:

    Terminal window
    cd ios
    xcodegen generate
    open NeuralRepo.xcodeproj

    The .xcodeproj is generated and git-ignored — edit project.yml and re-run xcodegen generate rather than the project file.

  3. In Xcode, select your Apple Developer team under Signing & Capabilities for all three targets: NeuralRepo, ShareExtension, and NeuralRepoWidget. They share an App Group and a Keychain access group, both already declared in project.yml.

  4. Build to a device with ⌘R.

The sign-in screen offers two paths, and both end with an nrp_ API key in the shared Keychain:

  • Sign in with Apple — native, on-device. The identity token is posted to /auth/apple/native and exchanged for a key.
  • Sign in (web) — opens /auth/cli in a ASWebAuthenticationSession, the same endpoint nrepo login uses, and returns to the app at neuralrepo://auth.

Use the same account you use on the web or in Claude — the app is a client, not a separate space. The key is stored once and read by the app, the share extension, the widget, and the Siri intent through a shared Keychain group, so you sign in a single time.

Signing out clears the key and discards anything still waiting in the offline queue, so that captures made under one account can never post under the next.

TabWhat it does
CaptureTitle, notes, a starting status, and tags with suggestions from your existing tag list
SearchSemantic search across everything you have captured
IdeasThe full list, filtered by status, with swipe actions and a context menu
ReviewPending duplicates, new connections, and ideas that have gone quiet — badged with the count
SettingsAccount and plan, theme, offline queue, and links out to the web app

The capture form offers captured, exploring, and building as starting statuses — the same three the web app’s capture modal offers — and a tag field that suggests tags you already use. Ideas post with source: ios, shown as everywhere else in NeuralRepo.

Two conveniences worth knowing:

  • Drafts survive. Backgrounding the app with a part-written idea saves it; you come back to what you were typing.
  • The form clears itself. After a successful capture the fields reset, the keyboard returns to the title, and a “Captured” toast appears for about a second and a half.

If a capture cannot reach the server, the app keeps it locally and syncs it later.

BehaviourDetail
What gets queuedOnly requests that demonstrably never reached the server — a network failure, not a rejection
WhereOne file per capture in the App Group container, so the app and the share extension can queue at the same time
OrderOldest first, so capture order and idea numbering are preserved
When it drainsOn the next successful capture, when you open the app, or from Sync now on the banner
When an item is deletedOnly after the server confirms the create
What stops a drainBeing offline, or a 401 — everything stays queued
Other errorsThe item stays queued and the drain moves on, so a capture blocked by the free-plan cap retries after you upgrade

A banner on the Capture tab and a row in Settings both show the pending count.

After a capture, the app polls for a duplicate detection three times over the next couple of seconds and, if the idea it just saved was flagged, raises a banner offering View duplicate, Dismiss, or a close button. Dismissing resolves the detection server-side so it will not come back.

This is the one surface in NeuralRepo with a duplicate banner attached to capture, and it appears after the idea is saved — detection is asynchronous, so it cannot happen before. It is Pro-only, because duplicate detections are.

Search runs the same semantic search as nrepo search, 30 results at a time. When the server falls back to keyword results — on the free plan past 10 semantic searches a month — the list is labelled Keyword results and the match percentages disappear.

Ideas filters by status with a chip bar, pages as you scroll, and supports swipe-to-archive, swipe-to-ship, a leading swipe to move to building, and a context menu for copying the title or setting any status. Opening an idea shows its body, tags, relations, and — at the bottom — id 391 · #42, which is the easiest way to read an idea’s real ID off your phone for a CLI or API call.

Review is the mobile version of the Review Queue: possible duplicates (Merge / Not a duplicate), new connections (Open / Seen it), and ideas gone quiet past your stale threshold (Keep / Develop / Archive). The tab badge shows how many cards are waiting.

Share a page from Safari, or selected text from anywhere, into NeuralRepo. The extension pulls the page title, text, and URL into a pre-filled capture form with the same status and tag controls as the app. It posts with source: ios and uses the same offline queue, so a share on the Underground still lands.

The app registers a native App Intent, so these all work without opening it:

  • “Capture to NeuralRepo”
  • “Add an idea to NeuralRepo”
  • “New idea in NeuralRepo”

Siri asks “What’s the idea?”, and the dictated text is saved with source: siri. Text longer than 200 characters is split: the first 200 become the title and the whole text becomes the body. If you are not signed in, the intent replies “Open the NeuralRepo app and sign in first”; at the free-plan cap it says so and points at Pro.

This replaces the older iCloud shortcut described in Siri Shortcuts — the intent needs no download and no API key pasted into a shortcut.

A home and lock screen widget in small and medium sizes: a New idea button that deep-links straight into the capture screen, your active idea count, and — at medium size — your four most recent ideas.

Organising work stays on the web: the mind map, the kanban board, the AI agent, tag management, bulk actions, and export are all web-app features. The iOS app is deliberately a capture-and-lookup client, and Open web app in Settings takes you to the rest.