elastic / elastic/docs-builder

chore: Ponytail over-engineering audit — ~700 lines, 21 deps, 3 projects to cut

Open
#3,574 1 comment 0 reactions 0 assignees View on GitHub
chore Initiative 🚀 needs triage tech-debt
Dominant language
C#
Stars
24
Forks
44
Avg merge
1d 7h
Merged PRs (30d)
146

Description

## What

Full repo ponytail audit surfaced ~900 lines of removable code, 21 dead or replaceable dependencies, 56 dead asset files, and 3 micro-projects that add solution sprawl without boundary benefit.

All findings are verified (grepped for actual usage, not estimated). Re-audited 2026-07-07 — see the audit-refresh comment below for what changed.

## Subtasks

### C# / .NET
- [ ] #3569 — Remove single-implementation C# interfaces (~180 lines)
- [ ] #3570 — Replace hand-rolled code with BCL/stdlib equivalents (~170 lines, fixes one separator bug)
- [ ] #3571 — Simplify verbose C# code with LINQ and idiomatic patterns (~225 lines)
- [ ] #3572 — Delete dead C# code (~150 lines + 56 dead SVG files)
- [ ] #3566 — Remove unused NuGet packages (9 packages from `Directory.Packages.props`)
- [ ] #3573 — Consolidate micro-projects in `src/` (−3 projects)

### TypeScript / Frontend
- [ ] #3567 — Remove unused npm packages (uuid, tippy.js, moment, text-diff)
- [ ] #3568 — Replace npm deps with native browser APIs (ua-parser-js, @uidotdev/usehooks, lodash, select-dom, smooth-scroll.ts → CSS)

## Net reduction

| | Cut |
|--|--|
| C# lines | ~900 |
| Dead asset files | 56 token SVGs |
| NuGet packages | −9 packages, −3 projects |
| npm packages | −4 dead, −4 native replacements |

**~900 lines, −56 files, −13 NuGet deps, −7 npm deps, −3 projects possible.**

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.