-
Notifications
You must be signed in to change notification settings - Fork 0
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.
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]
- 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.
| Workspace | Packages | Count |
|---|---|---|
npm (packages/) |
ai, agent, tui, coding-agent
|
4 |
pnpm web (web/) |
app, server, design, protocol
|
4 |
| Python | prime-agent-runtime |
1 |
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.
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.
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 aregithub-actions[bot]anddependabot[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".
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.
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.
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.
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.