Skip to content

by the numbers

Zachary BENSALEM edited this page Aug 15, 2026 · 1 revision

By the numbers

Data collected on 2026-08-15.

A quantitative snapshot of Qredence/fleet-prime-agent at main, HEAD 94c724c1e (4556 commits). All counts were produced by the commands listed with each section, run from the repo root. Line and file counts exclude node_modules, dist, .git, .claude/worktrees, the untracked droid-wiki/, and the lockfiles package-lock.json and pnpm-lock.yaml. Where a figure is approximate or includes generated code, it is flagged as such.

Size

Lines of code by language (a single file can contain multiple; counts include test code and the generated models.generated.ts, which alone is 20,577 lines).

xychart-beta
    title "Lines of code by language"
    x-axis [TS, Markdown, TSX, Python, MJS, JS, JSON, Shell, CJS]
    y-axis "Lines" 0 --> 400000
    bar [374422, 47696, 19677, 5057, 4205, 3203, 2439, 909, 28]
Loading
  • TypeScript .ts: 374,422
  • Markdown .md: 47,696
  • TSX .tsx: 19,677
  • Python .py: 5,057
  • ES modules .mjs: 4,205
  • JavaScript .js: 3,203
  • JSON .json: 2,439
  • Shell .sh: 909
  • CommonJS .cjs: 28

Counted with find . -name "*.<ext>" -not -path "*/node_modules/*" -not -path "*/dist/*" ... -type f | xargs wc -l per extension. The TS figure includes the generated packages/ai/src/models.generated.ts (20,577 lines); excluding it, the hand-written TypeScript total is about 355,500 lines.

File counts across the repo:

Kind Count
Source files (.ts/.tsx/.py/.sh/.js/.mjs/.cjs, non-test) 932
Test files (.test.*/.spec.*/test_*.py) 440
Config files (JSON/YAML/TOML/JSONC, excl. lockfiles) 78

Total .ts/.tsx files (including tests): 1,302. Python files: 36. Counted with find filtering by extension and name, excluding the paths above.

Monorepo package count

Workspace Packages Count
npm (packages/) ai, agent, tui, coding-agent 4
pnpm web (web/) app, server, design, protocol 4
Python prime-agent-runtime 1

Activity

Commits per month (full history on main). The repo's first commit is dated 2025-08-09. The peak was January 2026 (1,224 commits); activity then settled to a 150-450 commit-per-month range.

Month Commits
2025-08 85
2025-09 53
2025-10 129
2025-11 280
2025-12 872
2026-01 1,224
2026-02 377
2026-03 418
2026-04 456
2026-05 146
2026-06 184
2026-07 192
2026-08 137

Counted with git log --format="%ad" --date=short | cut -c1-7 | sort | uniq -c. Last 6 months (2026-02 to 2026-08) total 1,910 commits, about 318 per month.

Churn hotspots, last 90 days

Most-changed files, by number of commits touching them since 2026-05-17 (git log --since="90 days ago" --name-only --format="" | sort | uniq -c | sort -rn):

Commits File
224 packages/coding-agent/CHANGELOG.md
134 packages/coding-agent/src/modes/interactive/interactive-mode.ts
87 packages/coding-agent/src/modes/daemon/daemon-mode.ts
80 packages/coding-agent/src/core/agent-session.ts
78 package-lock.json
62 packages/coding-agent/package.json
56 package.json
53 packages/ai/package.json
51 packages/coding-agent/test/interactive-mode-status.test.ts
51 packages/coding-agent/src/modes/daemon/daemon-protocol.ts
48 packages/coding-agent/src/modes/agent-connection/types.ts
47 packages/coding-agent/src/modes/agents-view/agents-view-mode.ts

Most-active directories (same command, path trimmed to directory):

