Skip to content

Git Intelligence

Git Intelligence scans your project repositories to extract structured insights: milestones, branch classifications, commit frequency and contributor activity. It runs automatically when you open a profile and feeds data into the Progress panel, Blueprint system and agent context.

What it does

When you open a project profile that contains a Git repository, Git Intelligence reads the local .git history and produces a structured summary. Agents receive this summary as part of their system prompt context, giving them awareness of your project's shape, release cadence, branch strategy and recent activity without you needing to explain it.

The service extracts:

Data pointSourceDescription
MilestonesSemver tagsVersion ranges with commit counts, dates and parent tags
BranchesLocal + remote refsClassified as active, stale or merged
Conventional commitsCommit messagesWhether the repo follows conventional commit conventions
Commit frequencyCommit timestampsWeekly and monthly buckets with per-contributor breakdowns
Repository ageFirst commit dateHow long the project has been under version control
Default branchHEAD refThe primary branch name (e.g., main, master)

Two-pass scanning

Git Intelligence uses a two-pass architecture to keep the UI responsive while still providing deep analysis.

Quick scan

The quick scan runs immediately when you open a profile. It reads tags, branches and the most recent 100 commits. This pass completes in under a second for most repositories and populates the summary card and milestone timeline right away.

Detailed scan

The detailed scan runs in the background after the quick scan finishes. It analyses the full commit history to build frequency data, contributor breakdowns and weekly/monthly activity buckets. A progress indicator in the Git Intelligence section shows the current phase, how many commits have been processed and the active step.

Both scans are cached by the repository's HEAD hash. If the HEAD has not changed since the last scan, cached results are used immediately with no disk I/O.

Requirements

Git Intelligence requires Git version 2.20 or later installed on your system. The service checks the installed version at startup and logs a warning if the version is too old.

To check your version, run:

git --version

If you are on an older version, update Git through your system package manager or download the latest release from git-scm.com.

Graceful fallback

Not every project profile points to a Git repository. Git Intelligence handles this cleanly:

  • No .git directory: the Git Intelligence section is hidden entirely. No errors, no empty states.
  • Git not installed: the service logs a warning at startup and disables itself. The rest of Ironspire works normally.
  • Git version too old: same behaviour as "not installed". A log entry notes the required minimum version.
  • Scan errors: if a scan fails mid-way (e.g., corrupted refs), the service returns whatever data it collected successfully and logs the error. Partial results are still displayed.

Where to find it

Git Intelligence lives in the Progress panel in the right sidebar. Open the panel by clicking Progress in the sidebar section list or by dragging it from the section picker.

The Git Intelligence section appears below the Blueprint progress cards. It contains three components:

  1. Summary card: high-level repository statistics
  2. Milestone timeline: visual history of tagged releases
  3. Activity heatmap: commit frequency over time

Each of these is covered in detail on the Repository Insights page.

If you connect a GitHub Personal Access Token, Git Intelligence gains additional capabilities: pull request data, issue tracking, release notes and automatic Blueprint population. See the GitHub Sync page.

How agents use it

When Git Intelligence has data for the active profile, agents receive a <git-context> block in their system prompt. This block includes:

  • Repository age and total commit count
  • Current milestone (latest semver tag) and its commit count
  • Branch summary (active, stale and merged counts)
  • Whether the project uses conventional commits
  • Recent contributor names

Agents use this context to make better decisions about branching strategy, version numbering, commit message style and release scope. You do not need to tell agents about your Git workflow; they infer it from the scanned data.

For example, if Git Intelligence detects conventional commits and semver tags, an agent asked to "prepare a release" will know to bump the version according to semver rules and write a changelog grouped by commit type. Without Git Intelligence, you would need to explain these conventions in every conversation.

Scanning performance

Scan times depend on repository size:

Repository sizeQuick scanDetailed scan
Small (< 1,000 commits)< 100ms< 500ms
Medium (1,000 - 10,000 commits)< 200ms1 - 3 seconds
Large (10,000+ commits)< 500ms5 - 15 seconds

The quick scan is always fast because it only reads the most recent 100 commits. The detailed scan scales linearly with repository size but runs entirely in the background without blocking the UI.

Progress indicator

While the detailed scan is running, the Git Intelligence section header shows a progress indicator with three pieces of information:

  • Phase: whether the quick or detailed scan is active
  • Processed / Total: how many commits have been analysed out of the total
  • Current step: the specific operation in progress (e.g., "Analysing commit frequency" or "Classifying branches")

The progress indicator disappears once both scans complete. If you switch profiles mid-scan, the in-progress scan is cancelled and a new scan begins for the new profile.

Conventional commit detection

Git Intelligence examines commit messages to determine whether your repository follows conventional commit conventions (e.g., feat:, fix:, refactor:, docs:). This detection influences two things:

  • Agent behaviour: if conventional commits are detected, agents adopt the same prefix style when composing commit messages
  • Blueprint population: when GitHub Sync is active, conventional commit prefixes are used to group commits into Blueprint phases by type (feature work, bug fixes, refactoring, documentation)

The detection uses the most recent 100 commits from the quick scan. If more than half follow conventional commit patterns, the repository is classified as using them.

Per-profile isolation

Each profile maintains its own Git Intelligence cache. If you have three profiles pointing to three different repositories, each gets an independent scan, cache and set of insights. Switching between profiles loads the cached data for that profile instantly (assuming HEAD has not changed).

This also means that two profiles pointing to the same repository directory will each run their own scan. The results will be identical, but the caches are not shared between profiles.

Next steps