Commits Directory
937 packages/coding-agent/test
377 packages/coding-agent/src/core
275 packages/coding-agent/src/modes/daemon
225 packages/coding-agent/src/modes/interactive/components
158 packages/coding-agent/src/modes/interactive
155 packages/coding-agent/src/modes/agent-connection
146 packages/coding-agent/docs
130 packages/coding-agent/test/suite/regressions
99 packages/ai
92 packages/tui
84 packages/ai/test
78 packages/agent

The churn is concentrated in coding-agent, which hosts the daemon, the interactive terminal mode, and the agent session core.

Bot-attributed commits

As of HEAD, main has 4,556 commits. Bot attribution was measured two ways and combined:

  • Author is a bot identity: git log --format="%H" --author="\[bot\]" → 126 commits. The only bot authors present in history are github-actions[bot] and dependabot[bot].
  • Body contains a bot Co-authored-by: trailer: 1 additional commit whose author is not a bot.
  • Union of the two sets: 127 commits, 2.8% of the total.

Counted with git log --format="%H %b" filtered for Co-authored-by:.*[bot], deduplicated by commit hash against the bot-author set. factory-droid[bot] and copilot[bot] do not appear in the history.

This is a lower bound on AI-assisted work. It counts only commits that carry an explicit bot identity in the author or a Co-authored-by trailer; human editors commonly use AI helpers without any attribution marker, so AI-assisted work is almost certainly more prevalent than the 2.8% figure suggests. Treat 2.8% as "commits that disclose a bot", not "commits written by bots".

Complexity

Average file size by directory

Average lines per source file (.ts/.tsx/.py, non-test) within each package's src/:

Directory Files Total lines Avg lines/file
packages/ai/src 51 34,190 670
packages/agent/src 5 2,395 479
packages/tui/src 32 14,927 466
packages/coding-agent/src 267 116,791 437
prime-agent-runtime/src 4 1,533 383
web/design/src 164 22,591 137
web/protocol/src 14 1,953 139
web/app/src 55 5,951 108
web/server/src 37 3,690 99

packages/ai/src is inflated by the generated models.generated.ts (20,577 lines); excluding it, the average drops to roughly 272 lines/file. The web/* packages are comparatively small files, matching their client-component structure.

Largest source files

Non-test source files, by line count (find packages web -name "*.ts" ... | wc -l | sort -rn):

Lines File
20,577 packages/ai/src/models.generated.ts (generated)
11,210 packages/coding-agent/src/core/agent-session.ts
9,798 packages/coding-agent/src/modes/interactive/interactive-mode.ts
6,811 packages/coding-agent/src/modes/daemon/daemon-mode.ts
4,872 packages/coding-agent/src/modes/daemon/daemon-supervisor.ts
2,942 packages/coding-agent/src/modes/agents-view/agents-view-mode.ts
2,527 packages/tui/src/components/editor.ts

The largest hand-written file is agent-session.ts at 11,210 lines; the largest test file is packages/coding-agent/test/daemon-mode.test.ts at 9,910 lines.

Test-to-code ratio per package

Source files (.ts/.tsx in src/, non-test) vs. test files (any .test.*/.spec.*/test_*.py in the package, excluding node_modules and dist):

Package Source files Test files Tests per source
packages/ai 51 71 1.39
packages/coding-agent 267 315 1.18
packages/tui 32 29 0.91
packages/agent 5 3 0.60
web/server 37 12 0.32
web/app 55 6 0.11
web/design 164 0 0.00
web/protocol 14 0 0.00

web/app's 6 test files are 5 unit tests under src/lib/pi plus 1 Playwright spec (playwright/smoke.spec.ts). prime-agent-runtime has 4 test files (test_*.py) against 4 source files. The packages/* npm packages carry the bulk of the test coverage; the web/design and web/protocol packages ship no tests.

Exported symbols per package

Top-level export statements in each package's src/ (grep -rh "^export " "$d/src" | wc -l):

Package Exports
packages/coding-agent 2,046
packages/ai 284
packages/tui 195
packages/agent 33

coding-agent dominates the public surface, consistent with its role as the backend consumed by the web adapter.

Clone this wiki locally